다음을 통해 공유


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

이 문서에서는 Azure Monitor에서 새 로그 검색 경고 규칙을 만들거나 기존 로그 검색 경고 규칙을 편집하는 방법을 보여줍니다. To learn more about alerts, see the alerts overview.

경고 규칙은 모니터링할 리소스, 리소스의 모니터링 데이터 및 경고를 트리거하려는 조건을 결합합니다. You can then define action groups and alert processing rules to determine what happens when an alert is triggered.

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

Prerequisites

경고 규칙을 만들거나 편집하려면 다음 권한이 있어야 합니다.

  • 경고 규칙의 대상 리소스에 대한 읽기 권한.
  • 경고 규칙이 만들어지는 리소스 그룹에 대한 쓰기 권한. Azure Portal에서 경고 규칙을 만드는 경우 경고 규칙은 기본적으로 대상 리소스가 있는 동일한 리소스 그룹에 만들어집니다.
  • 경고 규칙에 연결된 모든 작업 그룹에 대한 읽기 권한(해당하는 경우).

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

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

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

  1. In the Azure portal, select Monitor.
  2. On the left pane, select Alerts.
  3. Select + Create>Alert rule.

포털 홈페이지에서 경고 규칙을 만드는 단계를 보여주는 스크린샷.

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

  1. In the Azure portal, go to the resource.
  2. On the left pane, select Alerts.
  3. Select + Create>Alert rule.
  4. 경고 규칙의 범위는 선택한 리소스로 설정됩니다. 경고 규칙의 조건을 계속 설정합니다.

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

기존 경고 규칙 편집

  1. In the Azure portal, either from the home page or from a specific resource, select Alerts on the left pane.

  2. Select Alert rules.

  3. Select the alert rule that you want to edit, and then select Edit.

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

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

경고 규칙의 범위 구성

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

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

  2. Select Apply.

