Azure'da izleme nasıl kurulur: Azure Monitor, Log Analytics ve KQL
Azure Monitor ve Log Analytics ile izleme kurulumu: çalışma alanı, veri toplama, KQL sorgu temelleri, alarm kuralları, aksiyon grupları ve sık hatalar.
Azure Monitor ve Log Analytics ne işe yarar?
Azure Monitor, Azure kaynaklarından, uygulamalardan ve işletim sistemlerinden telemetri toplayan, analiz eden ve bu veriye göre aksiyon alan izleme platformudur. Telemetri başlıca şu türlerdedir: metrikler (belirli aralıklarla ölçülen sayısal değerler, örneğin işlemci kullanımı) ve günlükler (olay kayıtları, hata mesajları, etkinlik izleri). Metrikler hızlı ve hafiftir, anlık durumu gösterir. Günlükler ayrıntılıdır ve nedenin aranmasında kullanılır.
Log Analytics, günlük verisinin saklandığı ve sorgulandığı bileşendir. Veriler bir Log Analytics çalışma alanında (workspace) toplanır ve Kusto Sorgu Dili (KQL) ile sorgulanır. Aynı çalışma alanında farklı kaynaklardan gelen veriler birleştirilebilir; bu, bir olayın sistemler arası etkisini görmeyi sağlar.
İzlemenin amacı bir sorun çıkınca bakacak veri bulmak kadar, sorun çıkmadan önce uyarı almak ve sistemin normal davranışını bilmektir. Kurulum bu yüzden hem veri toplamayı hem de uyarıyı kapsar.
Adım adım izleme kurulumu
Temel bir izleme kurulumu şu sırayla ilerler:
- Gözlenecek şeyi tanımlayın. Hangi hizmetlerin kesintisi iş için kritik? Hangi göstergeler (yanıt süresi, hata oranı, kaynak kullanımı) sağlığı gösterir?
- Log Analytics çalışma alanı oluşturun. Çalışma alanının bölgesini, erişim modelini ve veri saklama süresini belirleyin. Tasarım kararları ayrı bir bölümde ele alınır.
- Veri kaynaklarını bağlayın. Azure kaynakları için tanılama ayarlarıyla günlükleri çalışma alanına gönderin. VM içi işletim sistemi ve uygulama günlükleri için izleme aracısı ve veri toplama kuralları kullanın.
- Uygulama izlemeyi ekleyin. Application Insights ile istek süreleri, bağımlılıklar ve istisnalar toplanır.
- Sorguları yazın ve kaydedin. Sık kullanılan sorgular kaydedilip ekiple paylaşılır.
- Alarm kuralları ve aksiyon grupları oluşturun. Eşik aşıldığında kimin, hangi kanaldan haberdar olacağı belirlenir.
- Pano ve çalışma kitapları ile görselleştirin.
- Düzenli gözden geçirin. Gürültülü alarmları ayıklayın, eksik alanları tamamlayın.
Çalışma alanı tasarımı
Çalışma alanı sayısı ve yapısı, hem maliyeti hem erişim yönetimini hem de sorgulama kolaylığını etkiler. Tek merkezi çalışma alanı, tüm veriyi bir arada sorgulamayı kolaylaştırır; farklı ekiplerin farklı veriye erişmesi gerekiyorsa erişim kontrolü ayrıntılı kurulmalıdır. Birden çok çalışma alanı ise yasal veri konumu gereksinimlerinde, ekip veya ortam yalıtımında ya da maliyet ayrımında tercih edilir. Çok sayıda çalışma alanı ise sorgulamayı ve yönetimi zorlaştırır.
Karar verirken şu ölçütlere bakılır:
- Veri konumu. Verinin hangi bölgede kalması gerektiği.
- Erişim ayrımı. Ekiplerin yalnızca kendi verisini görmesi gerekip gerekmediği.
- Maliyet ayrımı. Veri alım maliyetinin ekip veya ortam bazında izlenmesi ihtiyacı.
- Saklama süresi. Farklı veri türleri için farklı saklama gereksinimleri.
Veri hacmi arttıkça maliyet büyür. Hangi tablonun gerçekten gerektiğini belirlemek, gereksiz günlüklerin toplanmasını önlemek ve düşük değerli veriler için daha ucuz saklama seçeneklerini değerlendirmek maliyeti kontrol altında tutar. Güncel fiyatlandırma ve saklama seçenekleri Microsoft belgelerinde yayımlanır.
KQL ile sorgu yazmanın temelleri
KQL, veriyi borulama mantığıyla işler: bir tabloyla başlarsınız ve her adımı dikey çizgiyle sonrakine bağlarsınız. Her adım, bir önceki adımın çıktısını alıp dönüştürür. Bu yapı sorguyu soldan sağa, adım adım okunur kılar.
Sık kullanılan operatörler şunlardır:
- where: satırları koşula göre süzer; zaman aralığı ve önem düzeyi filtreleri genellikle ilk adımdır.
- project: yalnızca gereken sütunları seçer.
- extend: yeni hesaplanmış sütun ekler.
- summarize: gruplama ve toplama yapar; sayma, ortalama ve en büyük değer gibi işlevlerle çalışır. Zaman dilimlerine göre gruplamak için zaman dilimi işlevi kullanılır.
- sort ve top: sıralama ve en çok olanı alma.
- take: veriye hızlı göz atmak için birkaç satır getirir.
- render: sonucu grafik olarak çizer.
- join ve union: tabloları birleştirir.
Sorgu yazarken ilk kural zaman aralığını daraltmaktır; kaynaklar tüm tarihi taramaz ve hız artar. Erken süzmek de önemlidir: veriyi ne kadar erken azaltırsanız sonraki adımlar o kadar hızlı çalışır. Sütun seçimini erken yapmak da hız kazandırır. Operatörlerin tam sözdizimi ve güncel tablo adları için Microsoft belgelerine başvurun.
Alarm kuralları ve aksiyon grupları
Alarmın amacı, birisinin bakması gerektiği anda ona haber vermektir; her sapmada gürültü üretmek değil. Alarm kuralı bir koşuldan oluşur: bir metrik eşiği, bir günlük sorgusunun sonucu ya da bir etkinlik. Kural belirli aralıklarla değerlendirilir; koşul sağlanınca alarm tetiklenir.
Aksiyon grubu, alarm tetiklendiğinde ne yapılacağını belirler: e-posta, kısa mesaj veya anlık bildirim göndermek, bir otomasyon çalıştırmak ya da bir olay yönetim sistemine kayıt açmak. Aynı aksiyon grubu birçok alarm kuralında yeniden kullanılabilir. Kimin çağrılacağını sorumluluk alanına göre ayırmak, doğru kişiye doğru zamanda ulaşmayı sağlar.
İyi alarm tasarımı için ilkeler:
- Kullanıcı etkisini yansıtan göstergelere alarm kurun; yalnızca kaynak kullanımı yüksek diye alarm vermek çoğu zaman yanlış alarmdır.
- Önem düzeylerini ayırın; acil müdahale gerektirenle bilgi amaçlı olanı karıştırmayın.
- Her alarma bir yanıt prosedürü bağlayın. Alarmı alan kişi ne yapacağını bilmelidir.
- Gürültü yapan alarmları düzenli gözden geçirin; sürekli göz ardı edilen alarm güveni aşındırır.
Örnek: web uygulamasında yavaşlama olayı
Örneğin bir e-ticaret uygulamasında kullanıcılar ödeme sayfasının yavaşladığını bildiriyor. Ekip önce Application Insights verisinde yanıt süresinin arttığını ve belirli bir bağımlılık çağrısının uzadığını görüyor. Ardından Log Analytics'te ilgili zaman aralığını süzüp isteklere ait kayıtları gruplayarak hangi uç noktanın yavaşladığını buluyor. Aynı çalışma alanındaki veritabanı günlüklerini birleştirdiğinde, yavaşlamanın bir sorgunun kilit beklemesinden kaynaklandığını fark ediyor.
Sorun çözüldükten sonra ekip, benzer olayın tekrarını erken yakalamak için bir günlük sorgusu temelli alarm kuruyor: ödeme işlemi yanıt süresi belirlenen eşiği belirli bir süre aşarsa, nöbetçi mühendis aksiyon grubu üzerinden bilgilendirilir. Olay anındaki sorgu kaydedilip çalışma kitabına ekleniyor; böylece bir sonraki incelemede aynı adımlar yeniden yazılmıyor.
Bu örnek, izlemenin işlevlerini gösterir: sorunu fark etme, nedenini bulma ve tekrarını önleme.
Sık yapılan hatalar
- Her şeyi toplamak. Gereksiz günlükler maliyeti büyütür ve sinyal bulmayı zorlaştırır; hangi verinin hangi karar için gerektiğini belirleyin.
- Çalışma alanı erişimini düşünmemek. Hassas günlükler yanlış kişilerin eline geçebilir.
- Alarmları kaynak kullanımına bağlamak. Kullanıcı etkisini ölçen göstergeler daha doğru sinyal verir.
- Alarmın sahibini ve prosedürünü belirlememek. Alarm çalar ama kimse harekete geçmez.
- Sorguda zaman aralığını belirtmemek. Gereksiz yavaşlık ve maliyet doğar.
- Tanılama ayarlarını yeni kaynaklarda unutmak. Politika ile bu ayarları otomatik uygulamak tutarlılık sağlar.
- Panoları kurup bakmamak. İzleme verisi düzenli gözden geçirilmezse eskir.
- Sorguları kişisel kalmasına izin vermek. Ekip bilgisi paylaşılmazsa her olayda aynı iş tekrarlanır.
Öğrenme yolu ve Mindset programlarında nerede çalışılır
Başlangıçta metrik ve günlük ayrımını, Azure Monitor mimarisini ve tanılama ayarlarını öğrenin. Sonra çalışma alanı oluşturup basit KQL sorguları yazın. Orta düzeyde alarm kuralları, aksiyon grupları ve Application Insights ile uygulama izleme gelir. İleri düzeyde ileri KQL, çalışma kitapları, maliyet kontrolü ve olay müdahale senaryoları çalışılır.
Mindset kataloğunda Azure Monitor ve Log Analytics ile Gözlemlenebilirlik programı bu akışı modüllerine yansıtır: gözlemlenebilirlik temelleri ve Azure Monitor mimarisi, Log Analytics çalışma alanı tasarımı, KQL ile sorgu yazımı, ileri KQL ve veri analizi, Application Insights ile uygulama izleme, alarm kuralları ve aksiyon grupları, çalışma kitabı-pano-raporlama, olay senaryoları ve gözlemlenebilirlik projesi. Bulut operasyon, SRE ve uygulama destek ekipleri için uygundur. Microsoft Azure Eğitimi ise "İzleme, Kayıt & Teşhis" başlığını daha geniş bir Azure akışı içinde sunar.
İlgili Mindset programı
Azure Monitor ve Log Analytics ile Gözlemlenebilirlik
Sık sorulan sorular
Azure Monitor ile Log Analytics arasındaki fark nedir?
Azure Monitor, telemetri toplama, analiz ve alarm üretme işlevlerinin tamamını kapsayan izleme platformudur. Log Analytics ise bu platformun içinde günlük verisinin saklandığı ve KQL ile sorgulandığı bileşendir. Pratikte önce bir Log Analytics çalışma alanı oluşturulur, kaynakların tanılama ayarları bu alana yönlendirilir ve sorgular o alanda yazılır.
KQL öğrenmek zor mu?
SQL bilen biri için tanıdık gelir; ancak sorgu borulama yapısıyla yazılır. where, summarize ve project gibi birkaç operatörle günlük ihtiyaçların büyük kısmı karşılanır. Önce küçük sorgularla başlayıp zamanla ileri operatörlere geçmek yeterlidir.
Application Insights ne işe yarar?
Uygulamanın kendisini izler: istek süreleri, hata oranları, bağımlılık çağrıları, istisnalar ve kullanıcı davranışı. Altyapı izlemesini tamamlar; sunucu metrikleri sağlıklı görünürken uygulamanın neden yavaşladığını anlamayı, hangi çağrının ya da bağımlılığın gecikmeye yol açtığını bulmayı sağlar.
Alarmları e-postadan başka nasıl iletebilirim?
Aksiyon grupları kısa mesaj, anlık bildirim, sesli arama, otomasyon çalıştırma ve olay yönetim sistemlerine entegrasyon gibi kanalları destekler. Hangi kanalın kullanılacağı alarmın önemine ve nöbet düzenine göre seçilir; kritik alarmlar için yanıt beklenen bir kanal tercih edilir.
Log Analytics maliyetini nasıl kontrol ederim?
Gereksiz günlükleri toplamamak, veri saklama süresini ihtiyaca göre ayarlamak, hangi tabloların çok veri ürettiğini izlemek ve düşük değerli veri için uygun saklama seçeneklerini değerlendirmek temel yöntemlerdir. Güncel fiyatlandırma seçenekleri Microsoft belgelerinde yer alır.
İlgili rehberler
İlgili eğitimler
Kategori: DevOps ve Bulut Teknolojileri