AppDynamics ile Alarm Entegrasyonu

Ebru Dalkır
5 min readJun 26, 2021

--

Yazının İngilizce versiyonuna buradan ulaşabilirsiniz…

Gelişen teknoloji ile birlikte farklı sektörlerde kullanılan yazılım uygulamaların son kullanıcı tarafındaki deneyimi önemli bir konu haline gelmiştir. Bir çok firma bu konu üzerine özel ekipler kurmakta ve son kullanıcı deneyimlerini analiz ederek, uygulama performansını arttırmaya yönelik çalışmalar yapmaktadır.

Kuruluşların iş açısından kritik önem taşıyan uygulamalarının performans metriklerini izlemeleri, performans sorunları durumunda zamanında uyarı almalarını ve periyodik performans analizi için raporlar oluşturmalarını sağlamak için, 7/24 sabit bir performans temeli sunan Uygulama Performans Yönetimi(APM)araçlarına ihtiyaç duymaktadır. Sektörde çok fazla APM aracı bulunmaktadır. En çok bilinen APM araçlarına Dynatrace, AppDynamics, SolarWinds, Riverbed, New Relic…. uygulamaları örnek verilebilir. Bugün sizlere çok yaygın olarak kullanılan AppDynamics aracından ve AppDynamics üzerinden nasıl alarm oluştururuz bunlardan bahsedeceğim.

AppDynamics Nedir?

AppDynamics Uygulama Performans Yönetim Platformu, son kullanıcı cihazlarından arka uç ekosistemine kadar uygulama performansının ve müşterinin dijital deneyimi üzerindeki etkisinin gerçek zamanlı uçtan uca bir görünümünü sunar. AppDynamics ile uygulamanızın iş açısında kritik işlemlerini, servis endpoint ve metotlarını takip edebilir; servislerin bağımlılıklarına göre inceleme yapabilirsiniz. Ek olarak özel zaman aralıkları oluşturup hangi metotta ne kadar hata oranı var ve bu hatalar neden oluşmuş kolayca analizini sağlayıp sorunu adresleme imkanı sunmaktadır.

Tabi bu işlemlerin hepsini yapabilmek için uygulamanızın metriklerini, AppDynamics ajanını(agent) kullanarak uygulamanızın çalıştığı sunucuya yüklemeniz gerekmektedir. Eğer uygulamanız konteyner orkestrasyon yapısı ile çalışıyorsa dockerfile’ınızda uygulamanızın desteklediği dile uygun agent paketini ekleyerek build almanız gerekmektedir. Kurulum için AppDynamics’in dokümanına buradan ulaşabilirsiniz. Peki metrikleri çektik bunları kullanarak nasıl alarm oluşturacağız dediğinizi duyar gibiyim :) gelin hep birlikte alarm oluşturmanın aşamalarını inceleyelim.

AppDynamics’ te Nasıl Alarm Oluştururuz?

1- Sistem Durumu Kuralı(Health Rule) Oluşturma:

Alarm oluşturmak için AppDynamics arayüzüne gelerek, Menü çubuğundan Alert&Responds’a tıklayın.

Sol panelden sistem durumu kuralı(health rules) belirlemek için Health Rules’a tıklayıp ardından açılır menüden sistem durumu kuralının bağlamını seçin. Sistem durumu kuralı kapsamı, varsayılan sistem durumu kuralı türleri kümesini belirler. Uygulamalar, sunucular veya veritabanları için bir dizi varsayılan sistem durumu kuralı türü almak için kapsamı seçebilirsiniz. Örneğin, bir mobil uygulamayı kapsam olarak tanımladığınızda, kilitlenme oranları ve HTTP/ağ hata oranları gibi varsayılan sağlık kuralları görüntülenir.

Sistem durumu kuralı kapsamı seçtikten sonra “+” simgesine tıklayarak yeni bir sistem durumu kuralı ayrıntılarını Genel Bakış(Overview) panelinden yapılandırabilirsiniz.

1- Oluşturacağınız sağlık durumu kuralı için bir isimi giriniz. Öncesinde var olan bir isim ise değiştirip, farklı bir isim ile oluşturun.

2- Kuralı etkinleştirmek için Etkin’i (Enabled) işaretleyin, devre dışı bırakmak için onay kutusunu boş bırakın.

