Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pemicu HTTP di Azure SRE Agent adalah titik akhir webhook yang digunakan sistem eksternal untuk memanggil agen Anda sesuai permintaan. Ketika alur CI/CD gagal, alat peringatan mendeteksi anomali, atau klien HTTP apa pun mengirim permintaan POST, agen menerima konteks peristiwa dan mulai bekerja segera.
Masalahnya: peringatan dan kegagalan jalur pemrosesan membutuhkan triase manual
Tim Anda sudah memiliki alat peringatan, pengamatan, dan alur kerja—Datadog, Dynatrace, Jira, Splunk, Grafana—dan pipeline CI/CD yang rusak. Ketika terjadi kesalahan, responsnya sama setiap kali:
- Seorang insinyur mendapatkan notifikasi, membuka alat pemantauan, membaca peringatan, kemudian secara manual membuka log, metrik, dan riwayat penyebaran di beberapa dasbor untuk mengetahui apa yang terjadi.
- Alur gagal, dan seseorang harus menghentikan apa yang mereka lakukan, memeriksa output build, berkorelasi dengan perubahan terbaru, dan memutuskan apakah akan menggulung balik atau memperbaiki ke depan.
- Konteks tersebar—pemberitahuan Datadog mengatakan "Lonjakan CPU pada prod-api" tetapi untuk menemukan akar penyebabnya, diperlukan korelasi log dari tiga layanan, pengecekan penyebaran terbaru, dan peninjauan trace Dynatrace.
Cara kerja pemicu HTTP
Pemicu HTTP memungkinkan Anda menghubungkan alat apa pun yang mendukung webhook langsung ke Agen SRE Anda. Daripada insinyur melakukan triase manual, sistem yang mendeteksi masalah—baik itu pemberitahuan Datadog, anomali Dynatrace, transisi alur kerja Jira, atau kegagalan aliran—memberi tahu agen untuk menyelidiki, memberikan konteks secara otomatis.
Setiap pemicu adalah titik akhir webhook bernama di agen Anda dengan URL unik. Saat sistem eksternal memanggil URL tersebut melalui HTTP POST, agen menjalankan prompt pemicu yang dikonfigurasi—diperkaya dengan data JSON apa pun di isi permintaan.
Konsep utama:
| Konsep | Cara kerjanya |
|---|---|
| Pemicu | Titik akhir bernama dengan perintah, agen yang ditetapkan (default atau subagen), dan tingkat otonomi (otonom atau tinjauan) |
| URL Pemicu | URL webhook unik yang dihasilkan saat Anda membuat pemicu—inilah yang disebut alat eksternal |
| Konteks JSON | Isi JSON opsional yang dikirim dengan permintaan POST—menjadi bagian dari perintah agen sehingga memiliki konteks penuh |
| Riwayat eksekusi | Setiap pemanggilan dicatat dengan penanda waktu, tautan utas, serta status keberhasilan atau kegagalan. |
| Aktifkan/nonaktifkan | Mengaktifkan atau menonaktifkan pemicu tanpa menghapus—pemicu yang dinonaktifkan mengembalikan 404 |
Memanggil pemicu
Panggil URL pemicu dengan permintaan 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%"
}'
| Bagian | Apa fungsinya |
|---|---|
| URL | Titik akhir webhook unik pemicu—temukan pada tampilan detail pemicu di bawah URL Pemicu |
| Otorisasi | Token Pembawa Azure ARM—lihat Autentikasi untuk pemanggilan pemicu |
| Content-Type | Harus application/json jika Anda mengirim isi JSON |
| Bodi JSON (opsional) | Setiap data JSON yang ingin Anda lihat oleh agen. Ini menjadi bagian dari perintah agen—sertakan konteks apa pun yang membantu agen menyelidiki (nama pemberitahuan, tingkat keparahan, layanan yang terpengaruh, dan sebagainya) |
Isi JSON bersifat opsional. Jika Anda memanggil pemicu tanpa isi, agen hanya berjalan dengan perintah pemicu yang dikonfigurasi. Dengan sebuah tubuh, agen melihat baik perintah yang diberikan maupun data yang Anda kirim.
Autentikasi untuk pemanggilan pemicu
Titik akhir pemicu memerlukan token Bearer Azure ARM pada header Authorization: Bearer <TOKEN>. Pemanggil memerlukan Microsoft.App/agents/threads/write izin pada sumber daya agen.
Cara untuk mendapatkan token:
| Metode | Paling cocok untuk | Rincian |
|---|---|---|
| Prinsipal layanan | Alur CI/CD, sistem otomatis | Membuat pendaftaran aplikasi, menetapkan peran pada sumber daya agen, dan menggunakan alur kredensial klien untuk mendapatkan token |
| Identitas yang dikelola | Layanan yang dihosting Azure (Azure Functions, VM, Container Apps) | Tidak ada rahasia untuk dikelola—sumber daya Azure mengautentikasi secara otomatis |
| Azure CLI (antarmuka baris perintah Azure) | Pengujian dan pengembangan | Jalankan az account get-access-token --resource https://management.azure.com --query accessToken -o tsv |
Menyambungkan alat eksternal yang tidak mendukung autentikasi Azure:
Alat seperti Datadog, Dynatrace, Jira, dan Splunk mengirim webhook dengan format autentikasi mereka sendiri—bukan token Azure ARM. Untuk menjembatani kesenjangan, gunakan salah satu perantara ini:
| Perantara | Cara kerjanya |
|---|---|
| Azure Functions | Menerima webhook, memperoleh token ARM menggunakan identitas terkelolanya, dan meneruskan panggilan ke URL pemicu |
| Aplikasi Logika | Alur kerja tanpa kode yang menerima webhook dari sumber apa pun dan memanggil API Azure dengan autentikasi ARM bawaan |
| Azure API Management | Berada di depan URL pemicu dan menangani validasi dan transformasi token melalui kebijakan |
Jawaban:
{
"message": "HTTP trigger execution initiated",
"executionTime": "2026-03-13T10:30:00Z",
"threadId": "thread-abc123",
"success": true
}
Pemicu segera mengembalikan HTTP 202 (Diterima). Agen memproses permintaan secara asinkron.
Apa yang membuat pendekatan ini berbeda
Pemicu HTTP menghubungkan alat peringatan dan CI/CD yang sudah ada langsung ke agen Anda tanpa keterlibatan insinyur. Sistem yang mendeteksi masalah memberi tahu agen untuk menyelidiki, menyampaikan konteks penuh secara otomatis. Tidak ada pemindahan halaman, tidak ada penggantian dasbor, dan tidak ada pencarian konteks secara manual.
Sebelum dan sesudah
| Sebelum (triase manual) | Setelah (pemicu HTTP) |
|---|---|
| Peringatan Datadog terpicu, insinyur dipanggil, membuka 3 dasbor, memulai penyelidikan. | Panggilan webhook Datadog memicu, agen perangkat lunak menyelidiki dan mengunggah temuan secara otomatis. |
| Ketika pipeline rusak, insinyur memeriksa log build, meninjau PR, memutuskan langkah berikutnya | Penangan kegagalan pipeline memicu panggilan, agen menganalisis kegagalan dan memublikasikan akar penyebabnya |
| Dynatrace mendeteksi anomali, teknisi berkorelasi secara manual di seluruh layanan | Panggilan webhook Dynatrace dipicu oleh konteks anomali, agen mengaitkan log, metrik, dan penyebaran |
Tugas terjadwal vs. pemicu HTTP
| Tugas terjadwal | Pemicu HTTP |
|---|---|
| Berbasis waktu (jadwal cron) | Digerakkan oleh peristiwa (sesuai permintaan) |
| Berjalan terlepas dari apakah sesuatu terjadi atau tidak | Hanya berjalan saat dipanggil |
| Tidak ada input eksternal per eksekusi | Data payload yang disuntikkan ke dalam setiap pemanggilan |
| Terbaik untuk pemeriksaan berulang | Terbaik untuk reaksi berbasis peristiwa |
Gunakan keduanya bersama-sama—tugas terjadwal untuk pemantauan proaktif, pemicu HTTP untuk penanganan peristiwa reaktif.
Skenario penggunaan
Integrasi alur CI/CD
Ketika alur penyebaran gagal, panggil agen untuk menganalisis kegagalan:
# 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\"}"
Investigasi berbasis peringatan
Sambungkan sistem pemberitahuan Anda untuk memicu penyelidikan otomatis saat pemberitahuan penting diaktifkan:
{
"alert_name": "Error rate > 5%",
"severity": "P1",
"service": "checkout-api",
"region": "eastus2",
"start_time": "2026-03-13T10:15:00Z"
}
Pemeriksaan kepatuhan penyebaran
Setelah penyebaran selesai, laksanakan tinjauan kepatuhan.
curl -X POST "$AGENT_TRIGGER_URL" \
-H "Authorization: Bearer $ARM_TOKEN" \
-d '{"deployment_id": "deploy-456", "environment": "production", "changes": ["config update", "image bump"]}'
Referensi API
| Titik Akhir | Metode | Deskripsi |
|---|---|---|
/api/v1/httptriggers |
DAPATKAN | Mencantumkan semua pemicu |
/api/v1/httptriggers/create |
POST | Membuat pemicu baru |
/api/v1/httptriggers/{id} |
DAPATKAN | Dapatkan detail pemicu |
/api/v1/httptriggers/{id} |
TEMPATKAN | Memperbarui properti pemicu |
/api/v1/httptriggers/{id} |
MENGHAPUS | Menghapus pemicu |
/api/v1/httptriggers/{id}/enable |
POST | Mengaktifkan pemicu |
/api/v1/httptriggers/{id}/disable |
POST | Menonaktifkan pemicu |
/api/v1/httptriggers/{id}/execute |
POST | Jalankan pemicu secara manual |
/api/v1/httptriggers/{id}/executions |
DAPATKAN | Dapatkan riwayat eksekusi |
/api/v1/httptriggers/trigger/{id} |
POST | Titik akhir webhook eksternal |
Troubleshooting
Pemicu mengembalikan 404
- Verifikasi bahwa pemicu diaktifkan—pemicu yang dinonaktifkan mengembalikan 404.
- Periksa ID pemicu di URL sudah benar.
401 Tidak Sah
- Audiens token harus cocok dengan ID aplikasi Agen SRE, bukan
https://management.azure.com. - Untuk mendapatkan token untuk pengujian:
az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv.
Pemicu dijalankan tetapi agen tidak bertindak
- Periksa permintaan agen—perintah kosong mungkin tidak menghasilkan output yang berguna.
- Verifikasi bahwa subagen yang dipilih memiliki alat yang diperlukan untuk tugas tersebut.
- Periksa riwayat pelaksanaan untuk detail kesalahan.
Batasan
| Sumber Daya | Limit |
|---|---|
| Pemicu untuk setiap agen | Tidak ada batas keras |
| Putaran maksimum per eksekusi | 250 putaran |
| Authentication | Token pembawa diperlukan untuk setiap URL pemicu |