Anropa en webhook med en klassisk måttavisering i Azure Monitor
Varning
Den här artikeln beskriver hur du använder äldre klassiska måttaviseringar. Azure Monitor har nu stöd för måttaviseringar i nära realtid och en ny aviseringsupplevelse. Klassiska aviseringar dras tillbaka för offentliga molnanvändare. Klassiska aviseringar för Azure Government moln och Microsoft Azure som drivs av 21Vianet upphör den 29 februari 2024.
Du kan använda webhooks för att dirigera ett Azure-aviseringsmeddelande till andra system för efterbearbetning eller anpassade åtgärder. Du kan använda en webhook i en avisering för att dirigera den till tjänster som skickar SMS, logga buggar, meddela ett team via chatt- eller meddelandetjänster eller för olika andra åtgärder.
Den här artikeln beskriver hur du anger en webhook för en Azure-måttavisering. Den visar också hur nyttolasten för HTTP POST till en webhook ser ut. Information om konfiguration och schema för en Azure-aktivitetsloggavisering (avisering om händelser) finns i Anropa en webhook i en Azure-aktivitetsloggavisering.
Azure-aviseringar använder HTTP POST för att skicka aviseringsinnehållet i JSON-format till en webhook-URI som du anger när du skapar aviseringen. Schemat definieras senare i den här artikeln. URI:n måste vara en giltig HTTP- eller HTTPS-slutpunkt. Azure publicerar en post per begäran när en avisering aktiveras.
Konfigurera webhooks via Azure Portal
Om du vill lägga till eller uppdatera webhook-URI:n går du till Skapa/uppdatera aviseringar i Azure Portal.
Du kan också konfigurera en avisering för att publicera till en webhook-URI med hjälp av Azure PowerShell cmdletar, ett plattformsoberoende CLI eller REST-API:er för Azure Monitor.
Autentisera webhooken
Webhooken kan autentisera med hjälp av tokenbaserad auktorisering. Webhookens URI sparas med ett token-ID. Exempelvis: https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue
Nyttolastschema
POST-åtgärden innehåller följande JSON-nyttolast och schema för alla måttbaserade aviseringar:
{
"status": "Activated",
"context": {
"timestamp": "2015-08-14T22:26:41.9975398Z",
"id": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.insights/alertrules/ruleName1",
"name": "ruleName1",
"description": "some description",
"conditionType": "Metric",
"condition": {
"metricName": "Requests",
"metricUnit": "Count",
"metricValue": "10",
"threshold": "10",
"windowSize": "15",
"timeAggregation": "Average",
"operator": "GreaterThanOrEqual"
},
"subscriptionId": "s1",
"resourceGroupName": "useast",
"resourceName": "mysite1",
"resourceType": "microsoft.foo/sites",
"resourceId": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1",
"resourceRegion": "centralus",
"portalLink": "https://portal.azure.com/#resource/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
Fält | Obligatorisk | En uppsättning värden har åtgärdats | Kommentarer |
---|---|---|---|
status | Y | Aktiverad, löst | Status för aviseringen baserat på de villkor som du anger. |
Sammanhang | Y | Aviseringskontexten. | |
timestamp | Y | Tidpunkt då aviseringen utlöstes. | |
id | Y | Varje aviseringsregel har ett unikt ID. | |
name | Y | Aviseringsnamnet. | |
beskrivning | Y | En beskrivning av aviseringen. | |
conditionType | Y | Mått, händelse | Två typer av aviseringar stöds: mått och händelse. Måttaviseringar baseras på ett måttvillkor. Händelseaviseringar baseras på en händelse i aktivitetsloggen. Använd det här värdet för att kontrollera om aviseringen baseras på ett mått eller en händelse. |
Villkor | Y | De specifika fält som ska kontrolleras baserat på värdet conditionType . | |
metricName | För måttaviseringar | Namnet på måttet som definierar vad regeln övervakar. | |
metricUnit | För måttaviseringar | Bytes, BytesPerSecond, Count, CountPerSecond, Percent, Seconds | Den enhet som tillåts i måttet. Se tillåtna värden. |
metricValue | För måttaviseringar | Det faktiska värdet för måttet som orsakade aviseringen. | |
Tröskel | För måttaviseringar | Tröskelvärdet där aviseringen aktiveras. | |
windowSize | För måttaviseringar | Den tidsperiod som används för att övervaka aviseringsaktivitet baserat på tröskelvärdet. Värdet måste vara mellan 5 minuter och 1 dag. Värdet måste vara i ISO 8601-varaktighetsformat. | |
timeAggregation | För måttaviseringar | Average, Last, Maximum, Minimum, None, Total | Hur de data som samlas in ska kombineras över tid. Standardvärdet är Genomsnitt. Se tillåtna värden. |
operator | För måttaviseringar | Operatorn som används för att jämföra aktuella måttdata med det angivna tröskelvärdet. | |
subscriptionId | Y | Azure-prenumerations-ID:t. | |
resourceGroupName | Y | Namnet på resursgruppen för den berörda resursen. | |
resourceName | Y | Resursnamnet för den berörda resursen. | |
resourceType | Y | Resurstypen för den berörda resursen. | |
resourceId | Y | Resurs-ID för den berörda resursen. | |
resourceRegion | Y | Regionen eller platsen för den berörda resursen. | |
portalLink | Y | En direktlänk till portalens resurssammanfattningssida. | |
properties | N | Valfritt | En uppsättning nyckel/värde-par som innehåller information om händelsen. Till exempel Dictionary<String, String> . Egenskapsfältet är valfritt. I ett anpassat användargränssnitt eller ett logikappbaserat arbetsflöde kan användarna ange nyckel/värde-par som kan skickas via nyttolasten. Ett alternativt sätt att skicka tillbaka anpassade egenskaper till webhooken är via själva webhook-URI:n (som frågeparametrar). |
Anteckning
Du kan bara ange egenskapsfältet med hjälp av REST-API:er för Azure Monitor.
Nästa steg
- Läs mer om Azure-aviseringar och webhooks i videon Integrera Azure-aviseringar med PagerDuty.
- Lär dig hur du kör Azure Automation skript (runbooks) på Azure-aviseringar.
- Lär dig hur du använder en logikapp för att skicka ett SMS via Twilio från en Azure-avisering.
- Lär dig hur du använder en logikapp för att skicka ett Slack-meddelande från en Azure-avisering.
- Lär dig hur du använder en logikapp för att skicka ett meddelande till en Azure Queue från en Azure-avisering.