Azure Monitor를 사용하여 로그 경고 만들기, 보기 및 관리Create, view, and manage log alerts using Azure Monitor

개요Overview

이 문서에서는 Azure Portal 내에서 경고 인터페이스를 사용하여 로그 경고를 설정하는 방법을 보여줍니다.This article shows you how to set up log alerts using the alerts interface inside Azure portal. 경고 규칙의 정의는 세 부분으로 이루어져 있습니다.Definition of an alert rule is in three parts:

  • 대상: 모니터링될 특정 Azure 리소스Target: Specific Azure resource, which is to be monitored
  • 조건: 신호에서 표시될 때 작업을 트리거해야 하는 특정 조건 또는 논리Criteria: Specific condition or logic that when seen in Signal, should trigger action
  • 작업: 알림의 받는 사람에게 보내는 특정 호출 - 이메일, SMS, 웹후크 등Action: Specific call sent to a receiver of a notification - email, SMS, webhook etc.

Log Analytics 작업 영역 또는 Application Insights에서 신호가 로그 쿼리 인 경고를 설명 하는 용어 로그 경고 입니다.The term Log Alerts to describe alerts where signal is log query in a Log Analytics workspace or Application Insights. 로그 경고 - 개요에서 기능, 용어 및 형식에 대해 자세히 알아보세요.Learn more about functionality, terminology, and types from Log alerts - Overview.

참고

이제 Log Analytics 작업 영역의 인기 있는 로그 데이터를 Azure Monitor의 메트릭 플랫폼 에서도 사용할 수 있습니다.Popular log data from a Log Analytics workspace is now also available on the metric platform in Azure Monitor. 세부 정보 보기는 로그에 대한 메트릭 경고를 참조하세요.For details view, Metric Alert for Logs

Azure Portal에서 로그 경고 관리Managing log alerts from the Azure portal

자세한 다음 내용은 Azure Portal 인터페이스를 통해 로그 경고를 사용하기 위한 단계별 가이드입니다.Detailed next is step-by-step guide to using log alerts using the Azure portal interface.

