Microsoft Azure Monitoring Log Analytics Part (Alert Rule) II
Bir önceki makalemizde Azure Monitoring ve Log Analytics hakkında bilgiler vermiştik. Sonrasında veri katmanlarında ve bu veri katmanlarının neleri ifade ettiğinden bahsettikten sonra Log Analytics konfigürasyonlarını gerçekleştirerek ajan kurulumlarını tamamladık.
Log Analytics birden fazla kaynaktan verileri alabilir. Aslında bir veri ambarıdır. Bununla birlikte bir başka yeteneği ise topladığı bu verileri rasyonelleştirebilir ve ilişkisel veriler haline getirebilir. Özetle farklı kaynaklardan toplamış olduğu verileri normalleştirir v eve bizlere bu verileri sorgulama olanağı sağlar. Bu verileri sorgulamak için ise Kusto Query Languange (KQL) adlı bir sorgulama dilini kullanır.
Bu makale serimizde ise toplamış olduğumuz verilerin özelinde uyarılar oluşturmak, daha sonra oluşturmuş olduğumuz uyarıların sonrasında da KQL kullanarak verilerimizi sorgulayacağız.
Log Analytics Alarm Nasıl Çalışır ?
Uyarılar yani Alert’ler oluşturduğumuz ya da oluşturacağımız kuralları temel alarak çalışır.
Diyagrama üzerinde bir uyarı mimarisinin nasıl oluştuğunu gözlemleyebiliriz. Şimdi buradaki terimleri açıklayalım.
Target Resource : Uyarılar için kullanacağımız kaynakları ve sinyalleri ifade etmektedir. Hedefin bizler için ne olduğu önemli değil. Sinyaller ise aslında aslında örnek vermek gerekirse belirli bir sunucunun ya da sunucu grubunun Memory kullanımının belirli bir süre boyunca yine bizler tarafından tanımlanacak eşik değerine ulaşmış ya da aşması durumunda tetiklenmesini istediğimiz değerdir. Bu arada sinyaller sadece metrik değerlerini içermez. Etkinlikler yani olay günlükleri , aktivite logları , Application Insight verileri, Syslog verileri gibi çeşitli veri kaynaklarından oluşturulabilmektedir.
Action Group : Uyarılar tetiklendiğinde yapılacak işlemleri ya da alınacak aksiyonları ifade etmektedir. Bir Azure aboneliği içerisinde maksimum 2000 Adet eylem tanımı yapılabilmektedir. Bu eylemlere örnek vermek gerekirse E-mail veya SMS ile bir kişiyi ya da bir grubu bilgilendirmek olarak tanımlanabilir. Eylemler sadece bildirim olarak anlaşılmamalı bu eylem gruplarının içerisinde belirli scriptler gibi atamalar da yapılabilmektedir.
Monitor Condition : Geçen zaman içerisinde oluşturduğumuz kurallar ve kurallara göre çalışmış olan eylem’leri ve bunların durumlarını gözlemleyebileceğimiz alanı ifade etmektedir.
Azure Monitoring Log Analytics Alert Ücretlendirilmesi.
Azure Monitoring Log Analytics Alert ücretlendirmesini aşağıdaki tablo üzerinden görebilirsiniz. Sizlerinde görebileceği gibi E-Mail bildirimleri için 100.000 E-Mail için 2$ lık bir ücret istemekte. Bununla birlikte her ay ilk 1000 E-Mail ücretsiz olarak sağlanmakta.
Bununla birlikte telefon aranması ve SMS yapılandırılmasını da gerçekleştirebilirsiniz. Bunun için ücretlendirme detaylarını ülkelere aşağıda vermis olduğum link üzerinden detaylarını inceleyebilirsiniz.
https://azure.microsoft.com/en-ca/pricing/details/monitor
Şimdi uyarı tanımlamalarını gerçekleştirmek üzere, oluşturmuş olduğumuz CPMonitorWS isimli çalışma alanımıza geçiyoruz.
Çalışma alanımıza geçtikten sonra sol tarafta bulunan ve Monitoring başlığı altında bulunan Alerts seçimini yapıyoruz.
Alert seçimi sonrasında gelen ekranımızda ilgili Resource Group ve çalışma alanımızı seçiyoruz. Ardında New Alert Rule seçimini yapıyoruz.
Kaynak olarak bizim çalışma alanımız tanımlı olarak gelecek. Koşulları eklemek ve ekleyeceğimiz sinyallerin neler olacağını tanımlamak için Condition başlığı altında yer alan Add seçimini yapıyoruz.
Sinyal olarak çok fazla seçenek var. Bizler burada sinyal tipi olarak Metric ve bu değerinde kullanılan Memory için bir sinyal oluşturacağız.
Sinyalimiz için gerekli tanımlamalarımızı gerçekleştiriyoruz. Computer olarak ajan kurulumu yapmış olduğumuz bütün sunucularımı seçebileceğimiz gibi belirli sunucular içinde seçimlerimizi yapabiliriz. Object Name olarak CPU değerini alacağımızı zaten belirtmiştik. Instance Name ise değerini alacağımız metrik değeri olarak tanımlıyoruz. Alert Logic kısmında ise threshold tanımlamamızı ise yüzde 80 üzerinde olduğu durumlarda tetiklenecek şekilde sinyal tanımlamalarımızı bitiriyoruz.
Şimdi ise Action group tanımlamalarımızı gerçekleştireceğiz. Bunun için eğer ki daha öncesinden oluşturduğumuz herhangi bir Action Group yok ise Create Action Group seçimini yapacağız.
Action Group tanımlamak için ilgili alanları ekran görüntüsünde de görüldüğü üzere dolduruyoruz. Action Type grubunun amacı herhangi bir monitoring uygulamasından beklenen bildirim olarak tanımlanan kuralların yani tanımlanmış threshold değerlerini aştığında bizlere bildirim yapmasıdır. İlk olarak bizler bu bildirimleri yapılandırmak olacak. Fakat burada diğer eylemlerin ne olduğunu açıklayalım.
Automation Runbook : Automation Runbook bir olay oluştuğunda Powershell , Python gibi scriptler ve kodlar koşturabilir , çalışmasını sağlayabiliriz.
Azure Function : Bir Azure Function çağırabilir ve tetiklenmesini sağlayabiliriz.
Email Azure Resource Manager Role : Azure Resource Manager Role hakkına sahip olan kullanıcı ya da kullanıcılara e-mail bildirimlerinin sağlanması.
ITSM : Kurum içerisinde yer alan ve çalışan service manager uygulamaları üzerinde bilet oluşturulmasının sağlanması.
LogicApp : Bir LogicApp tetiklenmesi sağlanabilir.
Secure WebHook & WebHook : Http ve Https webhook tetiklenebilir. Örnek vermek gerekirse biro lay oluştuğunda kurum içerisinde var olan ve çalışan mesajlaşma uygulamasına mesajların gönderilmesi gibi.
Evet bir önceki adımda söylediğim gibi bizlerin amacı öncelikle monitoring uygulamasından beklenen , bir olay oluştuğu anda e-mail olarak bizleri bilgilendirmesini sağlamak olacaktı. Ekran görüntüsünde de göreceğiniz üzere E-Mail tarafına bildirimin iletileceği adresi tanımlıyoruz ve işlemimizi sonlandırıyoruz.
Ve Alert Details tarafında kural isimlerini , olayın önceliklendirilmesini Sev1 ve kuralın aktif olduğunun tanımlarını yaptıktan sonra kuralımızı oluşturmuş oluyoruz.
Bir sonraki makalemizde Azure Monitoring Log Analytics Log Search adımlarını inceleyeceğiz.
Eline sağlık