Trigger HTTP nell'agente SRE di Azure

I trigger HTTP nell'agente SRE di Azure sono endpoint webhook usati dai sistemi esterni per richiamare l'agente su richiesta. Quando una pipeline di integrazione continua e recapito continuo (CI/CD) ha esito negativo, uno strumento di avviso rileva un'anomalia o un client HTTP invia una POST richiesta, l'agente riceve il contesto dell'evento e inizia a funzionare immediatamente.

Il problema: Gli avvisi e i guasti della pipeline richiedono un'assegnazione delle priorità manuale

Il team dispone già di strumenti di avviso, osservabilità e flusso di lavoro come Datadog, Dynatrace, Jira, Splunk e Grafana e pipeline CI/CD soggetti a interruzioni. Quando si verifica un problema, la risposta è la stessa ogni volta:

  • Un ingegnere riceve una notifica: L'ingegnere apre lo strumento di monitoraggio, legge l'avviso e apre manualmente log, metriche e cronologia di distribuzione in più dashboard per capire cosa è successo.
  • Una pipeline fallisce: Qualcuno deve interrompere ciò che sta facendo, controllare l'output della compilazione, correlare con le modifiche recenti e decidere se eseguire il rollback o correggere proseguendo.
  • Il contesto è frammentato: L'avviso Datadog segnala un "picco della CPU su prod-api". La causa principale richiede la correlazione dei log di tre servizi, il controllo delle distribuzioni recenti e la revisione delle tracce di Dynatrace.

Funzionamento dei trigger HTTP

I trigger HTTP consentono di connettere qualsiasi strumento che supporti i webhook direttamente all'istanza dell'agente SRE. Invece di un tecnico che esegue la valutazione manuale, il sistema che ha rilevato il problema, sia che si tratti di un avviso datadog, di un'anomalia Dynatrace, di una transizione del flusso di lavoro Jira o di un errore della pipeline, indica all'agente di indagare. Il contesto viene passato automaticamente.

Ogni trigger è un endpoint webhook denominato sull'agente con un URL univoco. Quando un sistema esterno chiama tale URL tramite HTTP POST, l'agente esegue il prompt configurato del trigger, che viene arricchito con tutti i dati JSON nel corpo della richiesta.

Concetti chiave

Concetto Come funziona
Trigger Un endpoint nominato con un prompt, un agente assegnato (predefinito o subagente) e un livello di autonomia (autonomo o sotto revisione).
URL di attivazione L'URL webhook univoco che viene generato quando si crea un trigger. Questo URL webhook è ciò che chiamano gli strumenti esterni.
Contesto JSON Corpo JSON facoltativo inviato con la richiesta POST. Diventa parte del prompt dell'agente in modo che abbia un contesto completo.
Cronologia esecuzione Ogni chiamata viene registrata con un timestamp, un collegamento di thread e uno stato di esito positivo o negativo.
Abilitare/disabilitare Attivare o disattivare i trigger senza eliminarli. I trigger disabilitati restituiscono 404.

Richiamare un trigger

Chiamare l'URL del trigger con una richiesta 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%"
  }'
Parte Che cos'è
URL Endpoint del webhook univoco del trigger. Trovarlo nella vista dettagli del trigger in URL Trigger.
Authorization Un bearer token Azure Resource Manager. Vedere Autenticazione per la chiamata al trigger.
Tipo di contenuto Deve essere application/json se si invia un corpo JSON.
Corpo JSON (facoltativo) Qualsiasi dato JSON che si desidera che l'agente veda. Questi dati diventano parte del prompt dell'agente. Includere qualsiasi contesto consente all'agente di analizzare, ad esempio il nome dell'avviso, la gravità e il servizio interessato.

Il corpo JSON è facoltativo. Se si chiama il trigger senza un contenuto, l'agente viene eseguito esclusivamente con il prompt configurato del trigger. Con un corpo, l'agente visualizza sia il prompt sia i dati inviati.

Autenticazione per la chiamata al trigger

L'endpoint del trigger richiede un bearer token Azure Resource Manager nell'intestazione Authorization: Bearer <TOKEN>. Il chiamante necessita dell'autorizzazione Microsoft.App/agents/threads/write per la risorsa agente.

Modi per ottenere un token

metodo Ideale per dettagli
Entità servizio Pipeline CI/CD, sistemi automatizzati Creare una registrazione di un'applicazione, assegnare il ruolo alla risorsa dell'agente e usare il flusso delle credenziali del client per ottenere un token.
Identità gestita Servizi ospitati in Azure (Funzioni di Azure, Macchine virtuali di Azure, App azure Container) Nessun segreto da gestire. La risorsa di Azure viene autenticata automaticamente.
Azure CLI Test e sviluppo Eseguire az account get-access-token --resource https://management.azure.com --query accessToken -o tsv.

Connettere strumenti esterni che non supportano l'autenticazione di Azure