Azure Portal을 통해 로그 경고 규칙 만들기Create a log alert rule with the Azure portal

  1. 포털에서 모니터 를 선택 하 고 모니터 섹션 아래에서 경고를 선택 합니다.In the portal, select Monitor and under the MONITOR section - choose Alerts.

    모니터링

  2. 새 경고 규칙 단추를 선택하여 Azure에서 새 경고를 만듭니다.Select the New Alert Rule button to create a new alert in Azure.

    Add alert

  3. 경고 만들기 섹션은 경고 조건 정의, 경고 세부 정보 정의작업 그룹 정의로 구성된 세 부분으로 표시됩니다.The Create Alert section is shown with the three parts consisting of: Define alert condition, Define alert details, and Define action group.

    규칙 만들기

  4. 리소스 선택 링크를 사용하고 리소스를 선택하여 대상을 지정하여 경고 조건을 정의합니다.Define the alert condition by using the Select Resource link and specifying the target by selecting a resource. 구독, 리소스 종류 및 필요한 _리소스_를 선택하여 필터링합니다.Filter by choosing the Subscription, Resource Type, and required Resource.

    참고

    로그 경고 만들기의 경우 진행하기 전에 선택한 리소스에 대해 사용 가능한 로그 신호를 확인합니다.For creating a log alert - verify the log signal is available for the selected resource before you proceed. 리소스 선택Select resource

  5. 로그 경고: 리소스 종류Log Analytics 또는 Application Insights와 같은 분석 원본이고 신호 유형이 로그인지 확인한 다음, 적절한 리소스가 선택되면 완료를 클릭합니다.Log Alerts: Ensure Resource Type is an analytics source like Log Analytics or Application Insights and signal type as Log, then once appropriate resource is chosen, click Done. 다음으로 조건 추가 단추를 사용하여 리소스 및 Log Analytics 또는 Application Insights와 같은 선택된 로그 모니터 서비스에 대한 신호 목록 사용자 지정 로그 검색 옵션에서 사용할 수 있는 신호 옵션 목록을 봅니다.Next use the Add criteria button to view list of signal options available for the resource and from the signal list Custom log search option for chosen log monitor service like Log Analytics or Application Insights.

    리소스 선택 - 사용자 지정 로그 검색

    참고

    경고 목록은 위 그림과 같이 분석 쿼리를 신호 유형 - 로그(저장된 쿼리) 로 가져올 수 있습니다.Alerts lists can import analytics query as signal type - Log (Saved Query), as seen in above illustration. 따라서 사용자는 분석에서 쿼리를 완벽 하 게 수행한 다음 나중에 사용 하기 위해 저장할 수 있습니다. 자세한 내용은 application insights 분석의 Azure Monitor 또는 공유 쿼리사용 하 여 로그 쿼리 를 사용 하 여 사용 가능한 쿼리 저장을 참조 하세요.So users can perfect your query in Analytics and then save them for future use in alerts - more details on using saving query available at using log query in Azure Monitor or shared query in application insights analytics.

  6. 로그 경고: 선택한 후에 경고에 대한 쿼리를 검색 쿼리 필드에서 정의할 수 있습니다. 쿼리 구문이 올바르지 않을 경우 필드는 빨간색으로 오류를 표시합니다.Log Alerts: Once selected, query for alerting can be stated in Search Query field; if the query syntax is incorrect the field displays error in RED. 쿼리 구문이 올바른 경우 참조를 위해 정의된 쿼리의 기록 데이터가 마지막 6시간에서 지난 주까지 시간 창을 조정하는 옵션과 함께 그래프로 표시됩니다.If the query syntax is correct - For reference historic data of the stated query is shown as a graph with option to tweak the time window from last six hours to last week.

    경고 규칙 구성

    참고

    쿼리 결과에 시간 세부 정보가 있는 경우 기록 데이터 시각화만 표시될 수 있습니다.Historical data visualization can only be shown if the query results have time details. 쿼리 결과가 요약된 데이터 또는 특정 열 값인 경우 단일 플롯으로 동일하게 표시됩니다.If your query results in summarized data or specific column values - same is shown as a singular plot. Application insights를 사용하거나 새 API로 전환된 로그 경고의 메트릭 측정 유형의 경우 아래에 설명된 대로 집계 옵션을 사용하여 데이터를 그룹화하는 특정 변수를 지정할 수 있습니다.For Metric Measurement type of Log Alerts using Application Insights or switched to new API, you can specify which specific variable to group the data by using the Aggregate on option; as illustrated in below:

    집계 옵션

  7. 로그 경고: 준비된 시각화를 사용하여 조건, 집계 및 마지막으로 임계값의 표시된 옵션에서 경고 논리를 선택할 수 있습니다.Log Alerts: With the visualization in place, Alert Logic can be selected from shown options of Condition, Aggregation and finally Threshold. 마지막으로 논리에서 기간 옵션을 사용하여 지정된 조건에 대해 평가할 시간을 지정합니다.Finally specify in the logic, the time to assess for the specified condition, using Period option. 빈도를 선택하여 경고를 실행해야 하는 빈도를 지정합니다.Along with how often Alert should run by selecting Frequency. 로그 경고는 다음을 기반으로 할 수 있습니다.Log Alerts can be based on:

    • 레코드 수: 쿼리에서 반환된 레코드의 개수가 제공된 값보다 큰 또는 값보다 작은 경우 경고가 생성됩니다.Number of Records: An alert is created if the count of records returned by the query is either greater than or less than the value provided.
    • 메트릭 측정: 결과에서 각 집계 값이 제공된 임계값을 초과하고 선택한 값으로 그룹화되는 경우 경고가 생성됩니다.Metric Measurement: An alert is created if each aggregate value in the results exceeds the threshold value provided and it is grouped by chosen value. 경고에 대한 위반 수는 임계값이 선택한 기간에서 초과된 횟수입니다.The number of breaches for an alert is the number of times the threshold is exceeded in the chosen time period. 결과 집합에서 모든 위반의 조합에 대해 총 위반을 지정하거나 연속 위반을 지정하여 연속된 샘플에서 위반이 발생해야 한다고 요구할 수 있습니다.You can specify Total breaches for any combination of breaches across the results set or Consecutive breaches to require that the breaches must occur in consecutive samples.
  8. 두 번째 단계로 제공된 옵션에서 경고 및 심각도에 대한 세부 사항을 자세히 설명하는 설명과 함께 경고 규칙 이름 필드에서 경고에 대한 이름을 정의합니다.As the second step, define a name for your alert in the Alert rule name field along with a Description detailing specifics for the alert and Severity value from the options provided. 이러한 세부 정보는 모든 경고 이메일, 알림 또는 Azure Monitor에 의해 수행되는 푸시에서 다시 사용됩니다.These details are reused in all alert emails, notifications, or push done by Azure Monitor. 또한 사용자는 규칙을 만들면 바로 사용 옵션을 적절히 설정/해제하여 생성 시 경고 규칙을 즉시 활성화하도록 선택할 수 있습니다.Additionally, user can choose to immediately activate the alert rule on creation by appropriately toggling Enable rule upon creation option.

    로그 경고의 경우 몇 가지 추가 기능을 경고 정보에 사용할 수 있습니다.For Log Alerts only, some additional functionality is available in Alert details:

    • 경고 표시 안 함: 경고 규칙 표시 안 함 기능을 켜면 규칙에 대한 작업이 새 경고를 만든 후 정의된 기간 동안 비활성화됩니다.Suppress Alerts: When you turn on suppression for the alert rule, actions for the rule are disabled for a defined length of time after creating a new alert. 규칙은 여전히 실행되고 있으며 조건을 만족하면 경고 레코드를 생성합니다.The rule is still running and creates alert records provided the criteria is met. 중복 작업을 실행하지 않고 문제를 해결할 시간 여유를 갖게 됩니다.Allowing you time to correct the problem without running duplicate actions.

      로그 경고에 대한 경고 표시 안 함

      중첩 없이 알림이 중지되도록 경고 표시 안 함의 값을 경고의 빈도보다 큰 값으로 지정Specify an suppress alert value greater than frequency of alert to ensure notifications are stopped without overlap

  9. 세 번째이자 마지막 단계로 경고 조건이 충족될 때 경고 규칙에 대해 작업 그룹을 트리거해야 하는지를 지정합니다.As the third and final step, specify if any Action Group needs to be triggered for the alert rule when alert condition is met. 경고와 함께 모든 기존 작업 그룹을 선택하거나 새 작업 그룹을 만들 수 있습니다.You can choose any existing Action Group with alert or create a new Action Group. 선택한 작업 그룹에 따라 경고가 트리거될 때 Azure는 이메일을 보내고, SMS를 보내고, 웹후크를 호출하고, Azure Runbook을 사용하여 수정하고, ITSM 도구에 푸시하는 등의 작업을 수행합니다.According to selected Action Group, when alert is trigger Azure will: send email(s), send SMS(s), call Webhook(s), remediate using Azure Runbooks, push to your ITSM tool, etc. 작업 그룹에 대해 자세히 알아보세요.Learn more about Action Groups.

    참고

    Azure 구독 서비스 제한에서 Azure 작업 그룹을 통해 로그 경고에 대해 트리거된 Runbook 페이로드의 제한을 참조하세요.Refer to the Azure subscription service limits for limits on Runbook payloads triggered for log alerts via Azure action groups

    로그 경고의 경우 기본 작업을 재정의하는 데 몇 가지 추가 기능을 사용할 수 있습니다.For Log Alerts some additional functionality is available to override the default Actions:

    • 이메일 알림: 언급된 작업 그룹에 하나 이상의 이메일 작업이 있는 경우 작업 그룹을 통해 전송된 이메일의 이메일 제목을 재정의합니다.Email Notification: Overrides e-mail subject in the email, sent via Action Group; if one or more email actions exist in the said Action Group. 메일 본문은 수정할 수 없으며, 이 필드는 이메일 주소에 대한 필드가 아닙니다.You cannot modify the body of the mail and this field is not for email address.

    • 사용자 지정 Json 페이로드 포함: 언급된 작업 그룹에 하나 이상의 웹후크 작업이 있는 경우 작업 그룹에서 사용하는 웹후크 JSON을 재정의합니다.Include custom Json payload: Overrides the webhook JSON used by Action Groups; if one or more webhook actions exist in the said Action Group. 사용자는 관련된 작업 그룹에 구성된 모든 웹후크에 사용할 JSON 형식을 지정할 수 있습니다. 웹후크 형식에 대한 자세한 내용은 로그 경고에 대한 웹후크 작업을 참조하세요.User can specify format of JSON to be used for all webhooks configured in associated Action Group; for more information on webhook formats, see webhook action for Log Alerts. 샘플 JSON 데이터를 사용하여 형식을 검사할 수 있는 Webhook 보기 옵션이 제공됩니다.View Webhook option is provided to check format using sample JSON data.

      경고 로그에 대한 작업 재정의

  10. 모든 필드가 유효하고 녹색 틱인 경우 경고 규칙 만들기 단추를 클릭할 수 있으며 Azure Monitor - 경고에서 경고가 생성됩니다.If all fields are valid and with green tick the create alert rule button can be clicked and an alert is created in Azure Monitor - Alerts. 경고 대시보드에서 모든 경고를 볼 수 있습니다.All alerts can be viewed from the alerts Dashboard.

    규칙 만들기

    앞서 설명한 대로 몇 분 안에 경고가 활성화 및 트리거됩니다.Within a few minutes, the alert is active and triggers as previously described.

