Cloud ComputingMicrosoft Azure

Microsoft Azure Monitoring Log Analytics Part I

Microsoft Azure Monitor, on-premises ya da buluttaki uygulamalarınızın ve altyapınızın erişilebilirliğini, performansını en üst seviyeye çıkarmanız adına veri toplama, analiz etme ve optimize etme çözümü sunan bir Azure servisidir.

Azure Monitor çözümü, uygulamalarımızın ve altyapımızın nasıl performans gösterdiğini görünür kılar ve oluşan ya da oluşabilecek sorunların kullanıcıları etkilemeden önce fark edilmesinde, çözüme kavuşturulmasında yardımcı olur. 

Microsoft Azure Monitor Hangi Faydaları Sağlar?

Tek Noktadan İzleme (Visibility)

  • Azure Monitorilehem on-premises hem de bulut ortamlarındaki kaynaklardan gelen veriler ve loglar tek bir noktada toplanır.
  • Toplanan veriler ve sunulan bilgiler Microsoft Azure’un akıllı telefon/tablet uygulamasından veya internet tarayıcısı üzerindeki portalından erişilebilir, böylece her daim parmaklarınızın ucunda olur.
  • “Sanal makinelerim ne kadar CPU tüketiyor?”, “Kubernetes cluster performansım ne durumda?”, “Yeni deploy edilen uygulamalar hangi hatalara sebep oluyor?”, “Hangi servisim ne kadar istek alıyor?” gibi onlarca soruya Azure Monitor ile kolayca cevap bulabilirsiniz.
  • Data Collector API özelliğiyle Azure Monitor tüm kaynaklardan log verisi toplayabilir.

Verileri Anlamlandırma ve Öngörüler Sunma (Insights)

  • Azure Monitorbünyesindeki Applications Insights servisiyle; web & mobil uygulamalarınızın erişilebilirliğini, performansını, kullanım durumunu kolayca gözlemleyebilirsiniz. Uygulamalarınızda bir hata olması durumunda kullanıcıların bu hatayı bildirmesini beklemeden, gerçek zamanlı bir şekilde hataların kaynaklarını kolayca tespit edebilirsiniz.
  • Application Insights servisi çeşitli geliştirme araçlarıyla uyumlu bir şekilde çalışabilir, Visual Studio entegrasyonuyla DevOps süreçlerinize destek olur.
  • Azure Monitor ile loglarınızı gelişmiş sorgu diliyle hızlı bir şekilde anlamlı hale getirebilirsiniz. Hazır gelen Dashboard’lar ile sistemlerinizi anlık olarak takip edebilir ve ihtiyaçlarınıza uygun yeni Dashboard’lar oluşturabilirsiniz.
  • Azure Monitor, buluttaki Sanal Makinelerinizi ve Kubernetes Clusterlarınızı gözlemleyebildiği gibi on-premises uygulamalarınızı da monitor edip öngörüler sunabilir.

Uygulamaları ve Sistemleri En İyi Şekilde Kullanma (Optimization)

  • Azure Monitor, uygulamalarınızdaki ve altyapınızdaki problemlerin veya darboğazların oluştuğu noktaları tespit etmenizi sağlayacak bilgiler sunar. Machine Learning teknolojisini kullanarak sistemlerinizdeki anomali durumlarını proaktif bir şekilde tespit edip size uyarılar verebilir.
  • Azure Monitor, uygulamalarınızın kullanıcı haritasını (Heat Maps) ve bağımlılıklarını (Dependency Maps) sizlere sunup uygulamalarınızı en iyi performansta çalıştırmanızda yardımcı olur.
  • Uygulamalarınızı ve altyapınızı optimize etmek için Azure Monitor servisinin alarm verme fonksiyonlarını kullanabilirsiniz. Azure Monitor, problem anında sistem yöneticisine SMS veya e-mail gönderebilir. Buna ek olarak, hata durumlarında önceden tanımlanmış süreçleri otomatik olarak devreye sokabilir.
  • Azure Monitorservisi, Azure üzerindeki sanal makinelerinizin kapatasitesini artırıp azaltarak, ölçeklendirmeyi otomatik bir şekilde gerçekleştirebilir ve sistem optimizasyonu sağlamanızda size çözüm sağlar. 

