Web kancası eylemlerini kullanarak günlük araması uyarıları için örnek yükler

Tek bir HTTP POST isteği çağırmak için günlük araması uyarı kuralında web kancası eylemlerini kullanabilirsiniz. Bu makalede, eylem gruplarını web kancalarını kullanacak şekilde yapılandırdığınızda kullanılabilen özellikler açıklanmaktadır. Çağrılan hizmetin web kancalarını desteklemesi ve aldığı yükün nasıl kullanılacağını bilmesi gerekir.

Web kancası tümleştirmeleriniz için ortak uyarı şemasını kullanmanızı öneririz. Ortak uyarı şeması, Azure İzleyici'deki tüm uyarı hizmetlerinde tek bir genişletilebilir ve birleşik uyarı yüküne sahip olmanın avantajını sağlar.

Özel JSON yükü tanımlanmış günlük araması uyarı kuralları için, ortak uyarı şeması etkinleştirildiğinde yük şeması Ortak uyarı şemasında açıklanan şemaya geri döndürülür. Özel bir JSON yükünün tanımlanmasını istiyorsanız, web kancası ortak uyarı şemasını kullanamaz.

Ortak şemanın etkinleştirildiği uyarıların boyut üst sınırı uyarı başına 256 KB'tır. Daha büyük bir uyarı arama sonuçlarını içermez. Arama sonuçları dahil olmadığında, Log Analytics API'si aracılığıyla sorgu sonuçlarına erişmek için veya LinkToSearchResultsAPI kullanınLinkToFilteredSearchResultsAPI.

Örnek yükler, yük standart olduğunda ve özel olduğunda örnekler içerir.

Tüm kaynak günlükleri için günlük araması uyarısı (API sürümünden 2021-08-01)

Aşağıdaki örnek yük, kaynak günlüklerine dayalı günlük araması uyarıları için kullanıldığında standart bir web kancası içindir:

{
    "schemaId": "azureMonitorCommonAlertSchema",
    "data": {
        "essentials": {
            "alertId": "/subscriptions/12345a-1234b-123c-123d-12345678e/providers/Microsoft.AlertsManagement/alerts/12345a-1234b-123c-123d-12345678e",
            "alertRule": "AcmeRule",
            "severity": "Sev4",
            "signalType": "Log",
            "monitorCondition": "Fired",
            "monitoringService": "Log Alerts V2",
            "alertTargetIDs": [
                "/subscriptions/12345a-1234b-123c-123d-12345678e/resourcegroups/ai-engineering/providers/microsoft.compute/virtualmachines/testvm"
            ],
            "originAlertId": "123c123d-1a23-1bf3-ba1d-dd1234ff5a67",
            "firedDateTime": "2020-07-09T14:04:49.99645Z",
            "description": "log alert rule V2",
            "essentialsVersion": "1.0",
            "alertContextVersion": "1.0"
        },
        "alertContext": {
            "properties": {
              "name1": "value1",
              "name2": "value2"
            },
            "conditionType": "LogQueryCriteria",
            "condition": {
                "windowSize": "PT10M",
                "allOf": [
                    {
                        "searchQuery": "Heartbeat",
                        "metricMeasureColumn": "CounterValue",
                        "targetResourceTypes": "['Microsoft.Compute/virtualMachines']",
                        "operator": "LowerThan",
                        "threshold": "1",
                        "timeAggregation": "Count",
                        "dimensions": [
                            {
                                "name": "ResourceId",
                                "value": "/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/TEST/providers/Microsoft.Compute/virtualMachines/testvm"
                            }
                        ],
                        "metricValue": 0.0,
                        "failingPeriods": {
                            "numberOfEvaluationPeriods": 1,
                            "minFailingPeriodsToAlert": 1
                        },
                        "linkToSearchResultsUI": "https://portal.azure.com#@12f345bf-12f3-12af-12ab-1d2cd345db67/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%2F12345a-1234b-123c-123d-12345678e%2FresourceGroups%2FTEST%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2Ftestvm%22%7D%5D%7D/q/eJzzSE0sKklKTSypUSjPSC1KVQjJzE11T81LLUosSU1RSEotKU9NzdNIAfJKgDIaRgZGBroG5roGliGGxlYmJlbGJnoGEKCpp4dDmSmKMk0A/prettify/1/timespan/2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
                        "linkToFilteredSearchResultsUI": "https://portal.azure.com#@12f345bf-12f3-12af-12ab-1d2cd345db67/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%2F12345a-1234b-123c-123d-12345678e%2FresourceGroups%2FTEST%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2Ftestvm%22%7D%5D%7D/q/eJzzSE0sKklKTSypUSjPSC1KVQjJzE11T81LLUosSU1RSEotKU9NzdNIAfJKgDIaRgZGBroG5roGliGGxlYmJlbGJnoGEKCpp4dDmSmKMk0A/prettify/1/timespan/2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
                        "linkToSearchResultsAPI": "https://api.loganalytics.io/v1/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/TEST/providers/Microsoft.Compute/virtualMachines/testvm/query?query=Heartbeat%7C%20where%20TimeGenerated%20between%28datetime%282020-07-09T13%3A44%3A34.0000000%29..datetime%282020-07-09T13%3A54%3A34.0000000%29%29&timespan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
                        "linkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/TEST/providers/Microsoft.Compute/virtualMachines/testvm/query?query=Heartbeat%7C%20where%20TimeGenerated%20between%28datetime%282020-07-09T13%3A44%3A34.0000000%29..datetime%282020-07-09T13%3A54%3A34.0000000%29%29&timespan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z"
                    }
                ],
                "windowStartTime": "2020-07-07T13:54:34Z",
                "windowEndTime": "2020-07-09T13:54:34Z"
            }
        }
    }
}