또한 사용자는 log analytics 에서 분석 쿼리를 마무리 한 다음이를 푸시하여 ' 경고 설정 ' 단추를 통해 경고를 만든 다음, 위의 자습서에 있는 6 단계의 지침에 따라 경고를 만들 수 있습니다.Users can also finalize their analytics query in log analytics and then push it to create an alert via 'Set Alert' button - then following instructions from Step 6 onwards in the above tutorial.

Log Analytics - 경고 설정

Azure Portal에서 로그 경고 보기 및 관리View & manage log alerts in Azure portal

  1. 포털에서 모니터 를 선택 하 고 모니터 섹션 아래에서 경고를 선택 합니다.In the portal, select Monitor and under the MONITOR section - choose Alerts.

  2. 경고 대시보드가 표시 됩니다. 모든 Azure 경고 (로그 경고 포함)는 단일 보드에 표시 됩니다. 로그 경고 규칙이 발생 한 모든 인스턴스를 포함 합니다.The Alerts Dashboard is displayed - wherein all Azure Alerts (including log alerts) are displayed in a singular board; including every instance of when your log alert rule has fired. 자세한 내용은 경고 관리를 참조하세요.To learn more, see Alert Management.

    참고

    로그 경고 규칙은 사용자가 제공한 사용자 지정 쿼리 기반 논리로 구성되므로 확인된 상태를 사용하지 않습니다.Log alert rules comprise of custom query-based logic provided by users and hence without a resolved state. 로그 경고 규칙에 지정된 조건이 충족되므로 해당 경고 규칙이 발생합니다.Due to which every time the conditions specified in the log alert rule are met, it is fired.

  3. 위쪽 표시줄에서 규칙 관리 단추를 선택하여 규칙 관리 섹션으로 이동합니다. 여기에 비활성화된 경고를 포함한 만들어진 모든 경고 규칙이 나열됩니다.Select the Manage rules button on the top bar, to navigate to the rule management section - where all alert rules created are listed; including alerts that have been disabled. 경고 규칙 관리 manage alert rules

