로그 검색 경고 규칙 만들기 또는 편집

이 문서에서는 새 로그 검색 경고 규칙을 만들거나 기존 로그 검색 경고 규칙을 편집하는 방법을 보여 줍니다. 경고에 대한 자세한 내용은 경고 개요를 참조하세요.

모니터링할 리소스, 리소스의 모니터링 데이터 및 경고를 트리거하려는 조건을 결합하여 경고 규칙을 만듭니다. 그런 다음, 작업 그룹경고 처리 규칙을 정의하여 경고가 트리거될 때 발생하는 작업을 결정할 수 있습니다.

이러한 경고 규칙에 의해 트리거된 경고에는 공통 경고 스키마를 사용하는 페이로드가 포함되어 있습니다.

Azure Portal에서 경고 규칙 마법사에 액세스

새 경고 규칙을 만들거나 편집할 수 있는 방법에는 여러 가지가 있습니다.

포털 홈페이지에서 경고 규칙 만들기 또는 편집

  1. 포털에서 모니터>경고를 선택합니다.

  2. + 만들기 메뉴를 열고 경고 규칙을 선택합니다.

    새 경고 규칙을 만드는 단계를 보여 주는 스크린샷

특정 리소스에서 경고 규칙 만들기 또는 편집

  1. 포털에서 리소스로 이동합니다.

  2. 왼쪽 창에서 경고을 선택한 다음 + 만들기>경고 규칙을 선택합니다.

    선택한 리소스에서 새 경고 규칙을 만드는 단계를 보여 주는 스크린샷.

기존 경고 규칙 편집

  1. 포털 홈페이지 또는 특정 리소스의 왼쪽 창에서 경고를 선택합니다.

  2. 경고 규칙을 선택합니다.

  3. 편집하려는 경고 규칙을 선택한 다음 편집을 선택합니다.

    기존 로그 검색 경고 규칙을 편집하는 단계를 보여 주는 스크린샷.

  4. 설정을 편집하려면 경고 규칙에 대한 탭을 선택합니다.

경고 규칙의 범위 구성

  1. 리소스 선택 창에서 경고 규칙의 범위를 설정합니다. 구독, 리소스 종류 또는 리소스 위치별로 필터링할 수 있습니다.

  2. 적용을 선택합니다.

    새 경고 규칙을 만들기 위한 리소스 선택 창을 보여 주는 스크린샷.

경고 규칙 조건 구성

  1. 조건 탭에서 신호 이름 필드를 선택할 때 사용자 지정 로그 검색을 선택하거나 해당 조건에 대해 다른 신호를 선택하려면 모든 신호 보기를 선택합니다.

  2. (선택 사항) 이전 단계에서 모든 신호 보기를 선택한 경우 신호 선택 창을 사용하여 신호 이름을 검색하거나 신호 목록을 필터링합니다. 필터 기준:

    • 신호 유형: 로그 검색을 선택합니다.
    • 신호 원본: "사용자 지정 로그 검색" 및 "로그(저장된 쿼리)" 신호를 제공하는 서비스입니다. 신호 이름적용을 선택합니다.
  3. 로그 창에서 경고를 만들려는 로그 이벤트를 반환하는 쿼리를 작성합니다. 미리 정의된 경고 규칙 쿼리 중 하나를 사용하려면 로그 창 왼쪽에 있는 스키마 및 필터 창을 확장합니다. 그런 다음 쿼리 탭을 선택하고 쿼리 중 하나를 선택합니다.

