Udostępnij za pośrednictwem


Typowe schematy alertów

Typowy schemat alertu standandaryzuje użycie powiadomień o alertach usługi Azure Monitor. W przeszłości dziennik aktywności, metryka i alerty przeszukiwania dzienników miały własne szablony wiadomości e-mail i schematy elementów webhook. Wspólny schemat alertu zawiera jeden ustandaryzowany schemat dla wszystkich powiadomień o alertach.

Użycie ustandaryzowanego schematu pomaga zminimalizować liczbę integracji, co upraszcza proces zarządzania i konserwacji integracji. Wspólny schemat umożliwia bogatsze środowisko użycia alertów zarówno w witrynie Azure Portal, jak i w aplikacji mobilnej platformy Azure.

Wspólny schemat alertów zapewnia spójną strukturę dla następujących elementów:

  • Szablony wiadomości e-mail: użyj szczegółowego szablonu wiadomości e-mail, aby szybko zdiagnozować problemy. Osadzone linki do wystąpienia alertu w portalu i do zasobu, którego dotyczy problem, zapewniają szybkie przejście do procesu korygowania.
  • Struktura JSON: użyj spójnej struktury JSON do kompilowania integracji dla wszystkich typów alertów przy użyciu:
    • Azure Logic Apps
    • Azure Functions
    • Element runbook usługi Azure Automation

Uwaga

  • Alerty generowane przez szczegółowe informacje o maszynie wirtualnej nie obsługują wspólnego schematu.
  • Alerty wykrywania inteligentnego domyślnie używają wspólnego schematu. Nie musisz włączać wspólnego schematu dla alertów wykrywania inteligentnego.

Struktura wspólnego schematu

Wspólny schemat zawiera informacje o zasobie, którego dotyczy problem, oraz przyczynę alertu w poniższych sekcjach:

  • Podstawowe informacje: pola ustandaryzowane, używane przez wszystkie typy alertów, które opisują zasób, na który ma wpływ alert i typowe metadane alertu, takie jak ważność lub opis.

    Jeśli chcesz kierować wystąpienia alertów do określonych zespołów na podstawie kryteriów, takich jak grupa zasobów, możesz użyć pól w sekcji Podstawy, aby zapewnić logikę routingu dla wszystkich typów alertów . Zespoły, które otrzymają powiadomienie o alercie, mogą następnie używać pól kontekstu do badania.

  • Kontekst alertu: pola, które różnią się w zależności od typu alertu. Pola kontekstu alertu opisują przyczynę alertu. Na przykład alert metryki będzie zawierać pola, takie jak nazwa metryki i wartość metryki w kontekście alertu. Alert dziennika aktywności zawiera informacje o zdarzeniu, które wygenerowało alert.

  • Właściwości niestandardowe: dodatkowe informacje, które nie są domyślnie uwzględnione w ładunku alertu, mogą być uwzględniane w ładunku alertu przy użyciu właściwości niestandardowych. Właściwości niestandardowe to para Key:Value , która może zawierać wszelkie informacje skonfigurowane w regule alertu.

Przykładowy ładunek alertu

{
  "schemaId": "azureMonitorCommonAlertSchema",
  "data": {
    "essentials": {
      "alertId": "/subscriptions/<subscription ID>/providers/Microsoft.AlertsManagement/alerts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
      "alertRule": "WCUS-R2-Gen2",
      "severity": "Sev3",
      "signalType": "Metric",
      "monitorCondition": "Resolved",
      "monitoringService": "Platform",
      "alertTargetIDs": [
        "/subscriptions/<subscription ID>/resourcegroups/pipelinealertrg/providers/microsoft.compute/virtualmachines/wcus-r2-gen2"
      ],
      "configurationItems": [
        "wcus-r2-gen2"
      ],
      "originAlertId": "3f2d4487-b0fc-4125-8bd5-7ad17384221e_PipeLineAlertRG_microsoft.insights_metricAlerts_WCUS-R2-Gen2_-117781227",
      "firedDateTime": "2019-03-22T13:58:24.3713213Z",
      "resolvedDateTime": "2019-03-22T14:03:16.2246313Z",
      "description": "",
      "essentialsVersion": "1.0",
      "alertContextVersion": "1.0"
    },
    "alertContext": {
      "properties": null,
      "conditionType": "SingleResourceMultipleMetricCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Percentage CPU",
            "metricNamespace": "Microsoft.Compute/virtualMachines",
            "operator": "GreaterThan",
            "threshold": "25",
            "timeAggregation": "Average",
            "dimensions": [
              {
                "name": "ResourceId",
                "value": "3efad9dc-3d50-4eac-9c87-8b3fd6f97e4e"
              }
            ],
            "metricValue": 7.727
          }
        ]
      }
    },
    "customProperties": {
      "Key1": "Value1",
      "Key2": "Value2"
    }
  }
}