Azure 리소스 템플릿을 사용하여 로그 경고 관리Managing log alerts using Azure Resource Template

Azure Monitor의 로그 경고는 리소스 유형 Microsoft.Insights/scheduledQueryRules/와 연결되어 있습니다.Log alerts in Azure Monitor are associated with resource type Microsoft.Insights/scheduledQueryRules/. 이 리소스 종류에 대한 자세한 내용은 Azure Monitor - 예약된 쿼리 규칙 API 참조를 참조하세요.For more information on this resource type, see Azure Monitor - Scheduled Query Rules API reference. Application Insights 또는 Log Analytics에 대한 로그 경고는 예약된 쿼리 규칙 API를 사용하여 만들 수 있습니다.Log alerts for Application Insights or Log Analytics, can be created using Scheduled Query Rules API.

참고

Log Analytics에 대한 로그 경고는 레거시 Log Analytics 경고 APILog Analytics 저장된 검색 및 경고의 레거시 템플릿을 사용하여 관리할 수도 있습니다.Log alerts for Log Analytics can also be managed using legacy Log Analytics Alert API and legacy templates of Log Analytics saved searches and alerts as well. 기본적으로 여기에서 설명하는 새 ScheduledQueryRules API 사용에 대한 자세한 내용은 Log Analytics 경고에 대한 새 API로 전환을 참조하세요.For more information on using the new ScheduledQueryRules API detailed here by default, see Switch to new API for Log Analytics Alerts.