3- “When is this rule enabled?” kısmında alarmın sistem durumu kuralını ne zaman etkinleşitreceğini belirtmeniz gerekir. Her zaman veya yalnızca belirli zamanlarda etkinleştirebilirsiniz. Örneğin sadece uygulamanızın gün içerisinde yoğun trafik aldığı zaman aralığını monitor etmek isterseniz ona uygun zaman dilimini seçebilirsiniz.

4- “Use data from last” kısmında dakika cinsinden son ne kadarlık veriyi kullanmasını istiyoruz burada onu belirliyoruz.

5- “Wait Time after Violation” alanına, durumun bozulduğunda aynı etkilenen varlık için kuralı yeniden değerlendirmeden önce beklenecek dakika sayısını giriyoruz.

Etkilenen Varlıklar paneli(Affected Entities), sistem durumu kuralınızın hangi varlıkları etkilediğini tanımlamanıza olanak tanır. Seçtiğiniz sistem durumu kuralı türü(Health Rule Type), sistem durumu kuralı sonraki panellerde yapılandırma için sunulan ölçümleri belirler.

Kritik ve uyarı koşulları için konfigürasyon süreçleri aynı olmasına rağmen, uyarı koşullarından(Warning Criteria) önce kritik koşullar(Critical Criteria) değerlendirilir. Aynı sistem durumu kuralında bir kritik durum ve bir uyarı koşulu tanımladıysanız, uyarı koşulu yalnızca kritik koşul doğru değilse değerlendirilir. Kriter belirlerken metrik ifade seçtiğiniz durumda,aşağıda tanımlanan arama ve hata değerlerine göre ya da uygulamanız için sizin belirlediğiniz değişkenler ile bir ifade oluşturup buradaki başarı oranına göre eşik değeri belirleyebilirsiniz. Bu eşik değerinden büyük veya küçük olma durumunda alarmınızın tetiklenmesini sağlayabilirsiniz.

Ayarları Kritik ve Uyarı durum panelleri arasında kopyalayabilir ve gerekirse alanları düzenleyebilirsiniz. Örneğin, önceden bir kritik koşul tanımladıysanız ve benzer bir uyarı koşulu oluşturmak istiyorsanız, alanları Kritik koşuldan ayarlarla doldurmak için Uyarı Koşulu penceresinde Kritik Koşuldan Kopyala’ya tıklayarak ilerleyebilirsiniz.

2- Politika(Policy) Oluşturma:

Politika oluşturuken dikkat etmemiz gereken hususlardan biri; alarmın üremisine ek olarak düzeldiğinin de bize bildirim olarak gelmesi için clear politikalarını oluşturmak. Politika ismini belirledikten sonra aktif etmek için “enabled” kutusunu tıklıyoruz. Ardından her tetikleyici olay için eylemlerin hemen başlamasını istiyorsanız “execute actions in batch” kutusunu işaretleyebilirsiniz. Sağlık Kuralı İhlal Olayları(Health Rule Violation Events) seçeneği altında kısmında seçeceğimiz olaylardan herhangi biri meydana geldiğinde politika devreye girecektir.

Nesne Kapsamı paneli(Object Scope), ilkenin tetiklendiği nesneleri tanımlar. Aksiyon(Action) kısmında ise politikanın tetiklendiğinde meydana gelen durumda alması gereken aksiyon kısmını belilirler. Bu aksiyon email, sms veya bir http isteği olabilir. Bu şablonları sol panelde bulunan alarm şablonlarından oluşturabilirsiniz. Politikalarınızı oluştururken clear politikasını da eklediyseniz, Http istek şablonlarında, alarm ve clear olarak ayrı ayrı oluşturmanız gerekmektedir.

Bu aşamaya geldikten sonra, artık alarmınızı üretmeyi başardınız :) Yazıda bahsettiğim gibi alarmı ürettiniz ama burada alarmın düzeldiğine dair bildirim gelmesi de önemli yoksa alarm düzelmiş olmasına rağmen sorun hala devam ediyormuş gibi gözükebilir.

Evett.. Bu yazımda sizlere AppDynamics’in sunduğu özelliklerle genel kapsamında alarm oluşturulurken nelere dikkat edilmeli onları anlatmaya çalıştım. Umarım faydalı bir döküman olmuştur.

Keyifli okumalar….

--

--

Ebru Dalkır
Ebru Dalkır

No responses yet