Log Analytics için günlük araması uyarısı (API sürümüne 2018-04-16kadar )

Aşağıdaki örnek yük, Log Analytics tabanlı uyarılar için kullanılan standart bir web kancası eylemine yöneliktir:

Not

Eski "Severity" Log Analytics Uyarı API'sinden geçerli scheduledQueryRules API'sinegeçtiyseniz alan değeri değişir.

{
    "SubscriptionId": "12345a-1234b-123c-123d-12345678e",
    "AlertRuleName": "AcmeRule",
    "SearchQuery": "Perf | where ObjectName == \"Processor\" and CounterName == \"% Processor Time\" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 5m), Computer",
    "SearchIntervalStartTimeUtc": "2018-03-26T08:10:40Z",
    "SearchIntervalEndtimeUtc": "2018-03-26T09:10:40Z",
    "AlertThresholdOperator": "Greater Than",
    "AlertThresholdValue": 0,
    "ResultCount": 2,
    "SearchIntervalInSeconds": 3600,
    "LinkToSearchResults": "https://portal.azure.com/#Analyticsblade/search/index?_timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToFilteredSearchResultsUI": "https://portal.azure.com/#Analyticsblade/search/index?_timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat&timespan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
    "LinkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat&timespan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
    "Description": "log alert rule",
    "Severity": "Warning",
    "AffectedConfigurationItems": [
        "INC-Gen2Alert"
    ],
    "Dimensions": [
        {
            "name": "Computer",
            "value": "INC-Gen2Alert"
        }
    ],
    "SearchResult": {
        "tables": [
            {
                "name": "PrimaryResult",
                "columns": [
                    {
                        "name": "$table",
                        "type": "string"
                    },
                    {
                        "name": "Computer",
                        "type": "string"
                    },
                    {
                        "name": "TimeGenerated",
                        "type": "datetime"
                    }
                ],
                "rows": [
                    [
                        "Fabrikam",
                        "33446677a",
                        "2018-02-02T15:03:12.18Z"
                    ],
                    [
                        "Contoso",
                        "33445566b",
                        "2018-02-02T15:16:53.932Z"
                    ]
                ]
            }
        ]
    },
    "WorkspaceId": "12345a-1234b-123c-123d-12345678e",
    "AlertType": "Metric measurement"
}