Azure 리소스 템플릿을 사용하여 샘플 로그 경고 만들기Sample Log alert creation using Azure Resource Template

다음은 변수로 샘플 데이터 세트가 있는 결과 유형 로그 경고 수의 표준 로그 검색 쿼리를 사용하여 예약된 쿼리 규칙 만들기 기반 리소스 템플릿에 대한 구조입니다.The following is the structure for Scheduled Query Rules creation based resource template using standard log search query of number of results type log alert, with sample data set as variables.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
    },
    "variables": {
        "alertLocation": "southcentralus",
        "alertName": "samplelogalert",
        "alertDescription": "Sample log search alert",
        "alertStatus": "true",
        "alertSource":{
            "Query":"requests",
            "SourceId": "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/myRG/providers/microsoft.insights/components/sampleAIapplication",
            "Type":"ResultCount"
        },
        "alertSchedule":{
            "Frequency": 15,
            "Time": 60
        },
        "alertActions":{
            "SeverityLevel": "4"
        },
        "alertTrigger":{
            "Operator":"GreaterThan",
            "Threshold":"1"
        },
        "actionGrp":{
            "ActionGroup": "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/myRG/providers/microsoft.insights/actiongroups/sampleAG",
            "Subject": "Customized Email Header",
            "Webhook": "{ \"alertname\":\"#alertrulename\", \"IncludeSearchResults\":true }"
        }
    },
    "resources":[ {
        "name":"[variables('alertName')]",
        "type":"Microsoft.Insights/scheduledQueryRules",
        "apiVersion": "2018-04-16",
        "location": "[variables('alertLocation')]",
        "properties":{
            "description": "[variables('alertDescription')]",
            "enabled": "[variables('alertStatus')]",
            "source": {
                "query": "[variables('alertSource').Query]",
                "dataSourceId": "[variables('alertSource').SourceId]",
                "queryType":"[variables('alertSource').Type]"
            },
            "schedule":{
                "frequencyInMinutes": "[variables('alertSchedule').Frequency]",
                "timeWindowInMinutes": "[variables('alertSchedule').Time]"
            },
            "action":{
                "odata.type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction",
                "severity":"[variables('alertActions').SeverityLevel]",
                "aznsAction":{
                    "actionGroup":"[array(variables('actionGrp').ActionGroup)]",
                    "emailSubject":"[variables('actionGrp').Subject]",
                    "customWebhookPayload":"[variables('actionGrp').Webhook]"
                },
                "trigger":{
                    "thresholdOperator":"[variables('alertTrigger').Operator]",
                    "threshold":"[variables('alertTrigger').Threshold]"
                }
            }
        }
    } ]
}

위의 샘플 json은 이 연습의 목적을 위해 sampleScheduledQueryRule.json(예)으로 저장될 수 있으며 Azure Portal에서 Azure Resource Manager를 사용하여 배포될 수 있습니다.The sample json above can be saved as (say) sampleScheduledQueryRule.json for the purpose of this walk through and can be deployed using Azure Resource Manager in Azure portal.

Azure 리소스 템플릿을 사용하여 리소스 간 쿼리를 통해 로그 경고Log alert with cross-resource query using Azure Resource Template

다음은 변수로 샘플 데이터 세트가 있는 메트릭 측정 유형 로그 경고리소스 간 로그 검색 쿼리를 사용하여 예약된 쿼리 규칙 만들기 기반 리소스 템플릿에 대한 구조입니다.The following is the structure for Scheduled Query Rules creation based resource template using cross-resource log search query of metric measurement type log alert, with sample data set as variables.