Aby uzyskać przykładowe alerty korzystające ze wspólnego schematu, zobacz Przykładowe ładunki alertów.

Pola Podstawy

Pole opis
alertId Unikatowy identyfikator zasobu identyfikujący wystąpienie alertu.
alertRule Nazwa reguły alertu, która wygenerowała wystąpienie alertu.
Ważność Ważność alertu. Możliwe wartości to Sev0, Sev1, Sev2, Sev3 lub Sev4.
signalType Określa sygnał, na którym zdefiniowano regułę alertu. Możliwe wartości to Metryka, Dziennik lub Dziennik aktywności.
monitorCondition Gdy alert zostanie wyzwolony, stan monitora alertu zostanie ustawiony na wyzwolony. Jeśli podstawowy warunek, który spowodował wyczyszczenie alertu, warunek monitora jest ustawiony na Rozwiązane.
monitoringService Usługa monitorowania lub rozwiązanie, które wygenerowało alert. Usługa monitorowania określa, które pola znajdują się w kontekście alertu.
alertTargetIDs Lista identyfikatorów usługi Azure Resource Manager, których dotyczy element docelowy alertu. W przypadku alertu przeszukiwania dzienników zdefiniowanego w obszarze roboczym usługi Log Analytics lub wystąpieniu usługi Application Insights jest to odpowiedni obszar roboczy lub aplikacja.
configurationItems Lista zasobów, których dotyczy alert.
W niektórych przypadkach elementy konfiguracji mogą różnić się od elementów docelowych alertów. Na przykład w alertach przeszukiwania dzienników lub dziennika zdefiniowanych w obszarze roboczym usługi Log Analytics elementy konfiguracji są rzeczywistymi zasobami wysyłającymi dane, a nie obszarem roboczym.
  • W interfejsie API alertów przeszukiwania dzienników (reguły zaplanowanego zapytania) v2021-08-01 configurationItem wartości są pobierane z jawnie zdefiniowanych wymiarów w tym priorytecie: _ResourceId, , ResourceIdResource, Computer.
  • We wcześniejszych wersjach interfejsu API configurationItem alertów wyszukiwania dzienników wartości są pobierane niejawnie z wyników o następującym priorytecie: _ResourceId, , ResourceIdResource, Computer.
W systemach configurationItems ITSM pole służy do korelowania alertów z zasobami w bazie danych zarządzania konfiguracją.
originAlertId Identyfikator wystąpienia alertu wygenerowany przez usługę monitorowania.
firedDateTime Data i godzina uruchomienia wystąpienia alertu w uniwersalnym czasie koordynowanym (UTC).
resolvedDateTime Data i godzina ustawienia warunku monitora wystąpienia alertu na wartość Rozwiązano w formacie UTC. Obecnie dotyczy tylko alertów dotyczących metryk.
opis Opis, zgodnie z definicją w regule alertu.
alertRuleID Identyfikator reguły alertu, która wygenerowała wystąpienie alertu.
resourceType Typ zasobu, którego dotyczy alert.
resourceGroupName Nazwa grupy zasobów dla zasobu, na który ma to wpływ.
essentialsVersion Numer wersji sekcji podstaw.
alertContextVersion Numer alertContext wersji sekcji.
investigationLink Link do zbadania alertu w usłudze Azure Monitor. Obecnie wymagana jest ograniczona rejestracja w wersji zapoznawczej.

Pola kontekstu alertu dla alertów dotyczących metryk