Uygulama Analizler için günlük araması uyarısı (API sürümüne 2018-04-16kadar )

Aşağıdaki örnek yük, Uygulama Analizler kaynaklarına dayalı günlük araması uyarıları için kullanıldığında standart bir web kancası içindir:

{
    "schemaId": "Microsoft.Insights/LogAlert",
    "data": {
        "SubscriptionId": "12345a-1234b-123c-123d-12345678e",
        "AlertRuleName": "AcmeRule",
        "SearchQuery": "requests | where resultCode == \"500\" | summarize AggregatedValue = Count by bin(Timestamp, 5m), IP",
        "SearchIntervalStartTimeUtc": "2018-03-26T08:10:40Z",
        "SearchIntervalEndtimeUtc": "2018-03-26T09:10:40Z",
        "AlertThresholdOperator": "Greater Than",
        "AlertThresholdValue": 0,
        "ResultCount": 2,
        "SearchIntervalInSeconds": 3600,
        "LinkToSearchResults": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=search+*+&timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
        "LinkToFilteredSearchResultsUI": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=search+*+&timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
        "LinkToSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/metrics/requests/count",
        "LinkToFilteredSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/metrics/requests/count",
        "Description": null,
        "Severity": "3",
        "Dimensions": [
            {
                "name": "IP",
                "value": "1.1.1.1"
            }
        ],
        "SearchResult": {
            "tables": [
                {
                    "name": "PrimaryResult",
                    "columns": [
                        {
                            "name": "$table",
                            "type": "string"
                        },
                        {
                            "name": "Id",
                            "type": "string"
                        },
                        {
                            "name": "Timestamp",
                            "type": "datetime"
                        }
                    ],
                    "rows": [
                        [
                            "Fabrikam",
                            "33446677a",
                            "2018-02-02T15:03:12.18Z"
                        ],
                        [
                            "Contoso",
                            "33445566b",
                            "2018-02-02T15:16:53.932Z"
                        ]
                    ]
                }
            ]
        },
        "ApplicationId": "123123f0-01d3-12ab-123f-abc1ab01c0a1",
        "AlertType": "Metric measurement"
    }
}

Özel JSON yüküyle günlük araması uyarısı (API sürümüne 2018-04-16kadar )

Not

Özel JSON tabanlı web kancası API sürümünde 2021-08-01desteklenmez.

Aşağıdaki tabloda, varsayılan web kancası eylem özellikleri ve bunların özel JSON parametre adları listelenir.

