Azure에서 SQL Server의 CPU 상태 경고 만들기
예상 소요 시간: 20분
데이터베이스 관리의 일상적인 업무를 자동화하는 데 도움을 주는 선임 데이터 엔지니어로 고용되었습니다. 이 자동화에서는 AdventureWorks용 데이터베이스가 최고 성능으로 계속 작동하고 특정 조건에 따라 경고하는 메서드를 제공하도록 지원합니다.
📝 이러한 연습에서는 T-SQL 코드를 복사하여 붙여넣고 기존 SQL 리소스를 활용하도록 요청합니다. 코드를 실행하기 전에 코드를 올바르게 복사했는지 확인하세요.
환경을 설정합니다.
랩 가상 머신이 제공되고 미리 구성된 경우 C:\LabFiles 폴더에서 랩 파일을 준비해야 합니다. 파일이 이미 있는지 잠시 확인하려면 이 섹션을 건너뜁니다. 그러나 사용자 개인의 컴퓨터를 사용 중이거나 랩 파일이 없는 경우 계속하려면 GitHub에서 복제해야 합니다.
-
랩 가상 머신 또는 로컬 컴퓨터에 제공되지 않은 경우 Visual Studio Code 세션을 시작합니다.
-
명령 팔레트(Ctrl+Shift+P)를 열고 Git: Clone을 입력합니다. Git: Clone 옵션을 선택합니다.
-
다음 URL을 리포지토리 URL 필드에 붙여넣고 Enter 키를 선택합니다.
https://github.com/MicrosoftLearning/dp-300-database-administrator.git
-
랩 가상 머신 또는 로컬 컴퓨터가 제공되지 않은 경우 C:\LabFiles 폴더에 저장합니다(없는 경우 폴더 만들기).
Azure에서 SQL Server 설정
Azure에 로그인하고 Azure에서 실행 중인 기존 Azure SQL Server 인스턴스가 있는지 확인합니다. Azure에서 실행 중인 SQL Server 인스턴스가 이미 있는 경우 이 섹션을 건너뜁니다.
-
랩 가상 머신 또는 로컬 컴퓨터가 제공되지 않은 경우 Visual Studio Code 세션을 시작하고 이전 섹션에서 복제된 리포지토리로 이동합니다.
-
/Allfiles/Labs 폴더를 마우스 오른쪽 단추로 클릭하고 통합 터미널에서 열기를 선택합니다.
-
Azure CLI를 사용하여 Azure에 연결해 보겠습니다. 다음 명령을 입력하고 Enter 키를 선택합니다.
az login
📝 브라우저 창이 열립니다. Azure 자격 증명을 사용하여 로그인합니다.
-
Azure에 로그인한 후에는 리소스 그룹이 아직 없는 경우 리소스 그룹을 만들고 해당 리소스 그룹 아래에 SQL Server 및 데이터베이스를 만듭니다. 다음 명령을 입력하고 Enter 키를 선택합니다. 스크립트를 완료하는 데 몇 분 정도 걸립니다.
cd ./Setup ./deploy-sql-database.ps1
📝 기본적으로 이 스크립트는 contoso-rg라는 리소스 그룹을 만들거나, 있는 경우 contoso-rg로 시작하는 리소스를 사용합니다. 기본적으로 미국 서부 2 지역(westus2)에도 모든 리소스가 만들어집니다. 마지막으로 SQL 관리자 암호에 대한 임의의 12자 암호를 생성합니다. 이러한 값은 고유 값으로 -rgName, -location 및 -sqlAdminPw 매개 변수 중 하나 이상을 사용하여 변경할 수 있습니다. 암호는 12자 이상의 Azure SQL 암호 복잡성 요구 사항을 충족해야 하며 대문자 1개, 소문자 1개, 숫자 1개, 특수 문자 1개 이상을 포함해야 합니다.
📝 스크립트는 SQL Server 방화벽 규칙에 현재 공용 IP 주소를 추가합니다.
-
스크립트가 완료되면 리소스 그룹 이름, SQL Server 이름 및 데이터베이스 이름, 관리자 사용자 이름 및 암호를 반환합니다. 이러한 값은 랩의 뒷부분에서 필요하므로 기록해 두십시오.
CPU가 80%의 평균을 초과하는 경우 경고 생성
-
랩 가상 머신 또는 로컬 컴퓨터가 제공되지 않은 경우 브라우저 세션을 시작하고 https://portal.azure.com으로 이동합니다. Azure 자격 증명을 사용하여 Portal에 연결합니다.
-
Azure Portal에서 Azure Portal 상단의 검색 상자에 SQL Database를 입력하고 SQL Database를 선택합니다. 나열된 AdventureWorksLT 데이터베이스 이름을 선택합니다.
-
AdventureWorksLT 데이터베이스의 기본 블레이드에서 모니터링 섹션으로 아래로 이동합니다. 경고를 선택합니다.
-
경고 규칙 만들기를 선택합니다.
-
경고 규칙 만들기 페이지에서 CPU 비율을 선택합니다.
-
경고 논리 섹션에서 임계값 유형으로 정적을 선택합니다. 그런 다음 집계 형식이 평균이고 값 속성이 보다 큼인지 확인합니다. 그런 다음 임계값에 값 80을 입력합니다. 모든 검사 및 조회 기간 값을 검토합니다.
-
다음: 작업 > 을 선택합니다.
-
작업 탭에서 작업 그룹 만들기를 선택합니다.
-
작업 그룹 화면에서 작업 그룹 이름 및 표시 이름 필드에 emailgroup을 입력한 후 다음: 알림을 선택합니다.
-
알림 탭에서 다음 정보를 입력합니다.
-
알림 유형: 메일/SMS 메시지/푸시/음성
📝 이 옵션을 선택하면 메일/SMS 메시지/푸시/음성 플라이아웃이 표시됩니다. 메일 속성을 확인하고 로그인할 때 사용한 Azure 사용자 이름을 입력합니다. 확인을 선택합니다.
-
이름: DemoLab
-
-
검토 + 생성를 선택한 다음, 생성를 선택합니다.
-
경고 규칙 만들기 페이지로 돌아가서 다음: 세부 정보를 선택하고 경고 규칙에 고유한 이름을 지정합니다.
-
검토 + 생성를 선택한 다음, 생성를 선택합니다.
-
경고가 설정되어 있는데 평균 CPU 사용량이 80%를 초과하면 이와 같은 메일이 전송됩니다.
리소스 정리
다른 용도로 Azure SQL Server를 사용하지 않는 경우 이 랩에서 만든 리소스를 정리할 수 있습니다.
리소스 그룹 삭제
이 랩에 대한 새 리소스 그룹을 만든 경우 리소스 그룹을 삭제하여 이 랩에서 만든 모든 리소스를 제거할 수 있습니다.
-
Azure Portal의 왼쪽 탐색 창에서 리소스 그룹을 선택하거나 검색 창에서 리소스 그룹을 검색하고 결과에서 선택합니다.
-
이 랩을 위해 만든 리소스 그룹으로 이동합니다. 리소스 그룹에는 Azure SQL Server 및 이 랩에서 만든 기타 리소스가 포함됩니다.
-
위쪽 메뉴에서 리소스 그룹 삭제를 선택합니다.
-
리소스 그룹 삭제 대화 상자에서 확인할 리소스 그룹의 이름을 입력한 다음 삭제를 선택합니다.
-
리소스 그룹이 삭제될 때까지 기다립니다.
-
Azure Portal을 닫습니다.
랩 리소스만 삭제합니다.
이 랩에 대한 새 리소스 그룹을 만들지 않았고 리소스 그룹과 이전 리소스를 그대로 유지하려는 경우 이 랩에서 만든 리소스를 계속 삭제할 수 있습니다.
-
Azure Portal의 왼쪽 탐색 창에서 리소스 그룹을 선택하거나 검색 창에서 리소스 그룹을 검색하고 결과에서 선택합니다.
-
이 랩을 위해 만든 리소스 그룹으로 이동합니다. 리소스 그룹에는 Azure SQL Server 및 이 랩에서 만든 기타 리소스가 포함됩니다.
-
랩에서 이전에 지정한 SQL Server 이름이 접두사로 지정된 모든 리소스를 선택합니다.
-
위쪽 메뉴에서 삭제를 선택합니다.
-
리소스 삭제 대화 상자에서 삭제를 입력하고 삭제를 선택합니다.
-
리소스 삭제를 확인하려면 삭제를 다시 선택합니다.
-
리소스가 삭제될 때까지 기다립니다.
-
Azure Portal을 닫습니다.
이 랩을 성공적으로 완료하셨습니다.
일부 메트릭(예: 데이터베이스 크기 또는 CPU 사용량)이 정의한 임계값에 도달하면 경고에서 메일을 보내거나 webhook를 호출할 수 있습니다. 지금까지 Azure SQL 데이터베이스의 경고를 쉽게 구성하는 방법을 살펴보았습니다.