{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
    },
    "variables": {
        "alertLocation": "Region Name for your Application Insights App or Log Analytics Workspace",
        "alertName": "sample log alert",
        "alertDescr": "Sample log search alert",
        "alertStatus": "true",
        "alertSource":{
            "Query":"union workspace(\"servicews\").Update, app('serviceapp').requests | summarize AggregatedValue = count() by bin(TimeGenerated,1h), Classification",
            "Resource1": "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews",
            "Resource2": "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/components/serviceapp",
            "SourceId": "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews",
            "Type":"ResultCount"
        },
        "alertSchedule":{
            "Frequency": 15,
            "Time": 60
        },
        "alertActions":{
            "SeverityLevel": "4",
            "SuppressTimeinMin": 20
        },
        "alertTrigger":{
            "Operator":"GreaterThan",
            "Threshold":"1"
        },
        "metricMeasurement": {
            "thresholdOperator": "Equal",
            "threshold": "1",
            "metricTriggerType": "Consecutive",
            "metricColumn": "Classification"
        },
        "actionGrp":{
            "ActionGroup": "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG",
            "Subject": "Customized Email Header",
            "Webhook": "{ \"alertname\":\"#alertrulename\", \"IncludeSearchResults\":true }"
        }
    },
    "resources":[ {
        "name":"[variables('alertName')]",
        "type":"Microsoft.Insights/scheduledQueryRules",
        "apiVersion": "2018-04-16",
        "location": "[variables('alertLocation')]",
        "properties":{
            "description": "[variables('alertDescr')]",
            "enabled": "[variables('alertStatus')]",
            "source": {
                "query": "[variables('alertSource').Query]",
                "authorizedResources": "[concat(array(variables('alertSource').Resource1), array(variables('alertSource').Resource2))]",
                "dataSourceId": "[variables('alertSource').SourceId]",
                "queryType":"[variables('alertSource').Type]"
            },
            "schedule":{
                "frequencyInMinutes": "[variables('alertSchedule').Frequency]",
                "timeWindowInMinutes": "[variables('alertSchedule').Time]"
            },
            "action":{
                "odata.type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction",
                "severity":"[variables('alertActions').SeverityLevel]",
                "throttlingInMin": "[variables('alertActions').SuppressTimeinMin]",
                "aznsAction":{
                    "actionGroup": "[array(variables('actionGrp').ActionGroup)]",
                    "emailSubject":"[variables('actionGrp').Subject]",
                    "customWebhookPayload":"[variables('actionGrp').Webhook]"
                },
                "trigger":{
                    "thresholdOperator":"[variables('alertTrigger').Operator]",
                    "threshold":"[variables('alertTrigger').Threshold]",
                    "metricTrigger":{
                        "thresholdOperator": "[variables('metricMeasurement').thresholdOperator]",
                        "threshold": "[variables('metricMeasurement').threshold]",
                        "metricColumn": "[variables('metricMeasurement').metricColumn]",
                        "metricTriggerType": "[variables('metricMeasurement').metricTriggerType]"
                    }
                }
            }
        }
    } ]
}

중요

로그 경고에 리소스 간 쿼리를 사용하는 경우 authorizedResources 사용은 반드시 필요하며 사용자는 시작된 리소스의 목록에 액세스할 수 있어야 합니다.When using cross-resource query in log alert, the usage of authorizedResources is mandatory and user must have access to the list of resources stated

위의 샘플 json은 이 연습의 목적을 위해 sampleScheduledQueryRule.json(예)으로 저장될 수 있으며 Azure Portal에서 Azure Resource Manager를 사용하여 배포될 수 있습니다.The sample json above can be saved as (say) sampleScheduledQueryRule.json for the purpose of this walk through and can be deployed using Azure Resource Manager in Azure portal.

PowerShell을 사용 하 여 로그 경고 관리Managing log alerts using PowerShell

참고

이 문서는 새 Azure PowerShell Az 모듈을 사용하도록 업데이트되었습니다.This article has been updated to use the new Azure PowerShell Az module. AzureRM 모듈은 적어도 2020년 12월까지 버그 수정을 수신할 예정이므로 계속 사용하셔도 됩니다.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. 새 Az 모듈 및 AzureRM 호환성에 대한 자세한 내용은 새 Azure PowerShell Az 모듈 소개를 참조하세요.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az 모듈 설치 지침은 Azure PowerShell 설치를 참조하세요.For Az module installation instructions, see Install Azure PowerShell.

