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.
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żyjLinkToFilteredSearchResultsAPI
polecenia lubLinkToSearchResultsAPI
, 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×pan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
"LinkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat×pan=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×pan=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×pan=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
- Otwórz dowolną istniejącą akcję lub nową akcję w grupie akcji.
- 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": {}
}