Strumenti come Datadog, Dynatrace, Jira e Splunk inviano webhook con i propri formati di autenticazione, non i token di Azure Resource Manager. Per colmare il divario, utilizzare uno degli intermediari seguenti.

Intermediario Come funziona
Funzioni di Azure Riceve il webhook, acquisisce un token di Azure Resource Manager usando l'identità gestita e inoltra la chiamata all'URL del trigger.
App per la logica di Azure Flusso di lavoro senza codice che riceve webhook da qualsiasi origine e chiama le API di Azure con l'autenticazione predefinita di Azure Resource Manager.
Gestione API di Azure Si trova davanti all'URL di attivazione e gestisce la convalida e la trasformazione dei token tramite politiche.

risposta

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

Il trigger restituisce immediatamente HTTP 202 (accettato). L'agente elabora la richiesta in modo asincrono.

Cosa rende questo approccio diverso

I trigger HTTP connettono direttamente gli strumenti di avviso e CI/CD esistenti all'agente senza l'intervento di un tecnico. Il sistema che ha rilevato il problema indica all'agente di analizzare e passare automaticamente il contesto completo. Non è disponibile alcun paging, nessun cambio di dashboard e nessuna raccolta di contesto manuale.

Prima e dopo

Prima della valutazione manuale Dopo (trigger HTTP)
Viene generato un avviso Datadog. L'Ingegnere viene chiamato, apre tre dashboard e inizia a indagare. Il webhook Datadog chiama il trigger. L'agente analizza e pubblica automaticamente i risultati.
Rottura della pipeline. L'ingegnere controlla i log di compilazione, esamina le richieste pull e decide il passaggio successivo. Il gestore degli errori della pipeline chiama il trigger. L'agente analizza il malfunzionamento e pubblica la causa principale.
Dynatrace rileva un'anomalia. Il tecnico correla manualmente tra i servizi. Il webhook Dynatrace chiama il trigger con contesto delle anomalie. L'agente correla i log, le metriche e le distribuzioni.

Attività pianificate e trigger HTTP

Attività pianificate Trigger HTTP
Basato sul tempo (pianificazione cronologica). Basato su eventi (su richiesta).
Viene eseguito indipendentemente dal fatto che si verifichi un evento. Viene eseguito solo quando viene chiamato.
Nessun input esterno per esecuzione. Dati del payload inseriti in ogni chiamata.
Ideale per i controlli ricorrenti. Ideale per le reazioni guidate dagli eventi.

Usare entrambi insieme. Usare le attività pianificate per il monitoraggio proattivo e i trigger HTTP per la gestione degli eventi reattivi.

Casi d'uso

Integrazione della pipeline CI/CD

Quando una pipeline di distribuzione restituisce un errore, richiamare l'agente per analizzare l'errore:

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

Indagine guidata dagli avvisi

Connettere il sistema di avvisi per attivare l'analisi automatizzata quando vengono attivati avvisi critici:

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

Controlli di conformità della distribuzione

Al termine di una distribuzione, attivare una verifica di conformità:

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

Informazioni di riferimento sulle API

Punto finale metodo Descrizione
/api/v1/httptriggers GET Elencare tutti i trigger.
/api/v1/httptriggers/create POST Creare un nuovo trigger.
/api/v1/httptriggers/{id} GET Ottenere i dettagli del trigger.
/api/v1/httptriggers/{id} PUT Aggiornare le proprietà del trigger.
/api/v1/httptriggers/{id} DELETE Eliminare un trigger.
/api/v1/httptriggers/{id}/enable POST Abilitare un trigger.
/api/v1/httptriggers/{id}/disable POST Disabilitare un trigger.
/api/v1/httptriggers/{id}/execute POST Eseguire un trigger manualmente.
/api/v1/httptriggers/{id}/executions GET Ottieni la cronologia di esecuzione.
/api/v1/httptriggers/trigger/{id} POST Endpoint webhook esterno.

Risoluzione dei problemi

Il trigger restituisce 404

  • Verificare che il trigger sia impostato su abilitato. I trigger disabilitati restituiscono 404.
  • Verificare che l'ID del trigger nell'URL sia corretto.

401 - Non autorizzato

  • L'audience del token deve corrispondere all'ID dell'app dell'agente SRE, non https://management.azure.com.
  • Per ottenere un token per il test, usare az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv.

Il trigger viene eseguito ma l'agente non agisce

  • Controllare il prompt dell'agente. Un prompt vuoto potrebbe non produrre un output utile.
  • Verificare che l'agente secondario scelto disponga degli strumenti necessari per l'attività.
  • Controllare la cronologia di esecuzione per i dettagli dell'errore.

Limits

risorsa Limit
Trigger per agente Nessun limite rigido.
Numero massimo di turni per esecuzione 250 turni.
Authentication Il bearer token è necessario per ogni URL del trigger.