Azure Monitor 예약 된 쿼리 규칙 API 는 REST API 이며 Azure Resource Manager REST API와 완전히 호환 됩니다.Azure Monitor - Scheduled Query Rules API is a REST API and fully compatible with Azure Resource Manager REST API. 아래에 나열 된 PowerShell cmdlet은 예약 된 쿼리 규칙 API를 활용 하는 데 사용할 수 있습니다.And PowerShell cmdlets listed below are available to leverage the Scheduled Query Rules API.

  1. AzScheduledQueryRule : Powershell cmdlet을 통해 새 로그 경고 규칙을 만듭니다.New-AzScheduledQueryRule : Powershell cmdlet to create a new log alert rule.
  2. AzScheduledQueryRule : Powershell Cmdlet을 설정 하 여 기존 로그 경고 규칙을 업데이트 합니다.Set-AzScheduledQueryRule : Powershell cmdlet to update an existing log alert rule.
  3. AzScheduledQueryRuleSource : Powershell cmdlet은 로그 경고의 원본 매개 변수를 지정 하는 개체를 만들거나 업데이트 합니다.New-AzScheduledQueryRuleSource : Powershell cmdlet to create or update object specifying source parameters for a log alert. AzScheduledQueryRule 및 AzScheduledQueryRule cmdlet 입력으로 사용 됩니다.Used as input by New-AzScheduledQueryRule and Set-AzScheduledQueryRule cmdlet.
  4. AzScheduledQueryRuleSchedule: Powershell cmdlet은 로그 경고의 일정 매개 변수를 지정 하는 개체를 만들거나 업데이트 합니다.New-AzScheduledQueryRuleSchedule: Powershell cmdlet to create or update object specifying schedule parameters for a log alert. AzScheduledQueryRule 및 AzScheduledQueryRule cmdlet 입력으로 사용 됩니다.Used as input by New-AzScheduledQueryRule and Set-AzScheduledQueryRule cmdlet.
  5. AzScheduledQueryRuleAlertingAction : Powershell cmdlet은 로그 경고에 대 한 작업 매개 변수를 지정 하는 개체를 만들거나 업데이트 합니다.New-AzScheduledQueryRuleAlertingAction : Powershell cmdlet to create or update object specifying action parameters for a log alert. AzScheduledQueryRule 및 AzScheduledQueryRule cmdlet 입력으로 사용 됩니다.Used as input by New-AzScheduledQueryRule and Set-AzScheduledQueryRule cmdlet.
  6. AzScheduledQueryRuleAznsActionGroup : Powershell cmdlet은 로그 경고에 대 한 작업 그룹 매개 변수를 지정 하는 개체를 만들거나 업데이트 합니다.New-AzScheduledQueryRuleAznsActionGroup : Powershell cmdlet to create or update object specifying action groups parameters for a log alert. AzScheduledQueryRuleAlertingAction cmdlet의 입력으로 사용 됩니다.Used as input by New-AzScheduledQueryRuleAlertingAction cmdlet.
  7. AzScheduledQueryRuleTriggerCondition : Powershell cmdlet은 로그 경고에 대 한 트리거 조건 매개 변수를 지정 하는 개체를 만들거나 업데이트 합니다.New-AzScheduledQueryRuleTriggerCondition : Powershell cmdlet to create or update object specifying trigger condition parameters for log alert. AzScheduledQueryRuleAlertingAction cmdlet의 입력으로 사용 됩니다.Used as input by New-AzScheduledQueryRuleAlertingAction cmdlet.
  8. AzScheduledQueryRuleLogMetricTrigger : Powershell cmdlet은 메트릭 측정 유형 로그 경고에 대 한 메트릭 트리거 조건 매개 변수를 지정 하는 개체를 만들거나 업데이트 합니다.New-AzScheduledQueryRuleLogMetricTrigger : Powershell cmdlet to create or update object specifying metric trigger condition parameters for metric measurement type log alert. AzScheduledQueryRuleTriggerCondition cmdlet의 입력으로 사용 됩니다.Used as input by New-AzScheduledQueryRuleTriggerCondition cmdlet.
  9. AzScheduledQueryRule : Powershell cmdlet-기존 로그 경고 규칙 또는 특정 로그 경고 규칙을 나열 합니다.Get-AzScheduledQueryRule : Powershell cmdlet to list existing log alert rules or a specific log alert rule
  10. AzScheduledQueryRule : 로그 경고 규칙을 사용 하거나 사용 하지 않도록 설정 하는 Powershell cmdletUpdate-AzScheduledQueryRule : Powershell cmdlet to enable or disable log alert rule
  11. AzScheduledQueryRule: 기존 로그 경고 규칙을 삭제 하는 Powershell cmdletRemove-AzScheduledQueryRule: Powershell cmdlet to delete an existing log alert rule