Azure Monitor servisi ne olduğu ve bizlere sağladığı avantajlar sonrasında bu servisimizin verileri toplayabilmek için kullandığı belirli veri katmanlarımız vardır. Azure üzerinde oluşturulmuş olan kaynaklarımız üzerinde herhangi  bir şekilde diagnostic ayarlarını etkinleştirmemiş olsak bile varsayılan olarak Temel metrik verilerini elde etmekteyiz. Işte bu varsayılan olarak toplanan temel metrikler platform metrikleri olarak adlandırılmaktadır.

Bir başka veri toplama katmanımız ise Guest katmanı olarak adlandırılmaktadır. Azure Monitoring servisini yukarıda da tanımlarken bahsettiğimiz üzere ister on-prem yapımızda olsun ister farklı platformlar üzerinde çalışan Windows ya da Linux işletim Sistemleri üzerinde agent vasıtası ile verileri toplayabildiğimiz katmandır. Agent ile topladığımız Guest verileri bizlere daha zenginleştirilmiş ve özelleştirilmiş olarak almamızı sağlamaktadır. Bu konfigürasyonları makalemizin sonraki adımlarında gerçekleştireceğiz.

Microsoft Application Insight ile de uygulama metrikleri yani uygulamaların performansının izlenmesi , kod satırları içerisinde bizlere sağladığı özel metrikleri sağlayan custom veri katmanıdır.

Şimdi Azure Monitoring servisini yapılandırarak başlayalım , bunun için Azure Portal üzerine geçelim ;

Microsoft Azure portal üzerinde arama alanına Log Analytics yazıyorum ve ekran görüntüsünde de görüleceği üzere Log Analytics Workspaces seçimini gerçekleştiriyoruz.

Açılan ekranımızdan Add seçimini yaparak yeni bir Workspaces oluşturuyoruz.

Workspaces alanlarını dolduruyoruz. Burada dikkat edilmesi gereken nokta ücretlendirme ile ilgili olan kısım.  Ben burada ücretsiz olarak seçimimi gerçekleştirdim. Ücretsiz olarak tanımladığımda ekran görüntüsünde de göreceğiniz yedi günden eski olan dataların silineceğini belirtmekte. Bu noktaya dikkat edilmeli.

Oluşturmuş olduğumuz CPMonitorWS isimli çalışma alanımıza geldiğimizde ister Advanced Settings üzerinden istersenizde Overview ekranında bulunan ve Connect a data source başlığı altında bulunan Windows, Linux and Other Sources seçimlerini yaparak konfigürasyon adımlarına başlayacağız.

Konfigürasyon için öncelikle Data source olarak Windows Server seçimini yapıyorum. Ekran görüntüsünde yine göreceğiniz üzere daha önce yüklü olan herhangi bir ajanın yüklü olmadığını görüyoruz. Bizler burada bizlere için uygun olan ajan seçimini download ederek izlemesini gerçekleştireceğimiz ve datalarını toplayacağımız windows sunucularımız üzerine kurulumları gerçekleştireceğiz.

Yine ekran görüntüsünde göreceğiniz ve sayfanın altında yer alan OMS Gateway ise kurumumuzda ya da ortamımızda izlemesini gerçekleştireceğimiz sunucularımız internet çıkışı olmayabilir veya hepsini internete çıkarmak istemiyor olabiliriz. OMS Gateway ajanını yükleyerek gateway rolünü üstlenir ve diğer izlenecek sunucularımız için proxy görevini üstlenerek verilerin Azure üzerine gönderilmesini sağlar.

İndirmiş olduğumuz ajan kurulumunu izlemek istediğimiz sunucu vey a sunucular üzerine kurulumları gerçekleştireceğiz.

Sunucumuz üzerinde ajan kurulumunu başlattıktan sonra yine ekran görüntüsünde göreceğimiz gibi OMS’e bağla seçimini yapıyoruz ve ilerliyoruz.

Ilerlediğimizde karşımıza Çalışma Alanı Kimliği ve Çalışma Alanı Anahtarı karşıladı.  Bu alanlarımıza Azure üzerinde ajanımızı indirdiğimiz ekranımızda yer alan Workspace ID ve Primary key değerlerini giriyoruz ve kurulum adımlarını tamamlıyoruz.

