Triggery HTTP v agentu Azure SRE

Triggery HTTP v agentovi Azure SRE jsou koncové body webhooku, které externí systémy používají k vyvolání agenta na vyžádání. Když kanál kontinuální integrace a průběžného doručování (CI/CD) selže, nástroj pro upozorňování zjistí anomálii nebo jakýkoli klient HTTP odešle POST požadavek, agent obdrží kontext události a začne okamžitě pracovat.

Problém: Výstrahy a selhání kanálu vyžadují ruční třídění

Váš tým už má nástroje pro upozorňování, pozorovatelnost a pracovní postupy, jako jsou Datadog, Dynatrace, Jira, Splunk a Grafana a CI/CD kanály, které jsou náchylné k přerušení. Když se něco nepovede, odpověď je pokaždé stejná:

  • Technik je upozorněn: Technik otevře monitorovací nástroj, přečte si výstrahu a poté ručně otevře protokoly, metriky a historii nasazení na několika dashboardech, aby zjistil, co se stalo.
  • Potrubí selže: Někdo musí přerušit svou činnost, zkontrolovat výstup sestavení, prověřit v souvislosti s nedávnými změnami a rozhodnout se, jestli se má vrátit zpět nebo pokračovat opravou.
  • Kontext je roztříštěn: Upozornění služby Datadog říká: "Špička využití CPU na prod-api." Určení příčiny vyžaduje korelaci protokolů ze tří služeb, prozkoumání nedávných nasazení a zhodnocení trasování pomocí Dynatrace.

Jak fungují triggery HTTP

Triggery HTTP umožňují připojit jakýkoli nástroj, který podporuje webhooky přímo k vaší instanci agenta SRE. Místo toho, aby inženýr prováděl ruční třídění, systém, který problém zjistil, ať už jde o upozornění od Datadog, anomálii od Dynatrace, přechod pracovního postupu Jira nebo selhání pipeline, informuje agenta, aby problém prošetřil. Kontext se předává automaticky.

Každý trigger je pojmenovaný koncový bod webhooku ve vašem agentu s jedinečnou adresou URL. Když externí systém volá tuto adresu URL prostřednictvím protokolu HTTP POST, agent spustí nakonfigurovanou výzvu triggeru, která je rozšířená o všechna data JSON v textu požadavku.

Klíčové koncepty

Koncepce Jak to funguje
Spouštěč Koncový bod s názvem, výzvovým procesem, přiřazeným agentem (výchozím nebo dílčím agentem) a úrovní autonomie (autonomní nebo podléhající kontrole).
Adresa URL triggeru Jedinečná adresa URL webhooku, která se vygeneruje při vytváření triggeru. Tato adresa URL webhooku je to, co volají externí nástroje.
Kontext JSON Volitelný text JSON odeslaný s POST požadavkem. Stane se součástí výzvy agenta, aby byl v plném kontextu.
Historie spouštění Každé vyvolání se protokoluje s časovým razítkem, odkazem na vlákno a stavem úspěchu nebo selhání.
Povolení nebo zakázání Zapněte nebo vypněte triggery bez odstranění. Zakázané spouštěče vrací chybu 404.

Vyvolání triggeru

Zavolejte adresu URL spouště s požadavkem HTTP 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%"
  }'
Část Co to je
URL Jedinečný koncový bod triggeru webhooku Najdete ho v zobrazení podrobností triggeru v části Adresa URL aktivační události.
Authorization Nosný token Azure Resource Manageru Viz Ověřování pro vyvolání triggeru.
Typ obsahu Musí to být application/json , pokud odesíláte text JSON.
Tělo JSON (volitelné) Všechna data JSON, která má agent zobrazit. Tato data se stanou součástí podnětu agenta. Uveďte jakýkoli kontext, který pomáhá agentu prošetřit, například název výstrahy, závažnost a ovlivněnou službu.

Text JSON je volitelný. Pokud voláte trigger bez těla, agent se spustí pouze s nakonfigurovanou výzvou triggeru. Pomocí těla agent vidí jak výzvu, tak data, která jste odeslali.

Ověřování pro vyvolání triggeru

Koncový bod triggeru vyžaduje v hlavičce nosný token Azure Resource Manageru Authorization: Bearer <TOKEN> . Volající potřebuje Microsoft.App/agents/threads/write oprávnění k prostředku agenta.

Způsoby získání tokenu

Metoda Nejvhodnější pro Podrobnosti
Služba principal Kanály CI/CD, automatizované systémy Vytvořte registraci aplikace, přiřaďte roli prostředku agenta a použijte tok přihlašovacích údajů klienta k získání tokenu.
Spravovaná identita Služby hostované v Azure (Azure Functions, Azure Virtual Machines, Azure Container Apps) Žádná tajemství ke správě. Zdroj Azure se ověřuje automaticky.
Azure CLI (příkazový řádek nástroje Azure) Testování a vývoj Spusťte az account get-access-token --resource https://management.azure.com --query accessToken -o tsv.

Připojení externích nástrojů, které nepodporují ověřování Azure

Nástroje, jako jsou Datadog, Dynatrace, Jira a Splunk, odesílají webhooky s vlastními formáty ověřování, nikoli tokeny Azure Resource Manageru. K přemostit mezeru použijte jednoho z následujících zprostředkovatelů.

