Schéma d’alerte courant
Le schéma d’alerte commun standardise la consommation de notifications d'alerte pour Azure Monitor. Historiquement, les alertes de journal d’activité, de métrique et de recherche dans les journaux avaient chacune leurs propres modèles d’e-mail et schémas de webhook. Le schéma d’alerte commun est un schéma standardisé pour toutes les notifications d’alerte.
Utiliser un schéma standardisé vous permet de réduire le nombre d’intégrations, ce qui simplifie le processus de gestion et de maintenance de vos intégrations. Le schéma courant enrichit l’expérience de consommation des alertes dans le portail Azure et Azure mobile app.
Le schéma d’alerte commun fournit une structure cohérente pour :
- Modèles d’e-mail : utilisez le modèle d’e-mail détaillé pour diagnostiquer les problèmes en un coup d’œil. Des liens incorporés vers l’instance d’alerte dans le portail et vers la ressource affectée vous permettent d’accéder rapidement au processus de correction.
- Structure JSON : Utilisez la structure JSON cohérente pour générer des intégrations pour tous les types d’alertes à l’aide de :
- Azure Logic Apps
- Azure Functions
- Runbook Azure Automation
Notes
- Les alertes générées par VM Insights ne prennent pas en charge le schéma commun.
- Les alertes de détection intelligente utilisent le schéma commun par défaut. Vous n’avez pas besoin d’activer le schéma commun pour les alertes de détection intelligente.
Structure du schéma commun
Le schéma commun comprend des informations sur la ressource affectée et la cause de l’alerte dans ces sections :
Éléments principaux : champs standardisés, utilisés par tous les types d’alerte qui décrivent la ressource affectée par l’alerte et les métadonnées d’alerte courantes, comme la gravité ou la description.
Si vous voulez router les instances d’alerte vers des équipes spécifiques en fonction de critères comme le groupe de ressources, vous pouvez utiliser les champs de la section Éléments principaux afin de fournir une logique de routage pour tous les types d’alerte. Les équipes qui reçoivent la notification d’alerte peuvent ensuite utiliser les champs de contexte pour leur investigation.
Contexte d’alerte : champs qui varient en fonction du type de l’alerte. Les champs de contexte d’alerte décrivent la cause de l’alerte. Par exemple, une alerte métrique comporte des champs tels que le nom de la métrique et la valeur de la métrique dans le contexte de l'alerte. Une alerte de journal d’activité aurait des informations sur l’événement qui a généré l’alerte.
Propriétés personnalisées : Des informations supplémentaires, non incluses dans la charge utile d’alerte par défaut, peuvent être incluses dans la charge utile d’alerte au moyen de propriétés personnalisées. Les propriétés personnalisées sont une paire Clé:Valeur capable d’inclure toutes les informations configurées dans la règle d’alerte.
Exemple de charge utile d’alerte
{
"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"
}
}
}
Pour des exemples d’alertes utilisant le schéma commun, consultez Exemples de charges utiles pour alerte.
Champs des éléments principaux
Champ | Description |
---|---|
alertId | L’ID unique de la ressource qui identifie l’instance d’alerte. |
alertRule | Nom de la règle d’alerte qui a généré l’instance d’alerte. |
severity | Gravité de l’alerte. Les valeurs possibles sont Sev0, Sev1, Sev2, Sev3 ou Sev4. |
signalType | Identifie le signal sur lequel la règle d’alerte a été définie. Les valeurs possibles sont Métrique, Journal ou Journal d’activité. |
monitorCondition | Quand une alerte se déclenche, la condition d’analyse de l’alerte est Déclenché. Quand la condition sous-jacente qui a déclenché l’alerte disparaît, la condition d’analyse est Résolu. |
monitoringService | La solution ou le service de supervision qui a généré l’alerte. Le service de surveillance détermine les champs se trouvant dans le contexte d’alerte. |
alertTargetIDs | Liste des ID Azure Resource Manager qui sont des cibles affectées d’une alerte. Pour une alerte de recherche dans les journaux définie sur un espace de travail Log Analytics ou une instance Application Insights, il s’agit de l’espace de travail ou de l’application respectifs. |
configurationItems | Liste des ressources affectées d’une alerte. Dans certains cas, les éléments de configuration peuvent être différents des cibles d’alerte. Par exemple, dans metric-for-log ou dans les alertes de recherche dans les journaux définies dans un espace de travail Log Analytics, les éléments de configuration sont les ressources qui envoient les données et non l’espace de travail.
configurationItems est utilisé pour mettre en corrélation les alertes avec les ressources dans une base de données de gestion de la configuration. |
originAlertId | ID de l’instance d’alerte tel que généré par le service de surveillance. |
firedDateTime | Date et heure, en temps universel coordonné (UTC), auxquelles l’instance d’alerte a été déclenchée. |
resolvedDateTime | Date et heure, en temps universel coordonné (UTC), auxquelles la condition d’analyse pour l’instance d’alerte a été définie sur Résolu. Applicable uniquement aux alertes de métrique. |
description | Description telle que définie dans la règle d’alerte. |
alertRuleID | ID de la règle d’alerte qui a généré l’instance d’alerte. |
resourceType | Type de ressource affecté par l’alerte. |
resourceGroupName | Nom du groupe de ressources de la ressource affectée. |
essentialsVersion | Numéro de version de la section « essentials ». |
alertContextVersion | Numéro de version de la section alertContext . |
investigationLink | Lien pour examiner l’alerte dans Azure Monitor. Nécessite actuellement une inscription à la préversion limitée. |
Champs de contexte d’alerte pour les alertes de métrique
Champ | Description |
---|---|
properties | (Facultatif.) Une collection de propriétés définies par le client. |
conditionType | Type de condition choisie pour la règle d’alerte : - seuil statique - seuil dynamique - webtest |
condition | |
windowSize | La période analysée par la règle d’alerte. |
allOf | Indique la nécessiter de remplir toutes les conditions définies dans la règle d’alerte pour déclencher une alerte. |
alertSensitivity | Dans une règle d’alerte avec un seuil dynamique, cela indique combien la règle est sensible ou combien la valeur peut dévier du seuil supérieur ou inférieur. |
failingPeriods | Dans une règle d’alerte avec un seuil dynamique, le nombre de périodes d’évaluation ne répondant pas au seuil d’alerte qui déclenche une alerte. Vous pouvez par exemple indiquer qu’une alerte est déclenchée lorsque 3 des cinq dernières périodes d’évaluation ne se trouvent pas dans les seuils d’alerte. |
numberOfEvaluationPeriods | Le nombre total d’évaluations. |
minFailingPeriodsToAlert | Le nombre minimal d’évaluations qui ne répondent pas aux conditions de la règle d’alerte. |
ignoreDataBefore | (Facultatif.) Dans une règle d’alerte avec un seuil dynamique, la date à partir de laquelle le seuil est calculé. Utilisez cette valeur pour indiquer que la règle ne doit pas calculer le seuil dynamique au moyen de données antérieures à la date spécifiée. |
metricName | Le nom de la métrique surveillée par la règle d’alerte. |
metricNamespace | L’espace de noms de la métrique surveillée par la règle d’alerte. |
operator | L’opérateur logique de la règle d’alerte. |
threshold | Le seuil défini dans la règle d’alerte. Pour une règle d’alerte avec un seuil dynamique, cette valeur correspond au seuil calculé. |
timeAggregation | Le type d'agrégation de la règle d'alerte. |
dimensions | La dimension de la métrique qui a déclenché l’alerte. |
name | Le nom de la dimension. |
valeur | La valeur de dimension. |
metricValue | La valeur de la métrique au moment où elle a contrevenu au seuil. |
webTestName | Si le type de condition est webtest , le nom du test web. |
windowStartTime | L’heure de démarrage de la fenêtre d’évaluation dans laquelle l’alerte s’est déclenchée. |
windowEndTime | L’heure de fin de la fenêtre d’évaluation dans laquelle l’alerte s’est déclenchée. |
Exemple d’alerte de métrique avec un seuil statique quand le monitoringService = 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"
}
}
}
Exemple d’alerte de métrique avec un seuil dynamique quand le monitoringService = 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"
}
}
}
Exemple d’alerte de métrique pour des tests de disponibilité quand le 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"
}
}
}
Champs de contexte d’alerte pour les alertes de recherche dans les journaux
Remarque
Quand vous activez le schéma commun, les champs de la charge utile sont réinitialisés sur les champs du schéma commun. Par conséquent, les alertes de recherche dans les journaux ont les limitations suivantes concernant le schéma commun :
- Le schéma commun n’est pas pris en charge pour les alertes de recherche dans les journaux utilisant des webhooks avec un objet d’e-mail personnalisé et/ou une charge utile JSON, car le schéma commun remplace les configurations personnalisées.
- Les alertes utilisant le schéma commun ont une limite de taille maximale de 256 Ko par alerte. Si la charge utile des alertes de recherche dans les journaux comprend des résultats de recherche qui entraînent le dépassement de la taille maximale de l’alerte, les résultats de recherche ne sont pas incorporés dans la charge utile des alertes de recherche dans les journaux. Vous pouvez vérifier si la charge utile comprend les résultats de recherche avec l’indicateur
IncludedSearchResults
. UtilisezLinkToFilteredSearchResultsAPI
ouLinkToSearchResultsAPI
pour accéder aux résultats de requête avec l’API Log Analytics si les résultats de recherche ne sont pas dans la charge utile.
Champ | Description |
---|---|
SearchQuery | La requête définie dans la règle d’alerte. |
SearchIntervalStartTimeUtc | L’heure de démarrage de la fenêtre d’évaluation dans laquelle l’alerte s’est déclenchée en UTC. |
SearchIntervalEndTimeUtc | L’heure de fin de la fenêtre d’évaluation dans laquelle l’alerte s’est déclenchée en UTC. |
ResultCount | Le nombre d’enregistrements renvoyés par la requête. Pour les règles de mesure de métrique, le nombre ou les enregistrements qui correspondent à la combinaison de dimensions spécifique. |
LinkToSearchResults | Un lien vers les résultats de recherche. |
LinkToFilteredSearchResultsUI | Pour les règles de mesure de métrique, le lien vers les résultats de recherche après leur filtrage par les combinaisons de dimensions. |
LinkToSearchResultsAPI | Un lien vers les résultats de la requête au moyen de l’API Log Analytics. |
LinkToFilteredSearchResultsAPI | Pour les règles de mesure de métrique, le lien vers les résultats de recherche au moyen de l’API Log Analytics après leur filtrage par les combinaisons de dimension. |
SearchIntervalDurationMin | Le nombre total de minutes dans l’intervalle de recherche. |
SearchIntervalInMin | Le nombre total de minutes dans l’intervalle de recherche. |
Seuil | Le seuil défini dans la règle d’alerte. |
Opérateur | L’opérateur défini dans la règle d’alerte. |
ApplicationID | L’ID de l’Application Insights sur laquelle l’alerte a été déclenchée. |
Dimensions | Pour les règles de mesure de métrique, les dimensions de métrique sur lesquelles l’alerte a été déclenchée. |
name | Le nom de la dimension. |
valeur | La valeur de dimension. |
SearchResults | Les résultats complets de recherche. |
table | La table des résultats dans les résultats de recherche. |
name | Le nom de la table dans les résultats de recherche. |
colonnes | Les colonnes dans la table. |
name | Nom de la colonne. |
type | Type de la colonne. |
rows | Les lignes dans la table. |
DataSources | Les sources de données sur lesquelles l’alerte a été déclenchée. |
resourceID | L’ID de la ressource affectée par l’alerte. |
dans des tables | Les tables de réponses provisoires comprises dans la requête. |
IncludedSearchResults | Indicateur indiquant si la charge utile doit contenir les résultats. |
AlertType | Le type d’alerte : - Mesure de la métrique - Nombre de résultats |
Exemple d’alerte de recherche dans les journaux quand monitoringService = 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"
}
}
Exemple d’alerte de recherche dans les journaux quand monitoringService = 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"
}
}
Exemple d’alerte de recherche dans les journaux quand monitoringService = Log Alerts V2
Remarque
Les règles d’alerte de recherche dans les journaux de la version d’API 2020-05-01 utilisent ce type de charge utile, qui prend uniquement en charge le schéma commun. Les résultats de la recherche ne sont pas incorporés dans la charge utile des alertes de recherche dans les journaux lorsque vous utilisez cette version. Utilisez des dimensions pour fournir un contexte aux alertes déclenchées. Vous pouvez également utiliser LinkToFilteredSearchResultsAPI
ou LinkToSearchResultsAPI
pour accéder aux résultats de la requête avec l’API Log Analytics. Si vous devez incorporer les résultats, utilisez une application logique avec les liens fournis pour générer une charge utile personnalisée.
{
"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"
}
}
}
Champs de contexte d’alerte pour les alertes de journal d’activité
Pour plus d’informations sur les champs des alertes du journal d’activité, consultez Schéma des événements du journal d’activité Azure.
Exemple d’alerte de journal d’activité quand monitoringService = Activity Log - Administrative
{
"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"
}
}
Exemple d’alerte de journal d’activité quand monitoringService = Activity Log - Policy
{
"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"
}
}
Exemple d’alerte de journal d’activité quand monitoringService = Activity Log - Autoscale
{
"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"
}
}
Exemple d’alerte de journal d’activité quand monitoringService = Activity Log - Security
{
"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"
}
}
Exemple d’alerte de journal d’activité quand monitoringService = 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
}
}
Exemple d’alerte de journal d’activité quand monitoringService = 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"
}
}
Champs de contexte d’alerte pour les alertes Prometheus
Pour obtenir des informations détaillées sur les champs des alertes Prometheus, consultez Service managé Azure Monitor pour les groupes de règles Prometheus.
Exemple d’alerte 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"
}
}
Champs de propriétés personnalisées
Si la règle d’alerte ayant généré votre alerte contient des groupes d’actions, les propriétés personnalisées peuvent contenir des informations supplémentaires sur l’alerte. La section propriétés personnalisées contient des objets « key: value » qui sont ajoutés aux notifications de webhook.
Si les propriétés personnalisées ne sont pas définies dans la règle d’alerte, le champ est défini sur nul.
Activer le schéma d’alerte commun
Utilisez des groupes d’actions dans le Portail Azure ou utilisez l’API REST pour activer le schéma d’alerte commun. Les schémas sont définis au niveau de l’action. Par exemple, vous devez activer séparément le schéma pour une action d’e-mail et une action de webhook.
Activer le schéma commun dans le portail Azure
- Ouvrez n’importe quelle action existante ou une nouvelle action dans un groupe d’actions.
- Sélectionnez Oui pour activer le schéma d’alerte courant.
Activer le schéma commun en utilisant l’API REST
Vous pouvez également utiliser l’API Groupes d’actions pour adhérer au schéma d’alerte commun. Dans l’appel d’API REST créer ou mettre à jour,
- Définissez l’indicateur « useCommonAlertSchema » sur
true
pour activer le schéma commun - Définissez l’indicateur « useCommonAlertSchema » sur
false
afin d’utiliser le schéma non commun pour les actions d’e-mail, de webhook, Logic Apps, Azure Functions ou de runbook Automation.
Exemple d’appel d’API REST pour utiliser le schéma commun
La demande d’API REST créer ou mettre à jour suivante :
- Active le schéma d’alerte commun pour l’action d’e-mail « John Doe's email ».
- Désactive le schéma d’alerte commun pour l’action d’e-mail « Jane Smith's email ».
- Active le schéma d’alerte commun pour l’action de webhook « Sample 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": {}
}