Azure Log Analytics’e Giriş
Genel Bakış
Bu yazıda Azure Log Analytics’i ne amaçlarla ve nasıl kullanabileceğimizi inceleyeceğiz. Öncelikle biraz Log Query yazımından ve kullanımından bahsettikten sonra, Azure’a dahil olan veya olmayan, linux veya windows tüm makinelerimizden detaylı veri elde edebilmek için kullandığımız Log Analytics Agent ve diğer alternatiflerinden bahsedeceğiz.
Log Analytics Nedir?
Azure Monitor Logs, Azure aboneliğiniz altındaki tüm kaynaklarınıza ilişkin log verisini toplamak ve analiz yapmak için kullanılan araçtır. Logs sayesinde çeşitli kaynaklarınızdan elde edeceğiniz çeşitli tipteki verileri rahatlıkla organize eder, kategoriler ve sonrasında birtakım incelemeler için depolarsınız.
Log Analytics, Azure Portal’da log query(sorgu) yazmak ve sonuçlarını incelemek için kullanılan birincil araçtır. Bunun için Log Analytics altında workspace(çalışma alanları) oluşturup verinizi tablolar halinde istiflersiniz. Her bir tablo farklı bir kaynaktan toplanan logları barındıracak şekilde düzenlenir. Bu tabloların hepsi benzer özellikler taşısa da, tabi ki tuttukları veri türüne göre farklı özelliklere sahiptirler. Bu ortak özellikler ile ilgili daha detaylı bilgiye Microsoft’un ilgili dokümanından ulaşabilirsiniz
Daha sonrasında yazacağınız log queryler ile bu organize durumdaki verilerin arasından istediklerinizi çekerek görsel bir grafik oluşturabilir, bu grafikleri bir dashbord’a kaydedebilir veya paylaşabilirsiniz.
Bunun yanında Log Analytics, yazdığımız sorguların sonuçlarına bağlı olarak belirlenebilecek özel durumlar için Alert Rule tanımlamamıza olanak sağlar.
Log Queries
Log Queryler Azure Monitor Logs ile toplanan veriler üstünde daha detaylı inceleme yapabilmek için kullanılmaktadır. Her ne kadar Azure Monitor’ün sağladığı diğer araçlar (insights gibi) bize bir çok bilgi sağlasa da, topladığımız verileri tam anlamıyla işlemek ve analiz etmek için query yazmamız gerekmektedir.
Log query yazmak için Azure Portal, Azure CLI, Powershell veya REST API kullanılabilir.
Nasıl Yazılır?
Log Query yapısı oldukça basit ama bir o kadar da efektiftir.
Azure’da Log query yazmak için Kusto Query Language kullanılır ve oldukça basit bir yapısı vardır. Log query nin amacı sorgu yapmak ve veri çekmekten ibaret olduğu için SQL tarzı dillerdeki update, delete, create tarzı deyimler bulunmamaktadır.
Basit bir sorgu yazmak için tek ihtiyacınız olan bir tablo ismidir. Yukarıda da bahsettiğimiz gibi, bir Log Analytics workspace’inde veriler tablolar halinde tutulur ve biz sorgu yaparken sadece bu tabloların ismini yazarak çağırabiliriz.
Not: Aşağıda yapacağımız örneklerde Microsoft’un sağladığı demo ortamı kullanacağız.

Gördüğünüz üzere soldaki listede listelediğimiz tablolardan birinin adını yazıp “Run” butonuna bastığımızda bize tablonun tüm içeriğini getirdi. Şimdi yapmamız gereken bu içeriği doğru şekilde filtreleyerek sadece ihtiyacımız olan veriye ulaşmak.
Azure Portalda kullandığımız IDE sayesinde bu sorguları yazmak oldukça kolay. Mesela “InsightMetrics” yazdıktan sonra bize hemen kullanabileceğimiz seçenekler listelenir:
