Azure Monitor を使用してログ アラートを作成、表示、管理するCreate, view, and manage log alerts using Azure Monitor

概要Overview

この記事では、Azure portal 内のアラート インターフェイスを使用して、ログ アラートを作成して管理する方法を示します。This article shows you how to create and manage log alerts using the alerts interface inside the Azure portal. アラート ルールは、次の 3 つのコンポーネントによって定義されます。Alert rules are defined by three components:

  • ターゲット:監視する特定の Azure リソースTarget: A specific Azure resource to monitor
  • 条件:真偽を評価する条件またはロジック。Criteria: A condition or logic to evaluate for truth. true の場合、アラートが発生します。If true, the alert fires.
  • アクション:電子メール、SMS、Webhook などの通知の受信者に送信される特定の呼び出し。Action: Specific call sent to a receiver of a notification - email, SMS, webhook etc.

ログ アラートという用語は、Log Analytics ワークスペースまたは Application Insights のログ クエリが評価されるアラートと、結果が true の場合に発生するアラートを示しています。The term Log Alert describes alerts where a log query in Log Analytics workspace or Application Insights is evaluated, and an alert fired if the result is true. ログ アラート - 概要」からの機能、用語、および型について説明します。Learn more about functionality, terminology, and types from Log alerts - Overview.

注意

Log Analytics ワークスペースからのログ データを、Azure Monitor メトリック データベースにルーティングすることもできます。Log data from a Log Analytics workspace can also be routed to the Azure Monitor metrics database. 各メトリック アラートの動作は異なります。これは、操作するデータによっては、より望ましい場合があります。Metrics alerts have different behavior, which may be more desirable depending on the data you are working with. メトリックにルーティングできるログとその方法については、ログのメトリック アラートに関するページを参照してください。For information on what and how you can route logs to metrics, see Metric Alert for Logs.

Microsoft Azure portal でログ アラート ルールを作成するCreate a log alert rule with the Azure portal

  1. ポータルで、 [モニター] を選択します。In the portal, select Monitor. そのセクションでは、 [アラート] を選びます。In that section, choose Alerts.

    監視

  2. [新しいアラート ルール] をクリックします。Click New Alert Rule.

    [アラートの追加]

  3. [アラートの作成] ペインが表示されます。The Create Alert pane appears. これには、次の 4 つの部分があります。It has four parts:

    • アラートが適用されるリソースThe resource to which the alert applies
    • 確認する条件The condition to check
    • 条件が true の場合に実行するアクションThe action to take if the condition is true
    • アラートの名前とその説明の詳細。The details to name and describe the alert.

    ルールを作成する

  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.

    リソースの選択

  5. 確実に、リソースの種類Log Analytics または Application Insights のような分析ソースで、シグナルの種類が [Log] になるようにします。Ensure Resource Type is an analytics source like Log Analytics or Application Insights and signal type as Log. [Done] をクリックします。Click Done. 次に、 [条件の追加] ボタンを使用して、そのリソースで利用できるシグナル オプションの一覧を表示します。Next use the Add criteria button to view list of signal options available for the resource. ログ アラートのデータが置かれている場所に応じて、Log Analytics または Application Insights に対する [カスタム ログ検索] オプションを見つけて選択します。Find and choose Custom log search option for either Log Analytics or Application Insights, depending on where the data for your log alerts resides.

    リソースの選択 - カスタム ログ検索

    注意

    アラート リストは上の図に示すように、分析クエリをシグナルの種類 - [Log (Saved Query)](ログ (保存されたクエリ)) としてインポートできます。Alerts lists can import analytics query as signal type - Log (Saved Query), as seen in above illustration. そのため、ユーザーは Analytics でクエリを完成させ、後でアラートに使用するために保存することができます。So users can perfect your query in Analytics and then save them for future use in alerts. 保存されたクエリの使用について詳しくは、Azure Monitor でのログ クエリの使用Application Insights 分析での共有クエリに関するページをご覧ください。For more details on using saved queries, see using log query in Azure Monitor and shared query in Application Insights analytics.

  6. 選択したら、 [検索クエリ] フィールドでアラート クエリを作成します。Once selected, create the alerting query in the Search Query field. クエリ構文が正しくない場合、フィールドにエラーが赤色で表示されます。If the query syntax is incorrect, the field displays and error in red.

  7. クエリ構文が正しい場合は、直近の 6 時間から最後の週までさまざまな時間枠を微調整するオプションと共に、クエリの履歴データがグラフとして表示されます。If the query syntax is correct, then historical data for the query appears as a graph with the option to tweak the time window from last six hours to last week.

    アラート ルールの構成

    履歴データの視覚エフェクトは、時間に関する詳細がクエリ結果にある場合にのみ表示されます。The historical data visualization is only shown if the query results have time details. クエリの結果が概要データまたは特定の列の値である場合、画面には単一のプロットが表示されます。If your query results in summarized data or specific column values, the display shows a single plot.

    Application Insights または Log Analytics API を使用するメトリック測定では、以下に示すように、 [集計] オプションを使用して、データをグループ化する特定の変数を指定できます。For metric measurements using Application Insights or the Log Analytics API, you can specify which specific variable to group the data by using the Aggregate on option; as shown here:

    [集計] オプション

  8. 次に、アラート ロジックの条件、集計およびしきい値を選びます。Next choose the Alert Logic condition, aggregation and threshold.

  9. [期間] オプションを使用して、指定された条件を評価する期間を選びます。Choose the time period over which to assess the specified condition, using Period option.

  10. [頻度] でアラートが実行される頻度を選びます。Choose how often the alert runs in 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.
  11. [Done] をクリックします。Click Done.

  12. [アラート ルール名] フィールドでご利用のアラートの名前を定義し、 [説明] でそのアラートについて詳しく説明し、提供されるオプションから [重大度] の値を選びます。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 pushes done by Azure Monitor. さらに、 [ルールの作成時に有効にする] をクリックして、作成に関するアラート ルールをすぐにアクティブにするように選択できます。Additionally, you can choose to immediately activate the alert rule on creation by clicking Enable rule upon creation.

  13. 一定の期間、アラートを表示しないようにするかどうかを選択します。Choose if you want to Suppress Alerts for a period of time. アラート ルールの抑制を有効にすると、新しいアラートを作成した後、定義された期間の間、ルールのアクションが無効になります。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 still runs and creates alert records provided the criteria is met. この設定により、同じアクションを繰り返し実行することなく、問題を修正できます。This setting allows you time to correct the problem without running duplicate actions.

    ログ アラートのアラートを表示しない

    ヒント

    アラート抑制の値をアラートの頻度より大きくし、通知がオーバーラップすることなく確実に停止されるようにしますSpecify a suppress alert value greater than the frequency of alert to ensure notifications are stopped without overlap

  14. 3 番目および最後の手順として、アラートの条件が満たされた場合に、アラート ルールで 1 つまたは複数のアクション グループをトリガーする必要があるかどうかを指定します。As the third and final step, specify if the alert rule should trigger one or more Action Group when alert condition is met. 既存のアクション グループを選択することも、新しいものを作成することもできます。You can choose any existing Action Group or create a new one. アクション グループを使用すると、電子メールの送信、SMS の送信、Webhook の呼び出し、Azure Runbook を使用した修復、ITSM ツールへのプッシュなど、さまざまなアクションを実行できます。With action groups, you can send perform a number of actions such as send email(s), send SMS(s), call Webhook(s), remediate using Azure Runbooks, push to your ITSM tool, and more. アクション グループの詳細をご覧ください。Learn more about Action Groups.

    注意

    実行できるアクションの制限については、Azure サブスクリプション サービスの制限に関するページを参照してください。Refer to the Azure subscription service limits for limits on the actions that can be performed.

    既定のアクションをオーバーライドするために他のいくつかの機能を使用できます。Some additional functionality is available to override the default Actions:

    • 電子メール通知:アクション グループを介して送信される "電子メールの件名" をオーバーライドします。Email Notification: Overrides e-mail subject in the email sent via the Action Group. メールの本文は変更できず、このフィールドは電子メール アドレス用ではありませんYou cannot modify the body of the mail and this field is not for email address.

    • カスタム JSON ペイロードを含める: アクション グループに Webhook の種類が含まれていることを前提として、アクション グループによって使用される Webhook JSON をオーバーライドします。Include custom Json payload: Overrides the webhook JSON used by Action Groups assuming the action group contains a webhook type. Webhook 形式の詳細については、ログ アラートの Webhook アクションに関するページを参照してください。For more information on webhook formats, see webhook action for Log Alerts. サンプルの JSON データを使用して形式を確認する [View Webhook] (Webhook の表示) オプションが提供されています。View Webhook option is provided to check format using sample JSON data.

      ログ アラートのアクションのオーバーライド

  15. すべてのフィールドが有効で緑色のチェックマークがついている場合、 [アラート ルールの作成] をクリックすることができ、アラートが 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.