Parametre Değişken Açıklama
AlertRuleName #alertrulename Uyarı kuralının adı.
Severity #severity Tetiklenen günlük arama uyarısı için önem derecesi ayarlandı.
AlertThresholdOperator #thresholdoperator Uyarı kuralı için eşik işleci.
AlertThresholdValue #thresholdvalue Uyarı kuralı için eşik değeri.
LinkToSearchResults #linktosearchresults Uyarıyı oluşturan sorgudaki kayıtları döndüren Analiz portalı bağlantısı.
LinkToSearchResultsAPI #linktosearchresultsapi Uyarıyı oluşturan sorgudaki kayıtları döndüren Analiz API'sine bağlantı.
LinkToFilteredSearchResultsUI #linktofilteredsearchresultsui Uyarıyı oluşturan boyut değeri birleşimlerine göre filtrelenen sorgudaki kayıtları döndüren Analiz portalı bağlantısı.
LinkToFilteredSearchResultsAPI #linktofilteredsearchresultsapi Uyarıyı oluşturan boyut değeri birleşimlerine göre filtrelenen sorgudaki kayıtları döndüren Analiz API'sine bağlantı.
ResultCount #searchresultcount Arama sonuçlarındaki kayıt sayısı.
Search Interval End time #searchintervalendtimeutc Utc'de sorgunun bitiş saati, aa/gg/yyyy HH:mm:ss AM/PM biçimindedir.
Search Interval #searchinterval Uyarı kuralının HH:mm:ss biçimindeki zaman penceresi.
Search Interval StartTime #searchintervalstarttimeutc Utc'de sorgunun başlangıç saati, aa/gg/yyyy HH:mm:ss AM/PM biçimindedir.
SearchQuery #searchquery Uyarı kuralı tarafından kullanılan günlük arama sorgusu.
SearchResults "IncludeSearchResults": true Sorgu tarafından JSON tablosu olarak döndürülen kayıtlar, ilk 1.000 kayıtla sınırlıdır. "IncludeSearchResults": true, özel bir JSON web kancası tanımına üst düzey özellik olarak eklenir.
Dimensions "IncludeDimensions": true Bu uyarıyı JSON bölümü olarak tetikleyen boyut değeri birleşimleri. "IncludeDimensions": true, özel bir JSON web kancası tanımına üst düzey özellik olarak eklenir.
Alert Type #alerttype Ölçüm ölçümü veya Sonuç sayısı olarak yapılandırılan günlük araması uyarı kuralı türü.
WorkspaceID #workspaceid Log Analytics çalışma alanınızın kimliği.
Application ID #applicationid Uygulama Analizler uygulamanızın kimliği.
Subscription ID #subscriptionid Kullanılan Azure aboneliğinizin kimliği.

Parametreleri kullanarak özel JSON yükü almak için Web kancası için özel JSON yükünü dahil et'i kullanabilirsiniz. Daha fazla özellik de oluşturabilirsiniz.

Örneğin, adlı texttek bir parametre içeren aşağıdaki özel yükü belirtebilirsiniz. Bu web kancasının çağırdığını hizmet şu parametreyi bekler:


    {
        "text":"#alertrulename fired with #searchresultcount over threshold of #thresholdvalue."
    }

Bu örnek yük, web kancasına gönderildiğinde aşağıdaki örneğe benzer bir şekilde çözülür:

    {
        "text":"My Alert Rule fired with 18 records over threshold of 10 ."
    }

Özel bir web kancası içindeki değişkenler bir JSON kasası içinde belirtilmelidir. Örneğin, web kancası örneğinde başvuruda #searchresultcount bulunmak uyarı sonuçlarına göre çıkış oluşturur.

Arama sonuçlarını eklemek için includeSearchResults öğesini özel JSON'a üst düzey özellik olarak ekleyin. Arama sonuçları bir JSON yapısı olarak dahil edilir, bu nedenle sonuçlara özel tanımlı alanlarda başvurulamazsınız.

Not

Web kancası için özel JSON yükü ekle seçeneğinin yanındaki Web Kancasını Görüntüle düğmesi, sağlananların önizlemesini görüntüler. Gerçek verileri içermez, ancak kullanılacak JSON şemasını temsil eder.

Örneğin, yalnızca uyarı adını ve arama sonuçlarını içeren özel bir yük oluşturmak için şu yapılandırmayı kullanın:

    {
       "alertname":"#alertrulename",
       "IncludeSearchResults":true
    }

Aşağıdaki örnek yük, herhangi bir günlük arama uyarısı için özel bir web kancası eylemine yöneliktir:

    {
    "alertname":"AcmeRule","IncludeSearchResults":true,
    "SearchResults":
        {
        "tables":[
                    {"name":"PrimaryResult","columns":
                        [
                        {"name":"$table","type":"string"},
                        {"name":"Id","type":"string"},
                        {"name":"TimeGenerated","type":"datetime"}
                        ],
                    "rows":
                        [
                            ["Fabrikam","33446677a","2018-02-02T15:03:12.18Z"],
                            ["Contoso","33445566b","2018-02-02T15:16:53.932Z"]
                        ]
                    }
                ]
        }
    }

Sonraki adımlar