Pole opis
właściwości (Opcjonalnie). Kolekcja właściwości zdefiniowanych przez klienta.
conditionType Typ warunku wybranego dla reguły alertu:
- próg statyczny
- próg dynamiczny
- webtest
condition
windowSize Okres analizowany przez regułę alertu.
allOf Wskazuje, że wszystkie warunki zdefiniowane w regule alertu muszą zostać spełnione, aby wyzwolić alert.
alertSensitivity W regule alertu z progiem dynamicznym wskazuje, jak wrażliwa jest reguła lub ile wartość może odbiegać od górnego lub niższego progu.
failPeriods W regule alertu z progiem dynamicznym liczba okresów oceny, które nie spełniają progu alertu, który wyzwoli alert. Możesz na przykład wskazać, że alert jest wyzwalany, gdy 3 z ostatnich pięciu okresów oceny nie mieści się w progach alertów.
numberOfEvaluationPeriods Całkowita liczba ocen.
minFailingPeriodsToAlert Minimalna liczba ocen, które nie spełniają warunków reguły alertu.
ignoreDataBefore (Opcjonalnie). W regule alertu z progiem dynamicznym data, z której jest obliczany próg. Użyj tej wartości, aby wskazać, że reguła nie powinna obliczać progu dynamicznego przy użyciu danych sprzed określonej daty.
metricName Nazwa metryki monitorowanej przez regułę alertu.
metricNamespace Przestrzeń nazw metryki monitorowana przez regułę alertu.
operator Operator logiczny reguły alertu.
threshold Próg zdefiniowany w regule alertu. W przypadku reguły alertu z progiem dynamicznym ta wartość to obliczony próg.
timeAggregation Typ agregacji reguły alertu.
wymiary Wymiar metryki, który wyzwolił alert.
name Nazwa wymiaru.
wartość Wartość wymiaru.
metricValue Wartość metryki w momencie naruszenia progu.
webTestName Jeśli typ warunku to webtest, nazwa testu internetowego.
windowStartTime Godzina rozpoczęcia okna oceny, w którym został wyzwolony alert.
windowEndTime Godzina zakończenia okna oceny, w którym został wyzwolony alert.

Przykładowy alert metryki z progiem statycznym, gdy monitorService = Platform

{
  "alertContext": {
      "properties": null,
      "conditionType": "SingleResourceMultipleMetricCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Percentage CPU",
            "metricNamespace": "Microsoft.Compute/virtualMachines",
            "operator": "GreaterThan",
            "threshold": "25",
            "timeAggregation": "Average",
            "dimensions": [
              {
                "name": "ResourceId",
                "value": "3efad9dc-3d50-4eac-9c87-8b3fd6f97e4e"
              }
            ],
            "metricValue": 31.1105
          }
        ],
        "windowStartTime": "2019-03-22T13:40:03.064Z",
        "windowEndTime": "2019-03-22T13:45:03.064Z"
      }
    }
}

Przykładowy alert metryki z progiem dynamicznym, gdy monitorService = Platform

{
  "alertContext": {
      "properties": null,
      "conditionType": "DynamicThresholdCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "alertSensitivity": "High",
            "failingPeriods": {
              "numberOfEvaluationPeriods": 1,
              "minFailingPeriodsToAlert": 1
            },
            "ignoreDataBefore": null,
            "metricName": "Egress",
            "metricNamespace": "microsoft.storage/storageaccounts",
            "operator": "GreaterThan",
            "threshold": "47658",
            "timeAggregation": "Total",
            "dimensions": [],
            "metricValue": 50101
          }
        ],
        "windowStartTime": "2021-07-20T05:07:26.363Z",
        "windowEndTime": "2021-07-20T05:12:26.363Z"
      }
    }
}

Przykładowy alert dotyczący metryk dla testów dostępności, gdy parametr monitoringService = Platform

{
  "alertContext": {
      "properties": null,
      "conditionType": "WebtestLocationAvailabilityCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Failed Location",
            "metricNamespace": null,
            "operator": "GreaterThan",
            "threshold": "2",
            "timeAggregation": "Sum",
            "dimensions": [],
            "metricValue": 5,
            "webTestName": "myAvailabilityTest-myApplication"
          }
        ],
        "windowStartTime": "2019-03-22T13:40:03.064Z",
        "windowEndTime": "2019-03-22T13:45:03.064Z"
      }
    }
}

Pola kontekstu alertu dla alertów przeszukiwania dzienników

Uwaga