Zprostředkovatel Jak to funguje
Azure Functions Obdrží webhook, získá token Azure Resource Manageru pomocí své spravované identity a přesměruje volání na adresu URL triggeru.
Azure Logic Apps Pracovní postup bez kódu, který přijímá webhooky z jakéhokoli zdroje a volá rozhraní API Azure s integrovaným ověřováním Azure Resource Manageru
Azure API Management Nachází se před URL spouštěče a zpracovává ověřování a transformaci tokenů pomocí zásad.

odpověď

{
  "message": "HTTP trigger execution initiated",
  "executionTime": "2026-03-13T10:30:00Z",
  "threadId": "thread-abc123",
  "success": true
}

Trigger okamžitě vrátí http 202 (Přijato). Agent zpracovává požadavek asynchronně.

Čím se tento přístup liší

HTTP triggery propojují stávající upozorňování a nástroje CI/CD přímo s vaším agentem bez zapojení inženýra. Systém, který zjistil problém, automaticky informuje agenta k prošetření a zároveň mu předá celý kontext. Není třeba stránkování, přepínání řídicího panelu ani ručního shromažďování kontextu.

Před a po

Před (ruční třídění) Za (triggery HTTP)
Aktivuje se upozornění služby Datadog. Technik je upozorněn, otevře tři dashboardy a začne analyzovat. Volání webhooku Datadogu se spustí. Agent automaticky prošetřuje a publikuje zjištění.
Přerušení potrubí Technik zkontroluje protokoly sestavení, zreviduje pull requesty a rozhodne o dalším kroku. Trigger volání obslužné rutiny selhání kanálu Agent analyzuje selhání a publikuje kořenovou příčinu.
Dynatrace detekuje anomálie. Inženýr ručně koreluje mezi službami. Volání webhooků Dynatrace se spouštějí s kontextem anomálií. Agent koreluje protokoly, metriky a nasazení.

Naplánované úkoly vs. triggery HTTP

Naplánované úkoly HTTP spouštěče
Časový plán (chronologický plán). Řízené událostmi (na vyžádání).
Spustí se bez ohledu na to, zda se něco stalo. Spustí se jenom při zavolání.
Žádný externí vstup při spuštění. Datové části vložené do každého vyvolání.
Nejlepší pro opakované kontroly. Nejvhodnější pro reakce řízené událostmi.

Oba používejte společně. K proaktivnímu monitorování a triggerům HTTP pro zpracování reaktivních událostí použijte naplánované úlohy.

Případy použití

Integrace potrubí CI/CD

Pokud se nasazovací kanál nezdaří, vyvolejte agenta a analyzujte selhání.

# 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\"}"

Vyšetřování na základě výstrah

Připojte svůj systém upozornění a aktivujte automatizované šetření, když se aktivují kritické výstrahy:

{
  "alert_name": "Error rate > 5%",
  "severity": "P1",
  "service": "checkout-api",
  "region": "eastus2",
  "start_time": "2026-03-13T10:15:00Z"
}

Kontroly dodržování předpisů nasazení

Po dokončení nasazení aktivujte kontrolu dodržování předpisů:

curl -X POST "$AGENT_TRIGGER_URL" \
  -H "Authorization: Bearer $ARM_TOKEN" \
  -d '{"deployment_id": "deploy-456", "environment": "production", "changes": ["config update", "image bump"]}'

Referenční informace k rozhraní API

Koncový bod Metoda Description
/api/v1/httptriggers GET Zobrazení seznamu všech aktivačních událostí
/api/v1/httptriggers/create POST Vytvořte novou aktivační událost.
/api/v1/httptriggers/{id} GET Získejte podrobnosti o triggeru.
/api/v1/httptriggers/{id} PUT Aktualizovat vlastnosti triggeru
/api/v1/httptriggers/{id} DELETE Odstranění triggeru
/api/v1/httptriggers/{id}/enable POST Povolení triggeru
/api/v1/httptriggers/{id}/disable POST Zakažte trigger.
/api/v1/httptriggers/{id}/execute POST Spusťte trigger ručně.
/api/v1/httptriggers/{id}/executions GET Získejte historii provádění.
/api/v1/httptriggers/trigger/{id} POST Externí koncový bod webhooku

Troubleshooting

Aktivační událost vrátí hodnotu 404

  • Ověřte, že je spouštěč nastaven na povolen. Zakázané spouštěče vrací chybu 404.
  • Zkontrolujte správnost ID triggeru v adrese URL.

401 Neautorizováno

  • Cílová skupina tokenů musí odpovídat ID aplikace agenta SRE, nikoli https://management.azure.com.
  • K získání tokenu pro testování použijte az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv.

Trigger se spustí, ale agent se neaktivuje.

  • Zkontrolujte výzvu agenta. Prázdný příkaz nemusí generovat užitečný výstup.
  • Ověřte, že vybraný podagent má k dispozici nástroje potřebné pro daný úkol.
  • Podrobnosti o chybě najdete v historii spuštění.

Omezení

zdroj Limit
Spouště na agenta Žádný pevný limit.
Maximální počet otáček na provedení 250 otáček.
Autentizace Pro každou adresu URL triggeru se vyžaduje nosný token.