Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure SRE Aracısı'ndaki HTTP tetikleyicileri, dış sistemlerin aracınızı isteğe bağlı olarak çağırmak için kullandığı web kancası uç noktalarıdır. Sürekli tümleştirme ve sürekli teslim (CI/CD) işlem hattı başarısız olduğunda, bir uyarı aracı bir anomali algılar veya herhangi bir HTTP istemcisi bir POST istek gönderirse, aracı olay bağlamını alır ve hemen çalışmaya başlar.
Sorun: Uyarılar ve işlem hattı hataları için manuel ayıklama gerekiyor
Ekibinizin zaten Datadog, Dynatrace, Jira, Splunk ve Grafana gibi uyarı, gözlemlenebilirlik ve iş akışı araçları ve bozulan CI/CD işlem hatları var. Bir sorun olduğunda yanıt her seferinde aynı olur:
- Mühendis bir uyarı alır: Mühendis izleme aracını açar, uyarıyı okur ve durumu anlamak için birden fazla panoda el ile günlükleri, ölçümleri ve dağıtım geçmişini açar.
- İşlem hattı başarısız oluyor: Birinin yaptığı işi durdurması, derleme çıkışını denetlemesi, son değişikliklerle bağıntı kurması ve geri mi yoksa ileriye doğru mu düzelteceğine karar vermesi gerekir.
- Bağlam dağılımlı: Datadog uyarısı "prod-api'de CPU ani artışı" diyor. Sorunun kök nedeni, üç hizmetin günlüklerini ilişkilendirmeyi, son dağıtımları kontrol etmeyi ve Dynatrace takiplerini gözden geçirmeyi gerektirir.
HTTP tetikleyicileri nasıl çalışır?
HTTP tetikleyicileri, web kancalarını destekleyen tüm araçları doğrudan SRE Aracısı örneğine bağlamanıza olanak tanır. Sorunu algılayan sistem, bir mühendisin manuel önceliklendirme yapması yerine, bir Datadog uyarısı, Dynatrace anomalisi, Jira iş akışı geçişi veya bir işlem hattı hatası olup olmadığını belirleyip aracıya araştırma yapmasını söyler. Bağlam otomatik olarak geçirilir.
Her tetikleyici, aracınızda benzersiz bir URL'ye sahip adlandırılmış bir web kancası uç noktasıdır. Bir dış sistem o URL'yi HTTP POST aracılığıyla çağırdığında, aracı tetikleyicinin yapılandırılmış komutunu yürütür ve bu komut istek gövdesindeki tüm JSON verileriyle zenginleştirilmiştir.
Temel kavramlar
| Konsept | Nasıl çalışır? |
|---|---|
| Tetikleyici | İstemi, atanmış aracıyı (varsayılan veya alt aracı) ve özerklik düzeyini (otonom veya gözden geçirme) içeren adlandırılmış uç nokta. |
| Tetikleyici URL'si | Tetikleyici oluşturduğunuzda oluşturulan benzersiz web kancası URL'si. Bu webhook URL'si dış araçlar tarafından çağrılır. |
| JSON bağlamı | İstekle birlikte POST gönderilen isteğe bağlı JSON gövdesi. Tam bir bağlam sağlamak için aracın isteminin bir parçası haline gelir. |
| Yürütme geçmişi | Her çağrı bir zaman damgası, iş parçacığı bağlantısı ve başarı veya hata durumu ile günlüğe kaydedilir. |
| Etkinleştir/devre dışı bırak | Tetikleyicileri silmeden açın veya kapatın. Devre dışı bırakılan tetikleyiciler 404 döndürür. |
Tetikleyici çağırma
Http POST isteğiyle tetikleyici URL'sini çağırın:
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%"
}'
| Bölüm | Nedir? |
|---|---|
| URL | Tetikleyicinin benzersiz webhook endpointi. Tetikleyici ayrıntı görünümünde, Trigger URL altında bulabilirsiniz. |
| Authorization | Azure Resource Manager Bearer belirteci. Tetikleyici çağırma için kimlik doğrulaması bölümüne bakın. |
| İçerik Türü | Gönderdiğiniz JSON gövdesi ise application/json olması gerekir. |
| JSON gövdesi (isteğe bağlı) | Ajanın görmesini istediğiniz tüm JSON verileri. Bu veriler aracının isteminin bir parçası olur. Aracının, araştırmayı kolaylaştıracak uyarı adı, önem derecesi ve etkilenen hizmet gibi bağlamları ekleyin. |
JSON gövdesi isteğe bağlıdır. Tetikleyiciyi gövdesiz çağırırsanız, aracı yalnızca tetikleyicinin yapılandırılmış istemiyle çalışır. Bir gövde ile aracı hem istemi hem de gönderdiğiniz verileri görür.
Tetikleyici çağırma için kimlik doğrulaması
Tetikleyici uç noktası, üst bilgide Authorization: Bearer <TOKEN> bir Azure Resource Manager Taşıyıcı belirteci gerektirir. Arayan kişinin, Microsoft.App/agents/threads/write aracı kaynağına erişim iznine ihtiyacı vardır.
Jeton almanın yolları
| Yöntem | En iyi kullanım alanı: | Ayrıntılar |
|---|---|---|
| Hizmet Prensibi | CI/CD işlem hatları, otomatik sistemler | Bir uygulama kaydı oluşturun, aracı kaynağında rolü atayın ve belirteç almak için istemci kimlik bilgileri akışını kullanın. |
| Yönetilen kimlik | Azure'da barındırılan hizmetler (Azure İşlevleri, Azure Sanal Makineler, Azure Container Apps) | Yönetilecek gizli bilgi yok. Azure kaynağının kimliği otomatik olarak doğrulanır. |
| Azure Komut Satırı Arayüzü (Azure CLI) | Test ve geliştirme |
az account get-access-token --resource https://management.azure.com --query accessToken -o tsv'i çalıştırın. |
Azure kimlik doğrulamayı desteklemeyen dış araçları bağlama
Datadog, Dynatrace, Jira ve Splunk gibi araçlar web kancalarını Azure Resource Manager belirteçleriyle değil kendi kimlik doğrulama biçimleriyle gönderir. Boşluğu kapatmak için aşağıdaki aracılardan birini kullanın.
| Aracı | Nasıl çalışır? |
|---|---|
| Azure İşlevleri | Webhook'u alır, yönetilen kimliğini kullanarak bir Azure Resource Manager belirteci edinir ve çağrıyı tetikleyici URL'ye iletir. |
| Azure Logic Apps | Herhangi bir kaynaktan web kancaları alan ve yerleşik Azure Resource Manager kimlik doğrulamasıyla Azure API'lerini çağıran kod içermeyen iş akışı. |
| Azure API Management | Tetikleyici URL'nin önünde konumlanır ve ilkeler aracılığıyla belirteç doğrulama ve dönüştürme işlemlerini gerçekleştirir. |
Response
{
"message": "HTTP trigger execution initiated",
"executionTime": "2026-03-13T10:30:00Z",
"threadId": "thread-abc123",
"success": true
}
Tetikleyici hemen HTTP 202 (Kabul Edildi) döndürür. İşleme birimi, isteği zaman uyumsuz olarak işler.
Bu yaklaşımı farklı kılan nedir?
HTTP tetikleyicileri, mevcut uyarı ve CI/CD araçlarınızı döngüde bir mühendis olmadan doğrudan aracınıza bağlar. Sorunu algılayan sistem, aracıya soruşturma yapmasını söyler ve tüm bağlamı otomatik olarak iletir. Sayfalama, gösterge tablosu değiştirme ve manuel bağlam toplama yoktur.
Önce ve sonra
| Önce (el ile sınıflandırma) | Sonra (HTTP tetikleyicileri) |
|---|---|
| Datadog alarmı harekete geçer. Mühendis bir çağrı alır, üç gösterge paneli açar ve araştırmaya başlar. | Datadog webhook çağrıları tetiklenir. Aracı, bulguları otomatik olarak araştırır ve yayınlar. |
| Boru hattı arızaları. Mühendis, derleme günlüklerini denetler, ÇEKME'leri inceler ve bir sonraki adıma karar verir. | Boruhattı arıza işleyicisi tetikleyicileri çağırır. Etmen, hatayı analiz eder ve temel nedeni raporlar. |
| Dynatrace anomaliyi algılar. Mühendis, hizmetler arasında el ile bağıntı sağlar. | Dynatrace webhooks, anomali bağlamıyla tetiklenir. Aracı günlükler, ölçümler ve dağıtımlar arasında bağıntı oluşturur. |
Zamanlanmış görevler ile HTTP tetikleyicileri karşılaştırması
| Zamanlanmış görevler | HTTP tetikleyicileri |
|---|---|
| Zamana dayalı (kronolojik zamanlama). | Olay güdümlü (talep üzerine). |
| Bir şey olup olmadığından bağımsız olarak çalışır. | Yalnızca çağrıldığında çalışır. |
| Yürütme başına dış giriş yok. | Her çağrıya enjekte edilen yük verileri. |
| Yinelenen denetimler için en iyisidir. | Olay odaklı tepkiler için en iyi. |
Her ikisini birlikte kullanın. Proaktif izleme için zamanlanmış görevleri ve reaktif olay işleme için HTTP tetikleyicilerini kullanın.
Kullanım örnekleri
CI/CD boru hattı entegrasyonu
Dağıtım işlem hattı başarısız olduğunda, hatayı analiz etmek için aracıyı çağırı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\"}"
Uyarı temelli araştırma
Kritik uyarılar tetiklendiğinde otomatik araştırmayı tetikleyebilmek için uyarı sisteminizi bağlayın:
{
"alert_name": "Error rate > 5%",
"severity": "P1",
"service": "checkout-api",
"region": "eastus2",
"start_time": "2026-03-13T10:15:00Z"
}
Dağıtım uyumluluk denetimleri
Dağıtım tamamlandıktan sonra bir uyumluluk gözden geçirmesi tetikleyin:
curl -X POST "$AGENT_TRIGGER_URL" \
-H "Authorization: Bearer $ARM_TOKEN" \
-d '{"deployment_id": "deploy-456", "environment": "production", "changes": ["config update", "image bump"]}'
API referansı
| Bitiş noktası | Yöntem | Açıklama |
|---|---|---|
/api/v1/httptriggers |
GET |
Tüm tetikleyicileri listeleyin. |
/api/v1/httptriggers/create |
POST |
Yeni bir tetikleyici oluşturun. |
/api/v1/httptriggers/{id} |
GET |
Tetikleyici ayrıntılarını edinin. |
/api/v1/httptriggers/{id} |
PUT |
Tetikleyici özelliklerini güncelleştirin. |
/api/v1/httptriggers/{id} |
DELETE |
Tetikleyiciyi silme. |
/api/v1/httptriggers/{id}/enable |
POST |
Tetikleyiciyi etkinleştirin. |
/api/v1/httptriggers/{id}/disable |
POST |
Tetikleyiciyi devre dışı bırakın. |
/api/v1/httptriggers/{id}/execute |
POST |
Tetikleyiciyi el ile çalıştırın. |
/api/v1/httptriggers/{id}/executions |
GET |
Yürütme geçmişini alın. |
/api/v1/httptriggers/trigger/{id} |
POST |
Dış web kancası uç noktası. |
Sorun giderme
Tetikleyici 404 döndürür
- Tetikleyicinin etkin olarak ayarlandığını doğrulayın. Devre dışı bırakılan tetikleyiciler 404 döndürür.
- URL'deki tetikleyici kimliğinin doğru olup olmadığını denetleyin.
401 Yetkisiz
- Belirteç izleyicisi
https://management.azure.comile değil, SRE Aracısı uygulama kimliğiyle eşleşmelidir. - Test için belirteç almak için kullanın
az account get-access-token --resource 59f0a04a-b322-4310-adc9-39ac41e9631e --query accessToken -o tsv.
Tetikleyici yürütülür ancak aracı işlem yapmaz
- Aracı istemini denetleyin. Boş bir istem yararlı bir çıkış üretmeyebilir.
- Seçilen alt aracının görev için gereken araçlara sahip olduğunu doğrulayın.
- Hata ayrıntıları için yürütme geçmişini denetleyin.
Limits
| Kaynak | Limit |
|---|---|
| Aracı başına tetikleyici sayısı | Sabit sınır yok. |
| Yürütme başına en fazla dönüş sayısı | 250 dönüş. |
| Authentication | Her tetikleyici URL'si için taşıyıcı belirteci gereklidir. |