Po włączeniu wspólnego schematu pola w ładunku są resetowane do typowych pól schematu. W związku z tym alerty przeszukiwania dzienników mają następujące ograniczenia dotyczące wspólnego schematu:

  • Wspólny schemat nie jest obsługiwany w przypadku alertów przeszukiwania dzienników przy użyciu elementów webhook z niestandardowym tematem wiadomości e-mail i/lub ładunkiem JSON, ponieważ wspólny schemat zastępuje konfiguracje niestandardowe.
  • Alerty korzystające ze wspólnego schematu mają górny limit rozmiaru 256 KB na alert. Jeśli ładunek alertów przeszukiwania dzienników zawiera wyniki wyszukiwania, które powodują przekroczenie maksymalnego rozmiaru alertu, wyniki wyszukiwania nie są osadzone w ładunku alertów przeszukiwania dzienników. Możesz sprawdzić, czy ładunek zawiera wyniki wyszukiwania z flagą IncludedSearchResults . Użyj LinkToFilteredSearchResultsAPI polecenia lub LinkToSearchResultsAPI , aby uzyskać dostęp do wyników zapytania za pomocą interfejsu API usługi Log Analytics, jeśli wyniki wyszukiwania nie są uwzględnione.
Pole opis
Zapytanie wyszukiwania Zapytanie zdefiniowane w regule alertu.
SearchIntervalStartTimeUtc Godzina rozpoczęcia okna oceny, w którym alert został wyzwolony w formacie UTC.
SearchIntervalEndTimeUtc Godzina zakończenia okna oceny, w którym alert został wyzwolony w formacie UTC.
ResultCount Liczba rekordów zwracanych przez zapytanie. W przypadku reguł pomiaru metryk liczba lub rekordy pasujące do określonej kombinacji wymiarów.
LinkToSearchResults Link do wyników wyszukiwania.
LinkToFilteredSearchResultsUI W przypadku reguł pomiaru metryk link do wyników wyszukiwania po ich przefiltrowania według kombinacji wymiarów.
LinkToSearchResultsAPI Link do wyników zapytania przy użyciu interfejsu API usługi Log Analytics.
LinkToFilteredSearchResultsAPI W przypadku reguł pomiaru metryk link do wyników wyszukiwania przy użyciu interfejsu API usługi Log Analytics po ich przefiltrowaniu według kombinacji wymiarów.
SearchIntervalDurationMin Łączna liczba minut w interwale wyszukiwania.
SearchIntervalInMin Łączna liczba minut w interwale wyszukiwania.
Threshold Próg zdefiniowany w regule alertu.
Operator Operator zdefiniowany w regule alertu.
ApplicationID Identyfikator usługi Application Insights, na którym został wyzwolony alert.
Wymiary W przypadku reguł pomiaru metryk wymiary metryki, na których został wyzwolony alert.
name Nazwa wymiaru.
wartość Wartość wymiaru.
SearchResults Kompletne wyniki wyszukiwania.
table Tabela wyników w wynikach wyszukiwania.
name Nazwa tabeli w wynikach wyszukiwania.
kolumny Kolumny w tabeli.
name Nazwa kolumny.
type Typ kolumny.
wiersze Wiersze w tabeli.
Źródła danych Źródła danych, w których został wyzwolony alert.
resourceID Identyfikator zasobu, którego dotyczy alert.
Tabele Wersje robocze tabel odpowiedzi zawarte w zapytaniu.
IncludedSearchResults Flaga wskazująca, czy ładunek powinien zawierać wyniki.
AlertType Typ alertu:
- Pomiar metryki
- Liczba wyników

Przykładowy alert przeszukiwania dzienników podczas monitorowaniaService = Log Analytics

{
  "alertContext": {
    "SearchQuery": "Perf | where ObjectName == \"Processor\" and CounterName == \"% Processor Time\" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 5m), Computer",
    "SearchIntervalStartTimeUtc": "3/22/2019 1:36:31 PM",
    "SearchIntervalEndtimeUtc": "3/22/2019 1:51:31 PM",
    "ResultCount": 2,
    "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",
    "SeverityDescription": "Warning",
    "WorkspaceId": "12345a-1234b-123c-123d-12345678e",
    "SearchIntervalDurationMin": "15",
    "AffectedConfigurationItems": [
      "INC-Gen2Alert"
    ],
    "SearchIntervalInMinutes": "15",
    "Threshold": 10000,
    "Operator": "Less Than",
    "Dimensions": [
      {
        "name": "Computer",
        "value": "INC-Gen2Alert"
      }
    ],
    "SearchResults": {
      "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"
            ]
          ]
        }
      ],
      "dataSources": [
        {
          "resourceId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

Przykładowy alert przeszukiwania dzienników podczas monitorowaniaService = Application Insights

{
  "alertContext": {
    "SearchQuery": "requests | where resultCode == \"500\" | summarize AggregatedValue = Count by bin(Timestamp, 5m), IP",
    "SearchIntervalStartTimeUtc": "3/22/2019 1:36:33 PM",
    "SearchIntervalEndtimeUtc": "3/22/2019 1:51:33 PM",
    "ResultCount": 2,
    "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",
    "SearchIntervalDurationMin": "15",
    "SearchIntervalInMinutes": "15",
    "Threshold": 10000.0,
    "Operator": "Less Than",
    "ApplicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "Dimensions": [
      {
        "name": "IP",
        "value": "1.1.1.1"
      }
    ],
    "SearchResults": {
      "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"
            ]
          ]
        }
      ],
      "dataSources": [
        {
          "resourceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

Przykładowy alert przeszukiwania dzienników, gdy monitorService = Log Alerts V2

Uwaga

Reguły alertów przeszukiwania dzienników z interfejsu API w wersji 2020-05-01 używają tego typu ładunku, który obsługuje tylko wspólny schemat. Wyniki wyszukiwania nie są osadzone w ładunku alertów przeszukiwania dzienników podczas korzystania z tej wersji. Użyj wymiarów , aby zapewnić kontekst wyzwalanych alertów. Możesz również użyć LinkToFilteredSearchResultsAPI funkcji lub LinkToSearchResultsAPI uzyskać dostęp do wyników zapytań za pomocą interfejsu API usługi Log Analytics. Jeśli musisz osadzić wyniki, użyj aplikacji logiki z podanymi linkami, aby wygenerować niestandardowy ładunek.

{
  "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": "Computer",
              "value": "TestComputer"
            }
          ],
          "metricValue": 0.0,
          "failingPeriods": {
            "numberOfEvaluationPeriods": 1,
            "minFailingPeriodsToAlert": 1
          },
          "linkToSearchResultsUI": "https://portal.azure.com#@12345a-1234b-123c-123d-12345678e/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%212345a-1234b-123c-123d-12345678e%2FresourceGroups%2FContoso%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2FContoso%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#@12345a-1234b-123c-123d-12345678e/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%212345a-1234b-123c-123d-12345678e%2FresourceGroups%2FContoso%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2FContoso%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/Contoso/providers/Microsoft.Compute/virtualMachines/Contoso/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/Contoso/providers/Microsoft.Compute/virtualMachines/Contoso/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"
    }
  }
}

Pola kontekstu alertu dla alertów dziennika aktywności

Zobacz Schemat zdarzeń dziennika aktywności platformy Azure, aby uzyskać szczegółowe informacje o polach w alertach dziennika aktywności.

Przykładowy alert dziennika aktywności, gdy monitorService = Dziennik aktywności — Administracja

{
  "alertContext": {
      "authorization": {
        "action": "Microsoft.Compute/virtualMachines/restart/action",
        "scope": "/subscriptions/<subscription ID>/resourceGroups/PipeLineAlertRG/providers/Microsoft.Compute/virtualMachines/WCUS-R2-ActLog"
      },
      "channels": "Operation",
      "claims": "{\"aud\":\"https://management.core.windows.net/\",\"iss\":\"https://sts.windows.net/12345a-1234b-123c-123d-12345678e/\",\"iat\":\"1553260826\",\"nbf\":\"1553260826\",\"exp\":\"1553264726\",\"aio\":\"42JgYNjdt+rr+3j/dx68v018XhuFAwA=\",\"appid\":\"11112222-bbbb-3333-cccc-4444dddd5555\",\"appidacr\":\"2\",\"http://schemas.microsoft.com/identity/claims/identityprovider\":\"https://sts.windows.net/12345a-1234b-123c-123d-12345678e/\",\"http://schemas.microsoft.com/identity/claims/objectidentifier\":\"22223333-cccc-4444-dddd-5555eeee6666\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"22223333-cccc-4444-dddd-5555eeee6666\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"12345a-1234b-123c-123d-12345678e\",\"uti\":\"v5wYC9t9ekuA2rkZSVZbAA\",\"ver\":\"1.0\"}",
      "caller": "22223333-cccc-4444-dddd-5555eeee6666",
      "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
      "eventSource": "Administrative",
      "eventTimestamp": "2019-03-22T13:56:31.2917159+00:00",
      "eventDataId": "161fda7e-1cb4-4bc5-9c90-857c55a8f57b",
      "level": "Informational",
      "operationName": "Microsoft.Compute/virtualMachines/restart/action",
      "operationId": "310db69b-690f-436b-b740-6103ab6b0cba",
      "status": "Succeeded",
      "subStatus": "",
      "submissionTimestamp": "2019-03-22T13:56:54.067593+00:00"
    }
}

