Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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. |