참고

ScheduledQueryRules PowerShell cmdlet은 cmdlet 자체 또는 Azure Monitor 예약 쿼리 규칙 API를 사용 하 여 만든 규칙만 관리할 수 있습니다.ScheduledQueryRules PowerShell cmdlets can only manage rules created cmdlet itself or using Azure Monitor - Scheduled Query Rules API. 레거시 Log Analytics 경고 API 를 사용 하 여 만든 로그 경고 규칙 및 저장 된 검색 및 경고 에 대 한 레거시 Log Analytics 템플릿을 사용자가 Log Analytics 경고에 대 한 사용자 전환 API 기본 설정이후에만 ScheduledQueryRules PowerShell cmdlet을 사용 하 여 관리할 수 있습니다.Log alert rules created using legacy Log Analytics Alert API and legacy templates of Log Analytics saved searches and alerts can be managed using ScheduledQueryRules PowerShell cmdlets only after user switches API preference for Log Analytics Alerts.

다음은 scheduledQueryRules PowerShell cmdlet을 사용 하 여 샘플 로그 경고 규칙을 만드는 단계입니다.Illustrated next are the steps for creation of a sample log alert rule using the scheduledQueryRules PowerShell cmdlets.

$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews"

$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30

$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"

$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger

$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"

$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition

New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name"

CLI 또는 API를 사용 하 여 로그 경고 관리Managing log alerts using CLI or API

Azure Monitor 예약 된 쿼리 규칙 API 는 REST API 이며 Azure Resource Manager REST API와 완전히 호환 됩니다.Azure Monitor - Scheduled Query Rules API is a REST API and fully compatible with Azure Resource Manager REST API. 따라서 Azure CLI에 대 한 리소스 관리자 명령을 사용 하 여 Powershell을 통해 사용할 수 있습니다.Hence it can be used via Powershell using Resource Manager commands for Azure CLI.

참고

Log Analytics에 대한 로그 경고는 레거시 Log Analytics 경고 APILog Analytics 저장된 검색 및 경고의 레거시 템플릿을 사용하여 관리할 수도 있습니다.Log alerts for Log Analytics can also be managed using legacy Log Analytics Alert API and legacy templates of Log Analytics saved searches and alerts as well. 기본적으로 여기에서 설명하는 새 ScheduledQueryRules API 사용에 대한 자세한 내용은 Log Analytics 경고에 대한 새 API로 전환을 참조하세요.For more information on using the new ScheduledQueryRules API detailed here by default, see Switch to new API for Log Analytics Alerts.

현재 로그 경고에 전용 CLI 명령이 없습니다. 그러나 아래에 설명 된 것 처럼 리소스 템플릿 섹션의 앞에 표시 된 샘플 리소스 템플릿 (sampleScheduledQueryRule)에 대 한 Azure Resource Manager CLI 명령을 통해 사용할 수 있습니다.Log alerts currently do not have dedicated CLI commands currently; but as illustrated below can be used via Azure Resource Manager CLI command for sample Resource Template shown earlier (sampleScheduledQueryRule.json) in the Resource Template section:

az group deployment create --resource-group contosoRG --template-file sampleScheduledQueryRule.json

작업이 성공하면 201은 상태 새 경고 규칙 만들기로 반환되거나 200은 기존 경고 규칙이 수정된 경우 반환됩니다.On successful operation, 201 will be returned to state new alert rule creation or 200 will be returned if an existing alert rule was modified.

다음 단계Next steps