로그 검색 경고 규칙 쿼리에 대한 제한 사항:

  • 로그 검색 경고 규칙 쿼리는 'bag_unpack()', 'pivot()' 및 'narrow()' 플러그 인을 지원하지 않습니다.

  • "AggregatedValue"라는 단어는 예약어이므로 로그 검색 경고 규칙에 대한 쿼리에 사용할 수 없습니다.

  • 로그 경고 규칙 속성의 모든 데이터를 합친 크기는 64KB를 초과할 수 없습니다.

    새 로그 검색 경고 규칙을 만들 때 쿼리 창을 보여 주는 스크린샷.

  1. (선택 사항) ADX 또는 ARG 클러스터를 쿼리하는 경우 Log Analytics는 이벤트 타임스탬프가 있는 열을 자동으로 식별할 수 없습니다. 쿼리에 시간 범위 필터를 추가하는 것이 좋습니다. 예시:

        adx('https://help.kusto.windows.net/Samples').table    
        | where MyTS >= ago(5m) and MyTS <= now()
    
        arg("").Resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
        | project _ResourceId=tolower(id), tags
    

    새 로그 검색 경고 규칙을 만들 때 조건 탭을 보여 주는 스크린샷.

    ARG 또는 ADX를 쿼리하는 샘플 로그 검색 경고 쿼리는 로그 검색 경고 쿼리 샘플을 참조하세요.

    교차 쿼리 사용에 대한 제한 사항은 다음과 같습니다.

  2. 실행을 선택하여 경고를 실행합니다.

  3. 미리 보기 섹션에는 쿼리 결과가 표시됩니다. 쿼리 편집이 끝나면 편집 계속 경고를 선택합니다.

  4. 로그 쿼리가 채워진 상태로 조건 탭이 열립니다. 기본적으로 규칙은 지난 5분 동안의 결과 수를 계산합니다. 시스템에서 요약된 쿼리 결과가 검색되면 해당 정보로 규칙이 자동으로 업데이트됩니다.

  5. 측정 섹션에서 다음 필드에 대한 값을 선택합니다.

    새 로그 검색 경고 규칙을 만들 때 측정 탭을 보여 주는 스크린샷.

    필드 설명
    측정값 로그 검색 경고는 두 가지 항목을 측정할 수 있으며, 다양한 모니터링 시나리오에서 사용할 수 있습니다.
    테이블 행: 반환된 행 수를 사용하여 Windows 이벤트 로그, syslog, 애플리케이션 예외와 같은 이벤트를 처리할 수 있습니다.
    숫자 열 계산: 숫자 열을 기준으로 한 계산을 사용하여 원하는 수의 리소스를 포함할 수 있습니다. 예를 들어, CPU 백분율이 있습니다.
    집계 유형 집계 세분성을 사용하여 하나의 숫자 값으로 집계하기 위해 여러 레코드에서 수행되는 계산입니다. 예를 들어, 합계, 평균, 최솟값 또는 최대값입니다.
    집계 세분성 여러 레코드를 하나의 숫자 값으로 집계하는 간격입니다.
  6. (선택 사항) 차원으로 분할 섹션에서 차원을 사용하여 실행된 경고에 대한 컨텍스트를 제공할 수 있습니다.

    새 로그 검색 경고 규칙의 차원별 분할 섹션을 보여 주는 스크린샷.

    차원은 추가 데이터가 포함된 쿼리 결과의 열입니다. 차원을 사용하는 경우 경고 규칙은 쿼리 결과를 차원 값별로 그룹화하고 각 그룹의 결과를 별도로 평가합니다. 조건이 충족되면 규칙은 해당 그룹에 대해 경고를 발생시킵니다. 경고 페이로드에는 경고를 트리거한 조합이 포함됩니다.

    경고 규칙당 최대 6개의 차원을 적용할 수 있습니다. 차원은 문자열 또는 숫자 열만 될 수 있습니다. 숫자 또는 문자열 형식이 아닌 열을 차원으로 사용하려면 쿼리에서 해당 열을 문자열 또는 숫자 값으로 변환해야 합니다. 차원 값을 두 개 이상 선택하면 조합의 결과인 각 시계열이 자체 경고를 트리거하고 별도로 요금이 청구됩니다.

    예시:

    • 차원을 사용하여 웹 사이트나 앱을 실행하는 여러 인스턴스의 CPU 사용량을 모니터링할 수 있습니다. 각 인스턴스는 개별적으로 모니터링되며, CPU 사용량이 구성된 값을 초과하는 각 인스턴스에 대해 알림이 전송됩니다.
    • 범위 내 여러 리소스에 조건을 적용하려는 경우 차원별로 분할하지 않기로 결정할 수 있습니다. 예를 들어, 리소스 그룹 범위에 있는 최소 5대의 컴퓨터에서 구성된 값보다 CPU 사용량이 높은 경우 경고를 발생시키려는 경우 차원을 사용하지 않습니다.

    다음 필드에 대한 값을 선택합니다.

    • 리소스 ID 열: 일반적으로 경고 규칙 범위가 작업 영역인 경우 작업 영역에서 경고가 실행됩니다. 영향을 받는 각 Azure 리소스에 대해 별도의 경고를 원하는 경우 다음을 수행할 수 있습니다.
      • ARM Azure 리소스 ID 열을 차원으로 사용합니다. 이 옵션을 사용하면 Azure 리소스 ID 열을 차원으로 사용하여 작업 영역에서 경고가 실행됩니다.
      • 이를 Azure 리소스 ID 속성에서 차원으로 지정하면 쿼리에서 반환된 리소스가 경고 대상이 되므로 작업 영역이 아닌 가상 머신이나 스토리지 계정과 같이 쿼리에서 반환된 리소스에 대한 경고가 발생합니다. 이 옵션을 사용하면 작업 영역이 둘 이상의 구독에 있는 리소스에서 데이터를 가져오는 경우 경고 규칙 구독과 다른 구독의 리소스에 대해 경고가 트리거될 수 있습니다.
    필드 설명
    차원 이름 차원은 숫자 또는 문자열 열일 수 있습니다. 차원은 특정 시계열을 모니터링하고 발생한 경고에 대한 컨텍스트를 제공하는 데 사용됩니다.
    연산자 차원 이름 및 값에 사용되는 연산자입니다.
    차원 값 차원 값은 지난 48시간 동안의 데이터를 기준으로 합니다. 사용자 지정 값 추가를 선택하여 사용자 지정 차원 값을 추가합니다.
    모든 미래 값 포함 선택한 차원에 추가되는 향후 값을 포함하려면 이 필드를 선택합니다.
  7. 경고 논리 섹션에서 이러한 필드의 값을 선택합니다.

    새 로그 검색 경고 규칙의 경고 논리 섹션을 보여 주는 스크린샷.

    필드 설명
    Operator 쿼리 결과는 숫자로 변환됩니다. 이 필드에서 임계값과 숫자를 비교하는 데 사용할 연산자를 선택합니다.
    임계값 임계값에 대한 숫자 값입니다.
    평가 빈도 쿼리가 실행되는 빈도입니다. 1분~1일(24시간) 범위로 설정할 수 있습니다.

    참고 항목

    1분 경고 규칙 빈도를 사용할 때 몇 가지 제한 사항이 있습니다. 경고 규칙의 빈도를 1분으로 설정 시에 쿼리 최적화를 위한 내부 조작을 수행합니다. 해당 조작에 지원되지 않는 작업이 포함된 경우에는 쿼리가 실패할 수 있습니다. 다음은 쿼리가 지원되지 않는 가장 일반적인 이유입니다.

    • 쿼리에 search, union * 또는 take (limit) 작업이 포함됩니다.
    • 쿼리에 ingestion_time() 함수가 포함되어 있습니다.
    • 쿼리는 adx 패턴을 사용합니다.
    • 쿼리는 다른 테이블을 호출하는 함수를 호출합니다.

    ARG 또는 ADX를 쿼리하는 샘플 로그 검색 경고 쿼리는 로그 검색 경고 쿼리 샘플을 참조하세요.

  8. (선택 사항) 고급 옵션 섹션에서 경고를 트리거하는 데 필요한 오류 수 및 경고 평가 기간을 지정할 수 있습니다. 예를 들어 집계 세분성을 5분으로 설정하는 경우 마지막 1시간 동안 세 번의 오류(15분)가 발생한 경우에만 경고를 트리거하도록 지정할 수 있습니다. 애플리케이션 비즈니스 정책이 이 설정을 결정합니다.

    새 로그 검색 경고 규칙의 고급 옵션 섹션을 보여 주는 스크린샷.

    경고를 트리거할 위반 횟수에서 이러한 필드에 대한 값을 선택합니다.

    필드 설명
    위반 수 경고를 트리거한 위반 수입니다.
    평가 기간 위반 수가 발생한 기간입니다.
    쿼리 시간 범위 재정의 경고 평가 기간을 쿼리 시간 범위와 다르게 하려면 여기에 시간 범위를 입력합니다.
    경고 시간 범위는 최대 2일로 제한됩니다. 쿼리에 시간 범위가 2일보다 긴 ago 명령이 포함되어 있어도 2일의 최대 시간 범위가 적용됩니다. 예를 들어 쿼리 텍스트에 ago(7d)가 포함되어 있더라도 쿼리는 최대 2일의 데이터만 검색합니다. 쿼리에 경고 평가보다 더 많은 데이터가 필요한 경우 시간 범위를 수동으로 변경할 수 있습니다. 쿼리에 ago 명령이 포함된 경우 자동으로 2일(48시간)으로 변경됩니다.

    참고 항목

    사용자 또는 사용자의 관리자가 Azure Policy Log Analytics 작업 영역에 대한 Azure 로그 검색 경고는 고객 관리형 키를 사용해야 함을 할당한 경우 연결된 작업 영역 확인을 선택해야 합니다. 그렇지 않으면 정책 요구 사항을 충족하지 않기 때문에 규칙 만들기가 실패합니다.

  9. 미리 보기 차트에는 시간에 따른 쿼리 평가 결과가 표시됩니다. 차트 기간을 변경하거나 차원별로 고유한 경고 분할로 인해 발생한 다른 시계열을 선택할 수 있습니다.

    새 경고 규칙의 미리 보기를 보여 주는 스크린샷.

  10. 완료를 선택합니다. 이 시점부터 언제든지 검토 + 만들기 단추를 선택할 수 있습니다.

