Azure Monitor를 사용하여 Azure Cosmos DB에 대한 경고 만들기
적용 대상: NoSQL MongoDB Cassandra Gremlin 테이블
경고는 Azure Cosmos DB 리소스의 가용성 및 응답성을 모니터링하는 반복 테스트를 설정하는 데 사용됩니다. 경고는 이메일 형식으로 알림을 보내거나 메트릭 중 하나가 임계값에 도달하거나 특정 이벤트가 활동 로그에 기록될 때 Azure Function을 실행할 수 있습니다.
Azure Cosmos DB 계정의 메트릭, 활동 로그 이벤트 또는 Log Analytics 로그를 기반으로 경고를 받을 수 있습니다.
메트릭 - 이 경고는 특정 메트릭의 값이 사용자가 할당한 임계값을 초과했을 때 트리거됩니다. 예를 들어, 소비된 총 요청 단위가 1000RU/s를 초과하는 경우입니다. 조건에 처음 부합했을 때와, 조건에 더 이상 부합하지 않게 되었을 때 모두 경고가 트리거됩니다. Azure Cosmos DB 사용할 수 있는 다양한 메트릭은 모니터링 데이터 참조 문서를 참조하세요.
활동 로그 이벤트 – 이 경고는 특정 이벤트가 발생할 때 트리거됩니다. 예를 들어 Azure Cosmos DB 계정의 키에 액세스하거나 새로 고치는 경우입니다.
Log Analytics 이 경고는 Log Analytics 쿼리 결과의 지정된 속성 값이 할당한 임계값을 초과할 때 트리거됩니다. 예를 들어 Log Analytics 쿼리를 작성하여 Azure Cosmos DB에서 논리 파티션 키의 스토리지가 20GB 논리 파티션 키 저장 한도에 도달하는지 모니터링할 수 있습니다.
Azure Cosmos DB 창 또는 Azure Portal Azure Monitor 서비스에서 경고를 설정할 수 있습니다. 두 인터페이스 모두 동일한 옵션을 제공합니다. 이 문서는 Azure Monitor를 사용하여 Azure Cosmos DB에 대한 경고를 설정하는 방법을 보여줍니다.
경고 규칙 만들기
이 섹션에서는 요청 속도가 제한될 때 수신되는 HTTP 상태 코드 429를 수신할 때 경고를 만드는 방법을 보여줍니다. 예를 들어 속도가 제한된 요청이 100개 이상인 경우 경고를 받을 수 있습니다. 이 문서에서는 HTTP 상태 코드를 사용하여 이러한 시나리오에 대한 경고를 구성하는 방법을 보여줍니다. 비슷한 단계를 사용하여 다른 유형의 경고도 구성할 수 있습니다. 요구 사항에 따라 다른 조건을 선택하기만 하면 됩니다.
팁
여기에서 설명을 위해 임계값을 초과하는 429의 수를 기반으로 한 경고 시나리오를 사용합니다. 데이터베이스 또는 컨테이너에서 429가 나타나는 것이 본질적으로 잘못된 것이 있다는 의미는 아닙니다. 일반적으로 프로덕션 워크로드에서 요청의 1~5%가 429로 표시되고 전체 애플리케이션 대기 시간이 요구 사항 내에 있으면 프로비저닝한 처리량(RU/s)을 완전히 사용하고 있다는 정상적이고 정상적인 신호입니다. 429 예외를 해석하고 디버그하는 방법에 대해 자세히 알아봅니다.
Azure Portal에 로그인합니다.
왼쪽 탐색 모음에서 모니터를 선택하고 경고를 선택합니다.
새 경고 규칙 단추를 선택하여 규칙 만들기 페이지를 엽니다.
범위 섹션을 작성합니다.
리소스 선택 창을 열고 다음을 구성합니다.
구독 이름을 선택합니다.
리소스 종류에 대한 Azure Cosmos DB 계정을 선택합니다.
Azure Cosmos DB 계정의 위치입니다.
세부 정보를 입력한 후에는 선택한 범위의 Azure Cosmos DB 계정 목록이 표시됩니다. 경고를 구성하려는 항목을 선택하고 완료를 선택합니다.
조건 섹션을 입력합니다.
조건 선택 창을 열어 신호 선택 페이지를 열고 다음을 구성합니다.
신호를 선택합니다. 신호 유형은 메트릭, 활동 로그 또는 로그(Log Analytics)일 수 있습니다. 총 요청 단위 메트릭에 비율 제한이 발생할 때 경고를 받으려면 이 시나리오에 대해 메트릭을 선택합니다.
모니터 서비스에 대해 모두를 선택
신호 이름 선택. HTTP 상태 코드에 대한 경고를 가져오려면 총 요청 단위 신호를 선택합니다.
이제 경고를 트리거하는 논리를 정의하고 차트를 사용하여 Azure Cosmos DB 계정의 추세를 볼 수 있습니다. 총 요청 단위 메트릭은 차원을 지원합니다. 이러한 차원을 사용하여 메트릭을 필터링 할 수 있습니다. 예를 들어 차원을 사용하여 모니터링하려는 특정 데이터베이스 또는 컨테이너로 필터링할 수 있습니다. 차원이 선택되지 않은 경우 이 값은 무시됩니다.
차원 이름으로 StatusCode를 선택합니다. 사용자 지정 값 추가를 선택하고 상태 코드를 429로 설정합니다.
경고 논리에서 임계값을 고정으로 설정합니다. 정적 임계값은 사용자 정의 임계값을 사용하여 규칙을 평가하는 반면 동적 임계값은 기본 기계 학습 알고리즘을 사용하여 메트릭 동작 패턴을 지속적으로 학습하고 임계값을 자동으로 계산합니다.
연산자를 보다 큼으로, 집계 유형을 총계로, 임계값을 100으로 설정합니다. 이 논리를 사용하면 클라이언트에 429 상태 코드가 있는 100개 이상의 요청이 표시되면 경고가 트리거됩니다. 또한 요구 사항에 따라 집계 유형, 집계 세분성 및 평가 빈도를 구성할 수 있습니다.
양식을 작성한 후 완료를 선택합니다. 다음 스크린샷은 경고 논리의 세부 정보를 보여줍니다.
작업 그룹 섹션을 작성합니다.
규칙 만들기에서 기존 작업 그룹을 선택하거나 새 그룹을 만듭니다. 작업 그룹을 사용하면 경고 조건이 발생할 때 수행할 작업을 정의할 수 있습니다. 이 예제에서는 경고가 트리거될 때 이메일 알림을 받을 새 작업 그룹을 만듭니다. 작업 그룹 추가 창을 열고 다음 세부 정보를 입력합니다.
작업 그룹 이름 - 작업 그룹 이름은 리소스 그룹 내에서 고유해야 합니다.
약식 이름 - 작업 그룹의 짧은 이름입니다. 이 값은 알림의 원본인 작업 그룹을 식별하기 위해 이메일 및 SMS 알림에 포함됩니다.
이 작업 그룹을 만들 구독 및 리소스 그룹을 선택합니다.
작업 이름을 입력하고 작업 유형으로 이메일/SMS 메시지/푸시/음성을 선택합니다. 다음 스크린샷은 경고 유형의 세부 정보를 보여줍니다.
경고 규칙 세부 정보 섹션을 작성합니다.
- 규칙의 이름을 정의하고, 선택적 설명, 경고의 심각도 수준을 제공하고, 규칙을 만들 때 규칙을 사용하도록 설정할지 여부를 선택한 다음, 규칙 경고 만들기를 선택하여 메트릭 규칙 경고를 만듭니다.
경고를 만든 후 10분 이내에 활성화됩니다.
일반적인 경고 시나리오
경고를 사용할 수 있는 몇 가지 시나리오는 다음과 같습니다.
- Azure Cosmos DB 계정의 키가 업데이트되는 경우
- 컨테이너, 데이터베이스 또는 영역의 데이터 또는 인덱스 사용이 특정 바이트 수를 초과하는 경우.
- 논리 파티션 키의 스토리지가 Azure Cosmos DB 20GB 논리 파티션 저장 한도에 도달하는 경우.
- 정규화된 RU/s 소비가 특정 비율 보다 큰 경우. 정규화된 RU 소비 메트릭은 복제본 집합 내의 최대 처리량 사용률을 제공합니다. 자세한 내용은 RU/s를 모니터링하는 방법 문서를 참조하세요.
- 영역을 추가하거나 제거하거나 오프라인으로 전환하는 경우.
- 데이터베이스나 컨테이너를 만들거나 삭제하거나 업데이트하는 경우.
- 데이터베이스 또는 컨테이너의 처리량이 변경된 경우.
다음 단계
- Azure Cosmos DB 컨테이너에서 정규화된 RU/s 메트릭을 모니터링하는 방법
- Azure Cosmos DB에서 작업의 처리량 또는 요청 단위 사용을 모니터링하는 방법입니다.