경고 규칙 조건 구성

  1. On the Condition tab, when you select the Signal name field, select Custom log search. 또는 조건에 다른 신호를 선택하려면 모든 신호 보기를 선택합니다.

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

    • Signal type: Select Log search.
    • Signal source: The service that sends the Custom log search and Log (saved query) signals. Select the signal name, and then select Apply.
  3. On the Logs pane, write a query that returns the log events for which you want to create an alert. 미리 정의된 경고 규칙 쿼리 중 하나를 사용하려면 로그 창 옆에 있는 스키마 및 필터 창을 확장합니다. Then select the Queries tab, and select one of the queries.

    로그 검색 경고 규칙 쿼리에 대한 다음 제한 사항에 유의하세요.

    • 로그 검색 경고 규칙 쿼리는 bag_unpack(), pivot()narrow()를 지원하지 않습니다.
    • Log search alert rule queries support ago() with timespan literals only.
    • AggregatedValue는 예약어입니다. 로그 검색 경고 규칙의 쿼리에서는 사용할 수 없습니다.
    • 로그 검색 경고 규칙 속성의 모든 데이터를 합친 크기는 64KB를 초과할 수 없습니다.
    • 로그 검색 경고에 대한 KQL 쿼리에 사용자 지정 함수를 정의할 때는 상대 시간 절(예: now())을 포함하는 함수 코드에 주의해야 합니다. 로그 검색 경고 KQL 쿼리 자체 내에 정의되지 않은 상대 시간 절이 있는 사용자 지정 함수로 인해 쿼리 결과에 불일치가 발생할 수 있으며, 이는 경고 평가의 정확도 및 안정성에 영향을 미칠 수 있습니다. Therefore:
      • 정확하고 시기 적절한 경고를 보장하려면 항상 로그 검색 경고 KQL 쿼리 내에서 직접 상대 시간 절을 정의합니다.
      • 함수 내에 시간 범위가 필요한 경우, 이러한 범위는 매개 변수로 전달하고 함수에서 매개 변수로서 사용되어야 합니다.

    새 로그 검색 경고 규칙을 만드는 동안의 쿼리 창을 보여주는 스크린샷.

  4. (선택 사항) Azure Data Explorer 또는 Azure Resource Graph 클러스터를 쿼리하는 경우 Log Analytics 작업 영역은 이벤트 타임스탬프가 있는 열을 자동으로 식별할 수 없습니다. 쿼리에 시간 범위 필터를 추가하는 것이 좋습니다. For example:

        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
    

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

    Note

    • 로그 검색 경고에서 Azure 리소스 그래프 쿼리를 사용하는 경우 관리 ID를 사용해야 합니다.
    • 각 관리 ID는 Azure 리소스 그래프 쿼리를 사용하여 최대 50개의 로그 검색 경고 규칙을 지원합니다.
    • 적절한 기능을 유지하려면 경고 구성이 이 제한을 초과하지 않는지 확인합니다.

    샘플 로그 검색 경고 쿼리는 Azure Data Explorer와 Resource Graph에 사용할 수 있습니다.

    정부 클라우드에서는 서비스 간 쿼리가 지원되지 않습니다. 제한 사항에 대한 자세한 내용은 서비스 간 쿼리 제한Azure Resource Graph 테이블을 Log Analytics 작업 영역과 결합을 참조하세요.

  5. Select Run to run the alert.

  6. The Preview section shows you the query results. 쿼리 편집이 끝나면 경고 편집 계속을 선택합니다.

  7. The Condition tab opens and is populated with your log query. 기본적으로 규칙은 지난 5분 동안의 결과 수를 계산합니다. 시스템에서 요약된 쿼리 결과가 검색되면 해당 정보로 규칙이 자동으로 업데이트됩니다.

  8. In the Measurement section, select values for these fields:

    Field Description
    Measure 로그 검색 경고는 다양한 모니터링 시나리오에 사용할 수 있는 두 가지를 측정할 수 있습니다.
    Table rows: You can use the number of returned rows to work with events such as Windows event logs, Syslog, and application exceptions.
    숫자 열 계산: 숫자 열에 기반한 계산을 사용하여 원하는 수의 리소스를 포함할 수 있습니다. 예를 들어, CPU 백분율이 있습니다.
    Aggregation type 집계 세분성을 사용하여 하나의 숫자 값으로 집계하기 위해 여러 레코드에서 수행되는 계산입니다. Examples are Total, Average, Minimum, and Maximum.
    Aggregation granularity 여러 레코드를 하나의 숫자 값으로 집계하는 간격입니다.

    새 로그 검색 경고 규칙을 만드는 동안의 측정 옵션을 보여주는 스크린샷.

  9. (선택 사항) 차원으로 분할 섹션에서 차원을 사용하여 실행된 경고에 대한 컨텍스트를 제공할 수 있습니다.

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

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

    For example:

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

    일반적으로 경고 규칙 범위가 작업 영역인 경우 작업 영역에서 경고가 실행됩니다. 영향을 받는 각 Azure 리소스에 대해 별도의 경고를 원하는 경우 다음을 수행할 수 있습니다.

    • Azure Resource Manager Azure 리소스 ID 열을 차원으로 사용합니다. 이 옵션을 사용하면 Azure 리소스 ID 열을 차원으로 사용하여 작업 영역에서 경고가 발생합니다.
    • 경고를 Azure 리소스 ID 속성에서 차원으로 지정합니다. 이 옵션은 쿼리가 경고의 대상을 반환하는 리소스를 만듭니다. 그런 다음 작업 영역이 아니라, 가상 머신 또는 스토리지 계정과 같은 쿼리가 반환하는 리소스에서 경고가 발생합니다.

    이 옵션을 사용하면 작업 영역이 둘 이상의 구독에 있는 리소스에서 데이터를 가져오는 경우 경고 규칙 구독이 아닌 구독의 리소스에 대한 경고가 트리거될 수 있습니다.

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

    Field Description
    Dimension name 차원은 숫자 또는 문자열 열일 수 있습니다. 차원은 특정 시계열을 모니터링하고 발생한 경고에 대한 컨텍스트를 제공하는 데 사용됩니다.
    Operator 차원 이름 및 값에 사용되는 연산자입니다.
    Dimension values 차원 값은 지난 48시간 동안의 데이터를 기준으로 합니다. 사용자 지정 값 추가를 선택하여 사용자 지정 차원 값을 추가합니다.
    모든 미래 값 포함 선택한 차원에 추가되는 향후 값을 포함하려면 이 필드를 선택합니다.

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

  10. In the Alert logic section, select values for these fields:

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

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

    Note

    빈도는 매일 경고가 실행되는 특정 시간이 아닙니다. 경고 규칙이 얼마나 자주 실행되는지를 나타냅니다.

    There are some limitations to using an alert rule frequency of one minute. 경고 규칙의 빈도를 1분으로 설정 시에 쿼리 최적화를 위한 내부 조작을 수행합니다. 해당 조작에 지원되지 않는 작업이 포함된 경우에는 쿼리가 실패할 수 있습니다. 쿼리가 지원되지 않는 가장 흔한 이유는 다음과 같습니다.

    • 쿼리에 search, union 또는 take (제한) 작업이 포함됩니다.
    • 쿼리에 ingestion_time() 함수가 포함됩니다.
    • 쿼리가 adx 패턴을 사용합니다.
    • 해당 쿼리는 다른 테이블을 호출하는 함수를 호출합니다.

    샘플 로그 검색 경고 쿼리는 Azure Data Explorer와 Resource Graph에 사용할 수 있습니다.

  11. (Optional) In the Advanced options section, you can specify the number of failures and the alert evaluation period that's required to trigger an alert. For example, if you set Aggregation granularity to 5 minutes, you can specify that you want to trigger an alert only if three failures (15 minutes) happened in the last hour. 애플리케이션의 비즈니스 정책이 이 설정을 결정합니다.

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

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

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

    Note

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

  12. The Preview chart shows the results of query evaluations over time. 차트 기간을 변경하거나 차원별로 고유한 경고 분할로 인해 발생한 다른 시계열을 선택할 수 있습니다.

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

  13. Select Done. 경고 규칙 조건을 구성한 후에 경고 규칙 세부 정보를 구성하여 경고 만들기를 완료하거나 필요에 따라 경고 규칙에 작업 및 태그를 추가할 수도 있습니다.