Przykładowy alert dziennika aktywności, gdy monitorService = Dziennik aktywności — zasady

{
  "alertContext": {
    "authorization": {
      "action": "Microsoft.Resources/checkPolicyCompliance/read",
      "scope": "/subscriptions/<GUID>"
    },
    "channels": "Operation",
    "claims": "{\"aud\":\"https://management.azure.com/\",\"iss\":\"https://sts.windows.net/<GUID>/\",\"iat\":\"1566711059\",\"nbf\":\"1566711059\",\"exp\":\"1566740159\",\"aio\":\"42FgYOhynHNw0scy3T/bL71+xLyqEwA=\",\"appid\":\"<GUID>\",\"appidacr\":\"2\",\"http://schemas.microsoft.com/identity/claims/identityprovider\":\"https://sts.windows.net/<GUID>/\",\"http://schemas.microsoft.com/identity/claims/objectidentifier\":\"<GUID>\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"<GUID>\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"<GUID>\",\"uti\":\"Miy1GzoAG0Scu_l3m1aIAA\",\"ver\":\"1.0\"}",
    "caller": "<GUID>",
    "correlationId": "<GUID>",
    "eventSource": "Policy",
    "eventTimestamp": "2019-08-25T11:11:34.2269098+00:00",
    "eventDataId": "<GUID>",
    "level": "Warning",
    "operationName": "Microsoft.Authorization/policies/audit/action",
    "operationId": "<GUID>",
    "properties": {
      "isComplianceCheck": "True",
      "resourceLocation": "eastus2",
      "ancestors": "<GUID>",
      "policies": "[{\"policyDefinitionId\":\"/providers/Microsoft.Authorization/policyDefinitions/<GUID>/\",\"policySetDefinitionId\":\"/providers/Microsoft.Authorization/policySetDefinitions/<GUID>/\",\"policyDefinitionReferenceId\":\"vulnerabilityAssessmentMonitoring\",\"policySetDefinitionName\":\"<GUID>\",\"policyDefinitionName\":\"<GUID>\",\"policyDefinitionEffect\":\"AuditIfNotExists\",\"policyAssignmentId\":\"/subscriptions/<GUID>/providers/Microsoft.Authorization/policyAssignments/SecurityCenterBuiltIn/\",\"policyAssignmentName\":\"SecurityCenterBuiltIn\",\"policyAssignmentScope\":\"/subscriptions/<GUID>\",\"policyAssignmentSku\":{\"name\":\"A1\",\"tier\":\"Standard\"},\"policyAssignmentParameters\":{}}]"
    },
    "status": "Succeeded",
    "subStatus": "",
    "submissionTimestamp": "2019-08-25T11:12:46.1557298+00:00"
  }
}

Przykładowy alert dziennika aktywności, gdy monitorService = Dziennik aktywności — autoskalowanie