Kurulum işlemleri tamamlandıktan yaklaşık 10 dakika içerisinde ajanımız artık Azure Portal üzerinde bulunan çalışma alanımıza register olmuş olacak.

Ajan kurulumlarını tamamladıktan sonra ki adımımız ise artık hangi verileri alacağımızı ve bu verileri hangi zaman sıklığında alacağımız gibi tanımlamalar ve konfigürasyonları gerçekleştireceğiz. Bunun için ;

Advanced settings kısmında bulunan Data sekmesine geliyoruz. Bizler ajan kurulumlarını gerçekleştirdiğimiz sunucular üzerinden bu ekranda yaptığımız ya da yapacağımız seçimlere göre verileri toplayacak. Ekran görüntüsünde de göreceğiniz gibi bir çok seçim yapabiliriz. Son derece Zengin olan hem olay günlükleri hem de performans metriklerini toplayabilir ve anlamlandırabilir durumda olacağız.

Ben bu ekranımızda Application olay günlüklerini seçiyorum ve sağ tarafında bulunan + butonunu kullanarak onaylıyoruz.

Görüldüğü üzere tanımlamalarımızı gerçekleştirdik. Burada önemli olan nokta gerçekten ihtiyacımız olan verileri almamız. Çünkü Microsoft Azure üzerinde ücretlendirmeyi Gigabyte başına ödemeyi seçmiş olabilirsiniz. O sebeple ihtiyacınız olmayacak olan bir datanın toplanıyor olması sadece bizlere ekstra maliyet getirir. Tanımlayacak başka olay günlüğü yok ise Save diyerek bu seçimi kaydediyoruz.

Bir sonra ki adımımız metrikler olacak. Windows Performance Counters seçimini yaptığımızda varsayılan olarak bazı metrikler belirtilmekte. Bu metrik değerleri bizler için yeterli ise Add the selected.. seçimini yapacağız ve verilerin toplanma sıklığını tanımlayarak ilerleyeceğiz.

Ben burada ek olarak varsayılan olarak gelen fakat içerisinde Memory için ekran görüntüsünde göreceğiniz “Memory\Committed Bytes”  metrik değerlerini de toplamak istiyorum. Bunun için ilgili seçimi yaparak ekliyor ve kaydediyoruz.

Linux Performance Counters alanı içinde Windows için gerçekleştirdiğimiz konfigürasyonların birebir aynısını gerçekleştirebiliriz. Diğer belirtilen veri kaynaklarından olan Syslog için ayrı bir makale üzerinde değineceğim.

Azure Service Maps ;

Azure service maps ise yine Azure Log Analytics çözümünün bir parçası olarak yer alır. Azure Service Maps sunucularımızın bağımlılıklarını gerçek zamanlı olarak ortaya koyar. Sunucularımızın Hizmet haritalarını , bağımlılıklarını , hangi IP adresleri ile iletişime geçiyoruz , trafiğimizin çıktığı ve / veya almış olduğumuz trafiğin kaynaklarını gerçek zamanlı ortaya koyan bir araçtır.

Önemli bir detay Azure Service Maps  işletim sistemi ve sürüm bilgisini bununla birlikte doğru ve etkili bir sonuç verebilmek yine buna bağlı sorun giderme özelliklerini sağlamak için IP adresi , DNS adı gibi verileri içerir. Bununla birlikte isim, adres vey a diğer kişisel bilgileri toplamaz. Bu konu çok sık sorulan bir soru olduğu için ayrıca belirtmek istedim.

Azure Service Maps yapılandırabilmek için izlemekte olduğumuz sunucular üzerine küçük bir agent kurulumu daha yapmamız gerekiyor.Bunun için ilgili eklentiyi aşağıda bulunan link üzerinden indirebilirsiniz.

https://aka.ms/dependencyagentwindows

Kurulum işlemleri tamamlandıktan sonra artık verilerin sorgulanması topladığımız verilerin görselleştirilmesi adımlarını bir sonraki makalemizde devam edeceğiz.

İlgili Makaleler

Bir Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu