Microsoft AZ-400: İzleme, Gözlemlenebilirlik ve Geri Bildirim — Çalışma kılavuzu
Şunun bir parçası: Microsoft DevOps Engineer Expert AZ-400 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Microsoft sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.
Genel Bakış
Modern DevOps ekipleri izleme, gözlemlenebilirlik ve geri bildirimi; mühendislik, operasyon ve ürün kararlarını şekillendiren sürekli bir döngü olarak ele alır. Azure’da telemetri, uygulamalardan ve altyapıdan Azure Monitor ve Log Analytics’e akar; burada sorgulanır, ilişkilendirilir ve görselleştirilir. Dağıtık izleme (Distributed tracing), servisleri uçtan uca işlemlere bağlarken, uyarı ve nöbetçi (on-call) entegrasyonları hızlı çözümlemeyi sağlar. Azure DevOps panoları, iş öğesi analitiği ve denemeler, elde edilen bilgileri planlama ve teslimata geri besleyerek döngüyü tamamlar. Bu bölüm, her aşamada eyleme geçirilebilir geri bildirim sağlayan entegre bir gözlemlenebilirlik yığını tasarlamak için gereken derinliği sunar.
Telemetri, İzleme ve Azure Monitor
Application Insights, Azure Monitor’un uygulama performansı izleme (APM) bileşenidir. Enstrümantasyon şu yollarla eklenir:
- SDK’lar ve otomatik enstrümantasyon: .NET/.NET Core, Java, JavaScript, Node.js, Python ve .NET ile Java için Application Insights Agent. Bileşenleri ayırt etmek için bir bağlantı dizesi (connection string) kullanın ve cloud_RoleName’i ayarlayın.
- Telemetri başlatıcıları ve işlemcileri: Gönderimden önce özellikleri (ör. tenantId) ekleyin veya değiştirin ve kişisel olarak tanımlanabilir bilgileri (PII) filtreleyin.
- Özel telemetri: İş eylemleri için TrackEvent, sayısal KPI’lar için TrackMetric, hata bağlamları için TrackException ve açıkça modellemeniz gereken harici çağrılar için TrackDependency.
Telemetri türleri arasında istekler, bağımlılıklar (HTTP, SQL, Azure SDK’ları), izlemeler (traces), istisnalar (exceptions), sayfa görüntülemeleri, sayfa yükleme performansı, kullanılabilirlik testi sonuçları, özel olaylar/metrikler ve canlı metrikler bulunur. Örnekleme (Sampling), sinyali korurken hacmi ve maliyeti kontrol eder: SDK uyarlanabilir örnekleme, hedef iş hacmini ve korelasyonu sürdürmek için tür başına oranları otomatik olarak ayarlar; sabit oranlı örnekleme ise uyumluluk için deterministik örnekleme sağlar. Alt sistemlerin atılan öğeleri asla işlememesi için SDK tarafında örneklemeyi tercih edin. Uçtan uca izleme bütünlüğü için yapışkan örneklemeyi (sticky sampling) sürdürün.
Dağıtık izleme (Distributed tracing), uçtan uca işlem görünürlüğü sağlar. Application Insights, W3C Trace-Context standardını (traceparent/tracestate) uygular ve korelasyon kimliklerini HTTP üzerinden otomatik olarak yayar; kesik izlemeleri (broken traces) önlemek için bağlamı asenkron sınırlar ve özel protokoller aracılığıyla yayın. Bağımlılık takibi, yaygın giden çağrıları otomatik olarak toplar; çağrı grafiğini tamamlamak için mesaj kuyruğu atlamaları veya standart dışı RPC’ler için özel bağımlılıklar yayınlayın. App Map ve Transaction Search, servisler arası akışları, gecikmeleri ve hata sıcak noktalarını görselleştirir. Ön uçtan (front-end) arka uca (back-end) korelasyon için JavaScript SDK’sını etkinleştirin ve gerçek sayfa yükleme sürelerini ve kullanıcı yolculuklarını ölçmek için sunucu tarafı korelasyon başlıklarının kabul edildiğinden emin olun.
Azure Monitor, platform ve uygulama telemetrisini birleştirir:
- Metrikler: Çok boyutlu, neredeyse gerçek zamanlı (bir dakikalık veya daha iyi ayrıntı düzeyi). Hızlı, düşük gecikmeli tespitler için statik veya dinamik eşiklere sahip metrik uyarıları kullanın.
- Loglar: Derinlemesine analiz ve anomali avı için KQL ile sorgulanan, bir Log Analytics çalışma alanındaki yarı yapılandırılmış telemetri.
- Uyarılar: Metrik, log ve aktivite logu kuralları, eylem gruplarına yönlendirilir. Tutarlı işlem için dinamik eşikler, çoklu kaynak hedefleme ve ortak uyarı şeması kullanın.
- Eylem grupları: Çözümleme için E-posta/SMS/sesli arama, anlık bildirimler, webhook’lar (PagerDuty/OpsGenie dahil), ITSM bağlayıcıları, Logic Apps, Azure Functions ve Automation runbook’ları.
- Tanılama ayarları: Her bir Azure kaynağını, platform metriklerini/loglarını Log Analytics’e, Azure Storage’a (arşivleme için) ve Event Hubs’a (SIEM alımı için) akış yapacak şekilde yapılandırın. İlke tabanlı dağıtımla tutarlılığı sağlayın.
Log Analytics (KQL) ile Sorgulama ve Analitik
Bir Log Analytics çalışma alanı, loglar için sorgu ve yönetişim sınırıdır. Ortama ve veri egemenliğine göre planlayın: üretim ve üretim dışı ortamlar için ayrı çalışma alanları RBAC ve saklama politikalarını basitleştirebilir; merkezileştirme ise servisler arası korelasyonu kolaylaştırır. Veri kaynakları arasında Azure Diagnostics (platform logları/metrikleri), VM aracıları (Syslog/Windows olayları, performans sayaçları), Container Insights/AKS, Application Insights bileşen logları (Azure Monitor Logs altında birleştirilmiş), Azure AD oturum açma işlemleri, alım API’leri aracılığıyla özel loglar ve hassas akış yönlendirme ve dönüşüm için Veri Toplama Kuralları (Data Collection Rules) bulunur.
Kusto Sorgu Dili (KQL), zaman serisi ve telemetri analitiği için optimize edilmiştir:
- Temel operatörler: where (filtreleme), project (seçme), extend (türetme), summarize by (toplama), join/union (ilişkilendirme), parse/parse_json (çıkarma), mv-expand (diziler), zaman dilimleme için make-series ve bin, grafikleme için render.
- Kalıplar: Hata bütçesi tüketimi (zamana göre ağırlıklandırılmış hata oranları), p50/p95 gecikme dağılımları, bağımlılık aykırı değer tespiti, istek başarı oranının trafiğe karşı analizi ve mevsimselliğe duyarlı uyarılar için series_decompose_anomalies kullanarak anomali tespiti.
- Yönetişim: Kayıtlı sorgular ve fonksiyonlar yeniden kullanımı teşvik eder; RBAC ve tablo düzeyinde erişim, hassas veri kümelerini kısıtlar.
- Kaynaklar arası ve çalışma alanları arası: Ortamlar ve abonelikler arasındaki veri kümelerini birleştirmek için workspace(“workspaceNameOrId”).Table ve workspaces() fonksiyonunu kullanın; kaynaklar arası birleştirmeler için resource() kullanın. Büyük birleştirmelerde performansı kontrol etmek için let bağlamalarını ve materialize() fonksiyonunu uygulayın.
Azure DevOps’ta Görselleştirme ve Çevik Geri Bildirim
Azure DevOps’taki panolar (dashboard’lar) hem operasyonel hem de süreç sağlığını iletir. Takım seviyesindeki panolar bir takımın backlog’una, iterasyonlarına ve WIP’e (Work in Progress) odaklanır; proje seviyesindeki panolar ise takımlar arası ve portföy görünümlerini ortaya çıkarır. Widget’lar arasında Sprint Burndown, Burnup, Velocity, Cumulative Flow Diagram (CFD), Cycle Time, Lead Time, Work Item Chart/Query Results, Build/Release özetleri ve runbook’lar ile SLO durumu için Markdown bulunur. Takımlar arası sızıntıyı önlemek için pano izinleriyle widget’ları güvence altına alın ve sorguları takımlara/alanlara sıkı bir şekilde kapsamlandırın.
Boards sorguları (sorgu oluşturucu veya WIQL aracılığıyla) birçok widget’a güç verir. Yeniden kullanım için sorguları takımın alan yoluna/iterasyonuna göre parametrelendirin; doğruluk ve performans için mevcut olduğunda Analytics tabanlı widget’ları tercih edin. Temel akış metrikleri:
- Cycle time: Active (sürüyor) durumundan Done (tamamlandı) durumuna kadar geçen süre; yürütme verimliliğini izlemek için Cycle Time widget’ını kullanın.
- Lead time: Oluşturulmasından/taahhüt edilmesinden Done (tamamlandı) durumuna kadar geçen süre; müşteriler tarafından algılanan toplam sistem gecikmesini belirtir.
- Throughput: Zaman aralığı başına tamamlanan öğe sayısı; darboğazları tespit etmek için WIP politikalarıyla karşılaştırın.
- Cumulative Flow Diagram: Zaman içindeki kuyruk boyutlarını duruma göre görselleştirir; genişleyen bantlar kısıtlamaları ve bağlam değiştirme (context-switching) sorunlarını ortaya çıkarır. Sprint takibi için Burndown (kalan işin sıfıra doğru eğilimi) ve Burnup (toplam kapsama karşı tamamlanan iş, kapsam değişikliğine karşı dayanıklı) kullanın. Velocity, sprint başına tamamlanan ortalama eforu raporlar ve kapasite planlamasına bilgi sağlar; takımlar arasında yalnızca benzer tahmin birimlerini toplayın.
Ürün analitiği gerektiğinde, iyileştirmeleri önceliklendirmek amacıyla teslimat metriklerini operasyonel telemetriyle (ör. lead time’a karşı defect escape rate) birleştirmek için Azure DevOps Analytics’i Power BI’a bağlayın.
Güvenilirlik, Uyarı ve Sürekli Geri Bildirim
SLI/SLO/SLA, güvenilirliği birinci sınıf bir özellik olarak tesis eder:
- SLI’lar: Kullanıcı deneyiminin nicel ölçümleridir; örneğin, istek başarı oranı, p95 gecikme süresi, kritik uç noktaların (endpoint) kullanılabilirliği veya kullanıcı arayüzündeki (UI) görev tamamlama oranı.
- SLO’lar: Belirli bir zaman aralığındaki hedeflerdir; örneğin, aylık %99,9 kullanılabilirlik veya p95 < 300 ms. SLO’ları altyapıya değil, kullanıcı yolculuklarına bağlayın.
- Hata bütçeleri: 1 − SLO; sürüm riskini, geri alma (rollback) kriterlerini ve olay müdahalesini yönetir. Hem hızlı hem de yavaş ihlaller için KQL veya metrik uyarıları kullanarak tüketim oranı (burn-rate) uyarıları (örneğin, bütçenin 2 kat ve 14 kat tüketimi) uygulayın.
- SLA’lar: Müşterilere yönelik harici taahhütlerdir; genellikle SLO’lardan daha gevşektir ve cezalar içerir; mühendislik prensiplerini (guardrail) belirler ama dikte etmez.
Uyarı ve nöbet (on-call):
- Gecikmeye duyarlı durumlar için metrik uyarıları kullanın; karmaşık koşullar (örneğin, çoklu sinyal korelasyonu veya anomali skorları) için günlük (log) uyarıları kullanın.
- Tekrarları birleştirme (deduplication) (uyarı işleme kuralları), dinamik eşikler, önem derecesi ayarlaması ve planlı bakım sırasında otomatik bastırma ile uyarı yorgunluğunu azaltın.
- Ortak uyarı şemasını (common alert schema) kullanarak eylem grubu (action group) webhook’ları aracılığıyla PagerDuty/OpsGenie ile entegre olun; olayların tekilleştirilmesi (dedup) için uyarı korelasyon anahtarlarını eşleştirin ve servis başına bildirim (eskalasyon) politikaları tanımlayın.
- Azure Automation runbook’ları, Functions veya Logic Apps ile iyileştirmeyi otomatikleştirin (örneğin, kuyruk derinliğine göre ölçeği genişletme (scale-out), başarısız bir örneği (instance) yeniden başlatma, bir özellik bayrağını (feature flag) açıp kapatma). Denetlenebilirlik için her otomatik eylemi Application Insights’a özel bir olay (custom event) olarak kaydedin.
Sürekli geri bildirim ve deneme:
- A/B ve kademeli dağıtımlar: Uç noktada (edge) trafik bölme için Azure Front Door veya Traffic Manager kullanın ya da kullanıcı veya kohort bazlı dağıtım için Azure App Configuration Feature Manager ile özellik bayrakları (feature flag) uygulayın. Kod yollarını bayraklarla koruyun ve her varyant için olay telemetrisi toplayın.
- Kullanıcı telemetrisi: Özellik bayrağı durumu, kullanıcı özellikleri (PII olmayan) ve senaryo tanımlayıcıları ile TrackEvent yayınlayın. Hipotezleri doğrulamak için Application Insights’ta hunileri (funnel), kullanıcı akışlarını, kullanıcıyı elde tutma (retention) ve kohort performansını analiz edin.
- Özellik kullanım analitiği: GA/HA/AA (DAU/WAU/MAU), özellik benimseme ve dönüşüm metriklerini izleyen gösterge panoları (dashboard) oluşturun. Çıktıları backlog önceliklendirmesine dahil edin. Staging SLI temel çizgileri başarısız olduğunda veya deney KPI regresyonları tespit edildiğinde üretim dağıtımını engellemek için Azure Pipelines geçitlerini (gate) kullanın.
Pratik Problem Senaryosu
Spotify’ın, Azure Kubernetes Service (AKS) ve Azure App Service API’lerinde dağıtılan podcast alım (ingestion) ve oynatma servisleri için uçtan uca görünürlüğü ve geri bildirimi iyileştirmesi gerekiyor. Olaylar geç tespit ediliyor ve ürün ekipleri yeni oynatma özellikleri için güvenilir benimseme metriklerinden yoksun.
- Uygulama telemetrisini enstrümante edin ve ilişkilendirin
- .NET ve Node.js servislerine Application Insights SDK’larını ekleyin; web istemcilerinde Application Insights JavaScript SDK’sını etkinleştirin. cloud_RoleName ve bağlantı dizelerini (connection string) yapılandırın; mikroservisler ve mesaj kuyrukları arasında W3C izleme bağlamı (trace-context) yayılımını etkinleştirin. Neden: Tarayıcıdan servislere ve bağımlılıklara kadar eksiksiz işlem görünürlüğü için tutarlı korelasyon kimlikleri ve dağıtık izleme (distributed tracing) sağlar.
- Platform tanılama verilerini Log Analytics’e aktarın
- Tüm AKS kümelerine, App Service planlarına, Application Gateway’lere, Cosmos DB ve Storage hesaplarına Azure Policy aracılığıyla tanılama ayarlarını uygulayın ve verileri 90 günlük saklama süresiyle merkezi bir üretim (prod) çalışma alanına yönlendirip Storage’a arşivleyin. Neden: KQL ile korelasyon ve uygun maliyetli uzun süreli saklama için platform günlüklerinin/metriklerinin tek tip kapsamını garanti eder.
- SLI, SLO ve hata bütçelerini tanımlayın
- SLI’lar: p95 API gecikme süresi, istek başarı oranı, alım (ingestion) işlem hattı verimi ve oynatıcı başlatma başarısı.
- SLO’lar: Aylık %99,95 başarı, p95 oynatma başlangıcı < 300 ms, alım (ingestion) gecikmesi < 2 dakika.
- KQL tabanlı hata bütçesi tüketim oranı (hızlı/yavaş) uyarıları ve dinamik eşiklere sahip gecikme süresi için metrik uyarıları oluşturun. Neden: İş sonuçlarını, zamanında uyarılarla ölçülebilir, eyleme dönüştürülebilir güvenilirlik hedeflerine dönüştürür.
- Eyleme dönüştürülebilir uyarılar ve nöbet (on-call) entegrasyonu oluşturun
- Akıllı gruplama (smart grouping) ile Azure Monitor uyarı kuralları oluşturun; ortak uyarı şemasını (common alert schema) kullanarak webhook aracılığıyla PagerDuty’yi tetikleyen bir eylem grubuna (action group) yönlendirin. Kuyruk derinliğine göre otomatik ölçeklendirme ve sağlıksız pod’ları yeniden başlatma için Azure Automation runbook’larını ekleyin. Neden: Güvenilir çağrı (paging) ve güvenli, denetlenebilir otomatik iyileştirme yoluyla MTTA/MTTR’yi azaltır.
- Mühendislik ve ürün için gösterge panoları (dashboard) oluşturun
- Azure DevOps takım seviyesi gösterge panoları: Ekipler (squad) için Döngü Süresi (Cycle Time: Aktif→Bitti), Teslim Süresi (Lead Time: Oluşturuldu→Bitti), CFD, Hız (Velocity) ve Sprint Kalan İş (Burndown) grafikleri. Proje seviyesi gösterge panoları: Sürümler için İlerleme (Burnup) grafiği, takımlar arası verim (throughput) ve Markdown/Analytics widget’ları aracılığıyla SLO durumu. Neden: Ekiplere (squad) yürütme süreçleri hakkında içgörü sağlarken, liderliğe portföy ve güvenilirlik sağlığı hakkında bilgi sunar.
- Deneme ve kullanım analitiğini uygulayın
- Yeni bir “Sessizliği Akıllı Atla” özelliğini kademeli olarak dağıtmak için Azure App Configuration özellik bayraklarını (feature flag) kullanın. Gerektiğinde uç noktada (edge) A/B testi için kohortları Front Door kurallarıyla bölün. featureFlagState, kullanıcı kohortu ve sonuç metrikleri ile TrackEvent yayınlayın. Neden: Kanıta dayalı kararlar için yüksek doğrulukta kullanıcı telemetrisi yakalarken etkiyi güvenli bir şekilde doğrular.
- Geçitler (gate) ile sürüm kalitesini zorunlu kılın
- Azure Pipelines’da, staging KPI’larını (p95 gecikme süresi, hata oranı, deney varyantı performansı) sorgulamak için Application Insights/Log Analytics’i sorgulayan geçitler (gate) ekleyin. Temel çizgiler veya SLO ile uyumlu eşikler karşılanmazsa geçitleri başarısız kılın. Neden: Regresyonların üretime ulaşmasını engeller ve dağıtım kararlarını güvenilirlik ve ürün KPI’ları ile uyumlu hale getirir.
← Test Stratejisi ve Kalite Mühendisliği · Tüm alanlar · Paket Yönetimi ve Yapıt Yönetimi →
Bu soruları çözün → · ExamRoll.io’da süreli pratik →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Sınavınızı geçin →