{
  "alertContext": {
    "channels": "Admin, Operation",
    "claims": "{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn\":\"Microsoft.Insights/autoscaleSettings\"}",
    "caller": "Microsoft.Insights/autoscaleSettings",
    "correlationId": "<GUID>",
    "eventSource": "Autoscale",
    "eventTimestamp": "2019-08-21T16:17:47.1551167+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Insights/AutoscaleSettings/Scaleup/Action",
    "operationId": "<GUID>",
    "properties": {
      "description": "The autoscale engine attempting to scale resource '/subscriptions/d<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS' from 9 instances count to 10 instances count.",
      "resourceName": "/subscriptions/<GUID>/resourceGroups/voiceassistancedemo/providers/Microsoft.Compute/virtualMachineScaleSets/alexademo",
      "oldInstancesCount": "9",
      "newInstancesCount": "10",
      "activeAutoscaleProfile": "{\r\n  \"Name\": \"Auto created scale condition\",\r\n  \"Capacity\": {\r\n    \"Minimum\": \"1\",\r\n    \"Maximum\": \"10\",\r\n    \"Default\": \"1\"\r\n  },\r\n  \"Rules\": [\r\n    {\r\n      \"MetricTrigger\": {\r\n        \"Name\": \"Percentage CPU\",\r\n        \"Namespace\": \"microsoft.compute/virtualmachinescalesets\",\r\n        \"Resource\": \"/subscriptions/<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS\",\r\n        \"ResourceLocation\": \"eastus\",\r\n        \"TimeGrain\": \"PT1M\",\r\n        \"Statistic\": \"Average\",\r\n        \"TimeWindow\": \"PT5M\",\r\n        \"TimeAggregation\": \"Average\",\r\n        \"Operator\": \"GreaterThan\",\r\n        \"Threshold\": 0.0,\r\n        \"Source\": \"/subscriptions/<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS\",\r\n        \"MetricType\": \"MDM\",\r\n        \"Dimensions\": [],\r\n        \"DividePerInstance\": false\r\n      },\r\n      \"ScaleAction\": {\r\n        \"Direction\": \"Increase\",\r\n        \"Type\": \"ChangeCount\",\r\n        \"Value\": \"1\",\r\n        \"Cooldown\": \"PT1M\"\r\n      }\r\n    }\r\n  ]\r\n}",
      "lastScaleActionTime": "Wed, 21 Aug 2019 16:17:47 GMT"
    },
    "status": "Succeeded",
    "submissionTimestamp": "2019-08-21T16:17:47.2410185+00:00"
  }
}

Przykładowy alert dziennika aktywności, gdy monitorService = Dziennik aktywności — Zabezpieczenia

{
  "alertContext": {
    "channels": "Operation",
    "correlationId": "<GUID>",
    "eventSource": "Security",
    "eventTimestamp": "2019-08-26T08:34:14+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Security/locations/alerts/activate/action",
    "operationId": "<GUID>",
    "properties": {
      "threatStatus": "Quarantined",
      "category": "Virus",
      "threatID": "2147519003",
      "filePath": "C:\\AlertGeneration\\test.eicar",
      "protectionType": "Windows Defender",
      "actionTaken": "Blocked",
      "resourceType": "Virtual Machine",
      "severity": "Low",
      "compromisedEntity": "testVM",
      "remediationSteps": "[\"No user action is necessary\"]",
      "attackedResourceType": "Virtual Machine"
    },
    "status": "Active",
    "submissionTimestamp": "2019-08-26T09:28:58.3019107+00:00"
  }
}

Przykładowy alert dziennika aktywności, gdy monitorService = ServiceHealth

{
  "alertContext": {
    "authorization": null,
    "channels": 1,
    "claims": null,
    "caller": null,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "eventSource": 2,
    "eventTimestamp": "2019-06-24T11:31:19.0312699+00:00",
    "httpRequest": null,
    "eventDataId": "<GUID>",
    "level": 3,
    "operationName": "Microsoft.ServiceHealth/maintenance/action",
    "operationId": "<GUID>",
    "properties": {
      "title": "Azure Synapse Analytics Scheduled Maintenance Pending",
      "service": "Azure Synapse Analytics",
      "region": "East US",
      "communication": "<MESSAGE>",
      "incidentType": "Maintenance",
      "trackingId": "<GUID>",
      "impactStartTime": "2019-06-26T04:00:00Z",
      "impactMitigationTime": "2019-06-26T12:00:00Z",
      "impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"East US\"}],\"ServiceName\":\"Azure Synapse Analytics\"}]",
      "impactedServicesTableRows": "<tr>\r\n<td align='center' style='padding: 5px 10px; border-right:1px solid black; border-bottom:1px solid black'>Azure Synapse Analytics</td>\r\n<td align='center' style='padding: 5px 10px; border-bottom:1px solid black'>East US<br></td>\r\n</tr>\r\n",
      "defaultLanguageTitle": "Azure Synapse Analytics Scheduled Maintenance Pending",
      "defaultLanguageContent": "<MESSAGE>",
      "stage": "Planned",
      "communicationId": "<GUID>",
      "maintenanceId": "<GUID>",
      "isHIR": "false",
      "version": "0.1.1"
    },
    "status": "Active",
    "subStatus": null,
    "submissionTimestamp": "2019-06-24T11:31:31.7147357+00:00",
    "ResourceType": null
  }
}

Przykładowy alert dziennika aktywności, gdy monitorService = ResourceHealth