ユーザーは、ログ分析で分析クエリを最終処理し、[アラートの設定] ボタンでアラートを作成するようにプッシュし、上記のチュートリアルの手順 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 - アラートの設定

Microsoft 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. 詳細については、「Alert Management」を参照してください。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 - Scheduled Query Rules API の API リファレンスを参照してください。For more information on this resource type, see Azure Monitor - Scheduled Query Rules API reference. Application Insights または Log Analytics のログ アラートは、Scheduled Query Rules API を使用して作成できます。Log alerts for Application Insights or Log Analytics, can be created using Scheduled Query Rules API.

注意

Log Analytics のログ アラートは、従来の Log Analytics Alert 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 の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい 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. また、Scheduled Query Rules API を利用するために、次の PowerShell コマンドレットが用意されています。And PowerShell cmdlets listed below are available to leverage the Scheduled Query Rules API.

注意

ScheduledQueryRules PowerShell コマンドレットは、コマンドレット自体によって、または Azure Monitor - Scheduled Query Rules API を使用して作成されたルールのみを管理できます。ScheduledQueryRules PowerShell cmdlets can only manage rules created cmdlet itself or using Azure Monitor - Scheduled Query Rules API. 従来の Log Analytics Alert API と、Log Analytics 保存済み検索およびアラートの従来のテンプレートを使用して作成されたログ アラート ルールは、ユーザーが Log Analytics アラート用に API 基本設定を切り替えた後に限り、ScheduledQueryRules PowerShell コマンドレットを使用して管理できます。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 コマンドレットを使用してサンプル ログ アラート ルールを作成する手順です。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 用の Resource Manager コマンドを使用して、PowerShell を介して使用できます。Hence it can be used via Powershell using Resource Manager commands for Azure CLI.

注意

Log Analytics のログ アラートは、従来の Log Analytics Alert 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.json) に対し、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