경고 규칙 작업 구성

On the Actions tab, you can optionally select or create action groups for your alert rule.

새 경고 규칙을 만들기 위한 작업 탭을 보여주는 스크린샷.

필요에 따라 알림에 대한 사용자 지정 전자 메일 제목을 설정할 수 있습니다. 자세한 내용은 로그 검색 경고 전자 메일 주체 사용자 지정을 참조하세요.

경고 규칙 세부 정보 구성

  1. On the Details tab, under Project details, select the Subscription and Resource group values.

  2. 경고 규칙 세부 정보에서:

    1. Select the Severity value.

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

      Note

      ID를 사용하는 규칙은 경고 규칙 이름 값에 세미콜론(;) 문자를 사용할 수 없습니다.

    3. Select the Region value.

  3. In the Identity section, select which identity the log search alert rule uses for authentication when it sends the log query.

    ID를 선택할 때 다음 사항에 유의하세요.

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

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

    • If the query is accessing a Log Analytics workspace, the identity must be assigned a reader role for all workspaces that the query accesses. 리소스 중심 로그 검색 경고를 만드는 경우 경고 규칙은 여러 작업 영역에 액세스할 수도 있으며 ID에는 모든 작업 영역에 대한 읽기 권한자 역할이 있어야 합니다.
    • If you're querying an Azure Data Explorer or Resource Graph cluster, you must add the reader role for all data sources that the query accesses. 예를 들어 쿼리가 리소스 중심인 경우 해당 리소스에 대한 읽기 권한자 역할이 필요합니다.
    • 쿼리가 원격 Azure Data Explorer 클러스터에 액세스하는 경우 ID를 할당해야 합니다.
      • A reader role for all data sources that the query accesses. 예를 들어 쿼리가 adx() 함수를 사용하여 원격 Azure Data Explorer 클러스터를 호출하는 경우 해당 Azure Data Explorer 클러스터에 대한 읽기 권한자 역할이 필요합니다.
      • A database viewer role for all databases that the query accesses.

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

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

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

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

  4. (Optional) In the Advanced options section, you can set several options:

    Field Description
    생성 시 바로 사용 경고 규칙을 만드는 즉시 실행을 시작하려면 이 옵션을 선택합니다.
    자동으로 경고 해결 경고를 상태 저장으로 만들려면 이 옵션을 선택합니다. 경고가 상태 저장인 경우 특정 시간 범위 동안 조건이 더 이상 충족되지 않으면 경고가 해결됩니다. 시간 범위는 경고 빈도에 따라 다릅니다.
    1 minute: The alert condition isn't met for 10 minutes.
    5분 ~15분: 경고 조건이 3번의 빈도 기간 동안 충족되지 않습니다.
    15분 ~ 11시간: 경고 조건이 2번의 빈도 기간 동안 충족되지 않습니다.
    11-12시간: 경고 조건이 1번의 빈도 기간 동안 충족되지 않습니다.

    Note that stateful log search alerts have these limitations.
    Mute actions 경고 작업이 다시 트리거되기 전에 대기할 시간을 설정하려면 이 옵션을 선택합니다. 나타나는 음소거 작업 필드에서 경고가 발생한 후 작업을 다시 트리거하기 전까지 기다릴 시간을 선택합니다.
    작업 영역 연결된 스토리지 확인 경고에 대한 작업 영역 연결된 스토리지가 구성된 경우 이 옵션을 선택합니다. 연결된 스토리지가 구성되어 있지 않으면 규칙이 만들어지지 않습니다.
  5. (Optional) In the Custom properties section, if this alert rule contains action groups, you can add your own properties to include in the alert notification payload. 웹후크, Azure 함수 또는 논리 앱 작업과 같이 작업 그룹이 호출하는 작업에서 이러한 속성을 사용할 수 있습니다.

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

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

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

    Note

    • 사용자 지정 속성은 경고의 페이로드에 추가되지만 메일 템플릿이나 Azure Portal의 경고 세부 정보에는 표시되지 않습니다.

    새 경고 규칙을 만들기 위한 사용자 지정 속성을 보여주는 스크린샷.

    The following examples use values in Custom properties to utilize data from a payload that uses the common alert schema.

    This example creates an Additional Details tag with data regarding the window start time and window end time:

    • 이름: 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

    이 예에서는 경고를 해결하거나 발생시키는 이유에 관한 데이터를 추가합니다.

    • 이름: 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}. The value is ${data.alertContext.condition.allOf[0].metricValue}
    • Potential results:
      • Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
      • Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585

경고 규칙 태그 구성

On the Tags tab, you can optionally set any required tags on the alert rule resource.

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

경고 규칙 검토 및 만들기

  1. 검토 + 만들기 탭에서 규칙의 유효성이 검사됩니다. 문제가 있으면 돌아가서 해결합니다.

  2. When validation passes and you've reviewed the settings, select the Create button.

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