HTTP-utlösare i Azure SRE-agent

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.