Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
HTTP-utlösare i Azure SRE Agent är webhook-slutpunkter som externa system använder för att anropa din agent på begäran. När en pipeline för kontinuerlig integrering och kontinuerlig leverans (CI/CD) misslyckas, ett varningsverktyg identifierar en avvikelse, eller när en HTTP-klient skickar en POST begäran, tar agenten emot händelsekontexten och börjar arbeta omedelbart.
Problemet: Aviseringar och pipelinefel behöver manuell sortering
Ditt team har redan aviserings-, observerbarhets- och arbetsflödesverktyg som Datadog, Dynatrace, Jira, Splunk och Grafana samt CI/CD-pipelines som bryts. När något går fel är svaret detsamma varje gång:
- En ingenjör får ett larm: Ingenjören öppnar övervakningsverktyget, läser aviseringen och öppnar sedan manuellt loggar, mätvärden och distributionshistorik över flera dashboardar för att ta reda på vad som hände.
- En pipeline misslyckas: Någon måste stoppa det de gör, kontrollera buildoutput, korrelera med de senaste ändringarna och bestämma om de ska återställa eller åtgärda framåt.
- Kontexten är utspridd: I Datadog-aviseringen står det "CPU-topp på prod-api". Rotorsaken kräver korrelering av loggar från tre tjänster, kontroll av de senaste distributionerna och granskning av Dynatrace-spårningar.
Så här fungerar HTTP-utlösare
MED HTTP-utlösare kan du ansluta alla verktyg som stöder webhooks direkt till din instans av SRE-agenten. I stället för att en tekniker utför manuell sortering uppmanar systemet som upptäckte problemet, oavsett om det är en Datadog-avisering, en Dynatrace-avvikelse, en Jira-arbetsflödesövergång eller ett pipelinefel, agenten att undersöka. Kontexten skickas automatiskt.
Varje utlösare är en namngiven webhook-slutpunkt på din agent med en unik URL. När ett externt system anropar webbadressen via HTTP POSTkör agenten utlösarens konfigurerade prompt, som utökas med JSON-data i begärandetexten.
Viktiga begrepp
| Begrepp | Så här fungerar det |
|---|---|
| Trigger | En benämnd slutpunkt med ett meddelande, en tilldelad agent (standardagent eller underagent) och en autonominivå (självständig eller för granskning). |
| Utlösar-URL | Den unika webhook-URL:en som genereras när du skapar en utlösare. Denna webhook-URL är vad externa verktyg anropar. |
| JSON-kontext | Valfritt JSON-innehåll skickas med POST begäran. Det blir en del av agentens prompt så att den har fullständig kontext. |
| Körhistorik | Varje anrop loggas med en tidsstämpel, tråd-länk och status för lyckade eller misslyckade anrop. |
| Aktivera/inaktivera | Växla utlösare på eller av utan att ta bort. Inaktiverade utlösare returnerar 404. |
Anropa en utlösare
Anropa utlösar-URL:en med en HTTP-begäran POST :
curl -X POST \
https://your-agent.sre.azure.com/api/v1/httptriggers/trigger/<TRIGGER_ID> \
-H "Authorization: Bearer <ARM_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"source": "datadog",
"alert_title": "High error rate on checkout-api",
"severity": "critical",
"service": "checkout-api",
"region": "eastus2",
"metric": "error_rate",
"value": "8.2%",
"threshold": "5%"
}'
| Del | Vad det är |
|---|---|
| URL | Utlösarens unika webhook-slutpunkt. Hitta den under Utlösar-URL i detaljerad utlösarvy. |
| Authorization | En Azure Resource Manager-bärartoken. Se Autentisering för utlösaranrop. |
| Innehållstyp | Måste vara application/json om du skickar en JSON-kropp. |
| JSON-kropp (valfritt) | JSON-data som du vill att agenten ska se. Dessa data blir en del av agentens prompt. Inkludera den kontext som hjälper agenten att undersöka, till exempel aviseringsnamn, allvarlighetsgrad och påverkad tjänst. |
JSON-kroppen är valfri. Om du anropar triggern utan innehåll körs agenten endast med triggerns konfigurerade prompt. Med en brödtext ser agenten både prompten och de data som du skickade.
Autentisering för utlösaranrop
Utlösarslutpunkten kräver en Azure Resource Manager Bearer-token i Authorization: Bearer <TOKEN> rubriken. Anroparen behöver Microsoft.App/agents/threads/write behörighet för agentresursen.
Sätt att hämta en token
| Metod | Passar bäst för | Detaljer |
|---|---|---|
| Tjänstens huvudnamn | CI/CD-pipelines, automatiserade system | Skapa en appregistrering, tilldela rollen på agentresursen och använd flödet för klientautentiseringsuppgifter för att hämta en token. |
| Hanterad identitet | Azure-värdbaserade tjänster (Azure Functions, Azure Virtual Machines, Azure Container Apps) | Inga hemligheter att hantera. Azure-resursen autentiseras automatiskt. |
| Azure-kommandoradsgränssnitt (CLI) | Testning och utveckling | Kör az account get-access-token --resource https://management.azure.com --query accessToken -o tsv. |
Ansluta externa verktyg som inte stöder Azure-autentisering
Verktyg som Datadog, Dynatrace, Jira och Splunk skickar webhooks med egna autentiseringsformat, inte Azure Resource Manager-token. För att överbrygga klyftan använder du någon av följande mellanhänder.
| Mellanhand | Så här fungerar det |
|---|---|
| Azure-funktioner | Tar emot webhooken, hämtar en Azure Resource Manager-token med hjälp av dess hanterade identitet och vidarebefordrar anropet till utlösar-URL:en. |
| Azure Logic Apps | Arbetsflöde utan kod som tar emot webhooks från alla källor och anropar Azure-API:er med inbyggd Azure Resource Manager-autentisering. |
| Azure API Management | Sitter framför utlösar-URL:en och hanterar validering och transformering av token via principer. |
Svar
{
"message": "HTTP trigger execution initiated",
"executionTime": "2026-03-13T10:30:00Z",
"threadId": "thread-abc123",
"success": true
}
Utlösaren returnerar HTTP 202 (accepterad) omedelbart. Agenten bearbetar begäran asynkront.
Vad gör den här metoden annorlunda
HTTP-utlösare ansluter dina befintliga aviserings- och CI/CD-verktyg direkt till din agent utan en tekniker i loopen. Systemet som upptäckte problemet uppmanar agenten att undersöka och skicka hela kontexten automatiskt. Det finns ingen sidindelning, inget byte mellan instrumentpaneler och ingen manuell insamling av kontext.
Före och efter
| Före (manuell sortering) | Efter (HTTP-utlösare) |
|---|---|
| Datadog-avisering utlöses. Teknikern får ett larm, öppnar tre dashboards och börjar undersöka. | Datadog webhook anropar utlösaren. Agenten undersöker och publicerar resultat automatiskt. |
| Pipelinebrytningar. Teknikern kontrollerar byggloggar, granskar PR:er och bestämmer nästa steg. | Pipelinefelhanteraren anropar utlösaren. Agenten analyserar felet och publicerar grundorsaken. |
| Dynatrace identifierar avvikelse. Teknikern korrelerar manuellt mellan tjänster. | Dynatrace webhook anropar utlösare med avvikelsekontext. Agenten korrelerar loggar, mått och distributioner. |
Schemalagda aktiviteter jämfört med HTTP-utlösare
| Schemalagda aktiviteter | HTTP-utlösare |
|---|---|
| Tidsbaserad (kronologiskt schema). | Händelsedriven (på begäran). |
| Kör oavsett om något har hänt eller inte. | Körs endast när den anropas. |
| Inga externa indata per körning. | Nyttolastdata som matas in i varje anrop. |
| Bäst för återkommande kontroller. | Bäst för händelsedrivna reaktioner. |
Använd båda tillsammans. Använd schemalagda uppgifter för proaktiv övervakning och HTTP-utlösare för reaktiv händelsehantering.
Användningsfall
CI/CD-pipeline-integrering
När en distributionspipeline misslyckas anropar du agenten för att analysera felet:
# In your pipeline's failure handler
curl -X POST "$AGENT_TRIGGER_URL" \
-H "Authorization: Bearer $ARM_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"pipeline\": \"$PIPELINE_NAME\", \"run_id\": \"$RUN_ID\", \"error\": \"$ERROR_MESSAGE\"}"
Aviseringsdriven undersökning
Anslut aviseringssystemet för att utlösa automatiserad undersökning när kritiska aviseringar utlöses:
{
"alert_name": "Error rate > 5%",
"severity": "P1",
"service": "checkout-api",
"region": "eastus2",
"start_time": "2026-03-13T10:15:00Z"
}
Kontroller av distributionsefterlevnad
När en distribution har slutförts utlöser du en efterlevnadsgranskning:
curl -X POST "$AGENT_TRIGGER_URL" \
-H "Authorization: Bearer $ARM_TOKEN" \
-d '{"deployment_id": "deploy-456", "environment": "production", "changes": ["config update", "image bump"]}'
API-referens
| Slutpunkt | Metod | Beskrivning |
|---|---|---|
/api/v1/httptriggers |
GET |
Visa en lista över alla utlösare. |
/api/v1/httptriggers/create |
POST |
Skapa en ny utlösare. |
/api/v1/httptriggers/{id} |
GET |
Hämta utlösarinformation. |
/api/v1/httptriggers/{id} |
PUT |
Uppdatera utlösaregenskaper. |
/api/v1/httptriggers/{id} |
DELETE |
Ta bort en utlösare. |
/api/v1/httptriggers/{id}/enable |
POST |
Aktivera en utlösare. |
/api/v1/httptriggers/{id}/disable |
POST |
Inaktivera en utlösare. |
/api/v1/httptriggers/{id}/execute |
POST |
Kör en utlösare manuellt. |
/api/v1/httptriggers/{id}/executions |
GET |
Hämta körningshistorik. |
/api/v1/httptriggers/trigger/{id} |
POST |
Extern webhook-ändpunkt. |
Felsökning
Utlösaren returnerar 404
- Kontrollera att utlösaren är inställd på aktiverad. Inaktiverade utlösare returnerar 404.
- Kontrollera att utlösar-ID:t i URL:en är korrekt.
401 Inte auktoriserad
- Token-målgruppen måste matcha SRE Agent-app-ID:t, inte
https://management.azure.com. - Om du vill hämta en token för testning använder du
az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv.
Utlöser men agenten agerar inte
- Kontrollera agentprompten. En tom uppmaning kanske inte ger användbara utdata.
- Kontrollera att den valda underagenten har de verktyg som behövs för uppgiften.
- Kontrollera körningshistoriken för felinformation.
Begränsningar
| Resource | Limit |
|---|---|
| Utlösare per agent | Ingen hård gräns. |
| Högsta antal varv per körning | 250 varv. |
| Authentication | Ägartoken krävs för varje utlösar-URL. |