경고 규칙 작업 구성

  1. 작업 탭에서 필요한 작업 그룹을 선택하거나 만듭니다.

    새 경고 규칙을 만들 때 Actions 탭을 보여 주는 스크린샷

경고 규칙 세부 정보 구성

  1. 세부 정보 탭에서 프로젝트 세부 정보를 정의합니다.

    • 구독을 선택합니다.
    • 리소스 그룹을 선택합니다.
  2. 경고 규칙 세부 정보를 정의합니다.

    새 로그 검색 경고 규칙을 만들 때 세부 정보 탭을 보여 주는 스크린샷.

    1. 심각도를 선택합니다.

    2. 경고 규칙 이름경고 규칙 설명 값을 입력합니다.

      참고 항목

      ID를 사용하는 규칙에는 경고 규칙 이름에 ";" 문자를 사용할 수 없습니다.

    3. 지역을 선택합니다.

    4. ID 섹션에서 로그 검색 경고 규칙이 로그 검색를 보내는 데 사용하는 ID를 선택합니다. 이 ID는 경고 규칙이 로그 쿼리를 실행할 때 인증에 사용됩니다.

      ID를 선택할 때 다음 사항에 유의해야 합니다.

      • ADX(Azure Data Explorer) 또는 ARG(Azure Resource Graph)에 쿼리를 보내는 경우 관리 ID가 필요합니다.
      • 경고 규칙과 연결된 권한을 보거나 편집할 수 있으려면 관리 ID를 사용합니다.
      • 관리 ID를 사용하지 않는 경우 경고 규칙 권한은 규칙을 마지막으로 편집한 시점에 규칙을 편집할 수 있는 마지막 사용자의 권한을 기반으로 합니다.
      • 관리 ID를 사용하면 규칙을 마지막으로 편집한 사용자에게 규칙 범위에 추가된 모든 리소스에 대한 권한이 없기 때문에 규칙이 예상대로 작동하지 않는 경우를 방지할 수 있습니다.

      규칙과 연결된 ID에는 다음 역할이 있어야 합니다.

      • 쿼리가 Log Analytics 작업 영역에 액세스하는 경우 쿼리로 액세스하는 모든 작업 영역에 대한 읽기 권한자 역할을 ID에 할당해야 합니다. 리소스 중심 로그 검색 경고를 만드는 경우 경고 규칙은 여러 작업 영역에 액세스할 수 있으며 ID에는 모든 작업 영역에 대한 읽기 권한자 역할이 있어야 합니다.
      • ADX 또는 ARG 클러스터를 쿼리하는 경우 쿼리로 액세스하는 모든 데이터 원본에 대한 읽기 권한자 역할 을 추가해야 합니다. 예를 들어 쿼리가 리소스 중심인 경우 해당 리소스에 대한 읽기 권한자 역할이 필요합니다.
      • 쿼리가 원격 Azure Data Explorer 클러스터에 액세스하는 경우 ID를 할당해야 합니다.
        • 쿼리로 액세스하는 모든 데이터 원본에 대한 읽기 권한자 역할 예를 들어, 쿼리가 adx() 함수를 사용하여 원격 Azure Data Explorer 클러스터를 호출하는 경우 해당 ADX 클러스터에 대한 읽기 권한자 역할이 필요합니다.
        • 쿼리가 액세스하는 모든 데이터베이스에 대한 데이터베이스 뷰어입니다.

      관리 ID에 대한 자세한 내용은 Azure 리소스에 대한 관리 ID를 참조하세요.

      경고 규칙에 사용되는 ID에 대해 다음 옵션 중 하나를 선택합니다.

      ID 설명
      None 경고 규칙 권한은 규칙이 편집된 당시 규칙을 편집한 마지막 사용자의 권한을 기반으로 합니다.
      시스템 할당 관리 ID Azure는 이 경고 규칙에 대한 새로운 전용 ID를 만듭니다. 이 ID에는 권한이 없으며 규칙이 삭제되면 자동으로 삭제됩니다. 규칙을 만든 후 쿼리에 필요한 작업 영역 및 데이터 원본에 액세스하려면 이 ID에 권한을 할당해야 합니다. 권한 할당에 대한 자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.
      사용자가 할당한 관리 ID 경고 규칙을 만들기 전에 ID를 만들고 로그 쿼리에 대한 적절한 권한을 할당합니다. 이는 일반 Azure ID입니다. 여러 경고 규칙에서 하나의 ID를 사용할 수 있습니다. 규칙이 삭제되어도 ID는 삭제되지 않습니다. 이 형식의 ID를 선택하면 규칙에 연결된 ID를 선택할 수 있는 창이 열립니다.
  3. (선택 사항) 고급 옵션 섹션에서 여러 옵션을 설정할 수 있습니다.

    필드 설명
    만들어지면 바로 사용 경고 규칙 만들기가 완료되는 즉시 실행을 시작하려면 선택합니다.
    경고 자동 해결(미리 보기) 경고를 상태 저장으로 만들려면 선택합니다. 경고가 상태 저장인 경우 특정 시간 범위 동안 조건이 더 이상 충족되지 않으면 경고가 해결됩니다. 시간 범위는 경고 빈도에 따라 다릅니다.
    1분: 경고 조건이 10분 동안 충족되지 않습니다.
    5-15분: 경고 조건이 3번의 빈도 기간 동안 충족되지 않습니다.
    15분 - 11시간: 경고 조건이 2번의 빈도 기간 동안 충족되지 않습니다.
    11-12시간: 경고 조건이 1번의 빈도 기간 동안 충족되지 않습니다.

    상태 저장 로그 검색 경고에는 다음과 같은 제한 사항이 있습니다.
    - 평가당 최대 300개의 경고를 트리거할 수 있습니다.
    - fired 경고 조건을 사용하여 최대 5,000개의 경고를 유지할 수 있습니다.
    작업 음소거 경고 작업이 다시 트리거되기 전에 대기할 시간을 설정하려면 선택합니다. 이 확인란을 선택하면 작업 음소거 필드가 나타나 경고가 발생한 후 작업을 다시 트리거하기 전에 대기할 시간을 선택합니다.
    작업 영역 연결된 스토리지 확인 경고에 대한 로그 작업 영역 연결 스토리지가 구성된 경우 선택합니다. 연결된 스토리지가 구성되어 있지 않으면 규칙이 만들어지지 않습니다.
  4. (선택 사항) 사용자 지정 속성 섹션에서 이 경고 규칙에 작업 그룹이 포함된 경우 경고 알림 페이로드에 포함할 고유한 속성을 추가할 수 있습니다. 웹후크, Azure 함수 또는 논리 앱 작업과 같이 작업 그룹에서 호출하는 작업에서 이러한 속성을 사용할 수 있습니다.

    사용자 지정 속성은 정적 텍스트, 경고 페이로드에서 추출된 동적 값 또는 둘의 조합을 사용하여 키:값 쌍으로 지정됩니다.

    경고 페이로드에서 동적 값을 추출하는 형식은 ${<path to schema field>}입니다. 예: ${data.essentials.monitorCondition}.

    경고 규칙에 구성된 작업 그룹이 공통 스키마를 사용하는지 여부에 관계없이 페이로드의 필드를 지정하려면 공통 경고 스키마 형식을 사용합니다.

    참고 항목

    • 공통 스키마는 사용자 지정 구성을 덮어씁니다. 사용자 지정 속성과 공통 스키마를 둘 다 사용할 수는 없습니다.
    • 사용자 지정 속성은 경고의 페이로드에 추가되지만 메일 템플릿이나 Azure Portal의 경고 세부 정보에는 표시되지 않습니다.
    • Service Health 경고는 사용자 지정 속성을 지원하지 않습니다.

    새 경고 규칙을 만드는 사용자 지정 속성 섹션을 보여 주는 스크린샷.

    다음 예에서는 사용자 지정 속성의 값을 사용하여 공통 경고 스키마를 사용하는 페이로드의 데이터를 활용합니다.

    예제 1

    이 예에서는 "기간 시작 시간" 및 "기간 종료 시간"에 관한 데이터가 포함된 "추가 세부 정보" 태그를 만듭니다.

    • 이름: "Additional Details"
    • 값: "Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}"
    • 결과: "AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z"

    예 2 이 예에서는 경고를 해결하거나 실행한 이유에 관한 데이터를 추가합니다.

    • 이름: "Alert ${data.essentials.monitorCondition} reason"
    • 값: "${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. 값은 ${data.alertContext.condition.allOf[0].metricValue}"입니다.
    • 결과: 결과 예는 다음과 같습니다.
      • "Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585"
      • "Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585"

경고 규칙 태그 구성

  1. 태그 탭에서 경고 규칙 리소스에 필요한 태그를 설정합니다.

    새 경고 규칙을 만들 때 태그 탭을 보여 주는 스크린샷.

경고 규칙 검토 및 만들기

  1. 검토 + 만들기 탭에서 규칙의 유효성이 검사되고 모든 문제에 대해 알려 줍니다.

  2. 유효성 검사를 통과하고 설정을 검토했으면 만들기 단추를 선택합니다.

    새 경고 규칙을 만들 때 검토 및 만들기 탭을 보여 주는 스크린샷.

다음 단계