{
  "alertContext": {
    "channels": "Admin, Operation",
    "correlationId": "<GUID>",
    "eventSource": "ResourceHealth",
    "eventTimestamp": "2019-06-24T15:42:54.074+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Resourcehealth/healthevent/Activated/action",
    "operationId": "<GUID>",
    "properties": {
      "title": "This virtual machine is stopping and deallocating as requested by an authorized user or process",
      "details": null,
      "currentHealthStatus": "Unavailable",
      "previousHealthStatus": "Available",
      "type": "Downtime",
      "cause": "UserInitiated"
    },
    "status": "Active",
    "submissionTimestamp": "2019-06-24T15:45:20.4488186+00:00"
  }
}

Pola kontekstu alertu dla alertów Prometheus

Aby uzyskać szczegółowe informacje na temat pól w alertach Prometheus, zobacz Usługa zarządzana usługi Azure Monitor dla grup reguł Rozwiązania Prometheus.

Przykładowy alert Prometheus

{
  "alertContext": {
    "interval": "PT1M",
    "expression": "sql_up > 0",
    "expressionValue": "0",
    "for": "PT2M",
    "labels": {
      "Environment": "Prod",
      "cluster": "myCluster1"
    },
    "annotations": {
      "summary": "alert on SQL availability"
    },
    "ruleGroup": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myRuleGroup"
  }
}

Pola właściwości niestandardowych

Jeśli reguła alertu, która wygenerowała alert, zawiera grupy akcji, właściwości niestandardowe mogą zawierać dodatkowe informacje o alercie. Sekcja właściwości niestandardowych zawiera obiekty "key: value", które są dodawane do powiadomień elementu webhook.

Jeśli właściwości niestandardowe nie są ustawione w regule alertu, pole ma wartość null.

Włączanie wspólnego schematu alertów

Użyj grup akcji w witrynie Azure Portal lub użyj interfejsu API REST, aby włączyć wspólny schemat alertów. Schematy są definiowane na poziomie akcji. Na przykład należy oddzielnie włączyć schemat dla akcji poczty e-mail i akcji elementu webhook.

Włączanie wspólnego schematu w witrynie Azure Portal

Zrzut ekranu przedstawiający opcję wyboru wspólnego schematu alertów.

  1. Otwórz dowolną istniejącą akcję lub nową akcję w grupie akcji.
  2. Wybierz pozycję Tak , aby włączyć wspólny schemat alertu.

Włączanie wspólnego schematu przy użyciu interfejsu API REST

Możesz również użyć interfejsu API grup akcji, aby wyrazić zgodę na wspólny schemat alertu. W wywołaniu interfejsu API REST tworzenia lub aktualizowania

  • Ustaw flagę "useCommonAlertSchema", aby true włączyć wspólny schemat
  • Ustaw flagę "useCommonAlertSchema", aby używać false nietypowego schematu dla wiadomości e-mail, elementu webhook, usługi Logic Apps, usługi Azure Functions lub akcji elementu Runbook usługi Automation.

Przykładowe wywołanie interfejsu API REST do używania wspólnego schematu

Następujące żądanie tworzenia lub aktualizowania interfejsu API REST:

  • Włącza wspólny schemat alertów dla akcji wiadomości e-mail "Wiadomość e-mail Johna Doe".
  • Wyłącza wspólny schemat alertu dla akcji wiadomości e-mail "Wiadomość e-mail Jane Smith".
  • Włącza wspólny schemat alertów dla akcji elementu webhook "Przykładowy element webhook".
{
  "properties": {
    "groupShortName": "sample",
    "enabled": true,
    "emailReceivers": [
      {
        "name": "John Doe's email",
        "emailAddress": "johndoe@email.com",
        "useCommonAlertSchema": true
      },
      {
        "name": "Jane Smith's email",
        "emailAddress": "janesmith@email.com",
        "useCommonAlertSchema": false
      }
    ],
    "smsReceivers": [
      {
        "name": "John Doe's mobile",
        "countryCode": "1",
        "phoneNumber": "1234567890"
      },
      {
        "name": "Jane Smith's mobile",
        "countryCode": "1",
        "phoneNumber": "0987654321"
      }
    ],
    "webhookReceivers": [
      {
        "name": "Sample webhook",
        "serviceUri": "http://www.example.com/webhook",
        "useCommonAlertSchema": true
      }
    ]
  },
  "location": "Global",
  "tags": {}
}

Następne kroki