Gözlenebilirlik Kavramı ve Pratikleri

Burak Tufan
İş Bankası Teknoloji Deneyimleri
5 min readJun 7, 2024
Eye of Horus (Kaynak)

Bu yazıda, modern bilgi teknolojisi sistemlerinin performansını izlemek ve iyileştirmek açısından çok önemli bir noktada konumlanan gözlenebilirlik kavramından ve bu kavramın pratiklerinden bahsedeceğim.

  • Gözlenebilirlik Kısaca Nedir?
  • Gözlenebilirliğin Bileşenleri Nelerdir?
  • Gözlenebilirliğin Önemi ve Sağladığı Faydalar
  • Golden Signals
  • Ajanlı ve Ajansız İzleme Yapısı
  • Gözlenebilirlik Araçları ve Teknikleri
  • Karşılaşılan Zorluklar
  • Gözlenebilirlik ve Ötesi
"What gets monitored, gets improved."

Gözlenebilirlik Kısaca Nedir?

Gözlenebilirlik, bir sistemin mevcut durumunu log, metrik ve iz kaydı (trace) verilerini kullanarak görünür hale getirme sürecidir. Bu süreç, bir sistemin nasıl çalıştığını anlamak, sorunları teşhis etmek ve çözmek için kritik öneme sahiptir.

Three Pillars of Observability (Kaynak)

Gözlenebilirliğin Bileşenleri Nelerdir?

Gözlenebilirliğin oluşmasını sağlayan verilerden log ve metrik verileri ile sistemdeki olayları (event) elde ederken; iz kaydı verileri ile bileşenlerin topolojisi hakkında değerli bilgiler edinebiliriz. Bu üç temel bileşen, gözlenebilirliğin sağlanmasında önemli rol oynar:

Loglar

Loglar, bir sistemde gerçekleşen “olayların” kaydedildiği ve geçmişe dönük analiz yapılmasına olanak tanıyan veri dosyalarıdır. Hangi işlemin ne zaman ve nasıl gerçekleştiğini belirlemek için kullanılırlar. Loglar, güvenlik olaylarını incelemekten performans sorunlarını tespit etmeye kadar geniş bir yelpazede kullanılabilir.

Metrikler

Metrikler, bir sistemin performans ve sağlık durumu hakkında bilgi veren sayısal göstergelerdir. CPU kullanımı, bellek tüketimi, ağ trafiği gibi veriler “metrik” olarak tanımlanır. Metrikler, bir sistemin performansının sürekli izlenmesini sağlar ve potansiyel sorunların erken teşhis edilmesine yardımcı olur.

İz Kayıtları (Traces)

İz kayıtları, bir sistemdeki bileşenler arasındaki etkileşimleri detaylı olarak gösterir. Özellikle mikroservis mimarilerinde, bir isteğin sistem boyunca nasıl ilerlediğini ve hangi bileşenlerde ne kadar süre harcadığını anlamak için kullanılır. İz kayıtları dağıtık sistemlerde, sorunların kök nedenlerini tespit etmek için kritik öneme sahiptirler.

Gözlenebilirliğin Önemi ve Sağladığı Faydalar

Gözlenemeyen bir sistemin doğru yönetilemeyeceğini; doğru yönetilemeyen bir sistemin de arzu edilen bir şekilde hizmet veremeyeceğini düşünecek olursak, gözlenebilirlik kavramının ve sağladığı faydaların önemini anlayabiliriz.

Hızlı Sorun Tespiti ve Çözümü

Gözlenebilirlik, sistemlerdeki sorunları hızlı bir şekilde tespit etmemizi ve kök nedenlerine inmemizi sağlar. Bu sayede, sorunlar daha hızlı ve etkili bir şekilde çözülebilir.

Performans Optimizasyonu

Sistemlerin performansını sürekli izleyerek, darboğazları ve iyileştirme alanlarını belirleyebiliriz. Bu da, bir kurumdaki teknoloji altyapısının genel performansını artırmaya yardımcı olur.

Güvenlik

Loglar ve metrikler, güvenlik olaylarını izlemek ve analiz etmek için kritik veriler sağlar. Bu sayede güvenlik ihlalleri daha hızlı tespit edilebilir ve gerektiğinde müdahale edilebilir.

Golden Signals (Kaynak)

Golden Signals

Gözlenebilirlik konusunda, Google’ın Site Reliability Engineering (SRE) manifestosunda ortaya koyduğu “Golden Signals” (Altın Sinyaller) kavramına değinmek isabetli olacaktır. Bir kurumdaki gözlenebilirlik için olmazsa olmaz dört metriği ifade eden bu sinyaller şunlardır:

Trafik

Trafik, bir işlemin belli bir zaman içinde kaç defa gerçekleştiğini gösterir. Örneğin, “bir web sitesine dakikada kaç adet HTTP isteği geliyor?”

Trafik metriği sayesinde, ilgili sistemin nasıl bir iş yükü ile karşı karşıya olduğunu görebiliriz. Trafiğin yüksek olduğu zamanlarda sistemin nasıl tepki verdiği, performansın düşüp düşmediği bu metrik ile anlaşılabilir.

Gecikme Süresi

Gecikme süresi (latency), bir işlemin gerçekleşmesi için geçen süredir. Örneğin, “bir ödeme servisi, bakiye bilgisini veri tabanından ne kadar ne kadar sürede çekiyor?”

Latency metriği, sistem kullanılabilirliğini -ve kullanıcı deneyimini- doğrudan etkileyen bir metriktir. Düşük latency, hızlı ve akıcı bir kullanıcı deneyimi sağlar.

Hata Oranı

Hata oranı (error rate), işlemler sırasında gerçekleşen hataların, başarılı işlemlere oranıdır. Örneğin, “bir mobil uygulamaya gelen isteklerdeki veya dönen yanıtlardaki hata oranı nedir?”

Yüksek hata oranı, sistemde ciddi sorunlar olduğunu işaret eder ve acil müdahale gerektirir.

Kaynak Sıkışıklığı (Satürasyon)

Kaynak sıkışıklığı, bir işlemin gerçekleşmesi için harcanan kaynak miktarıdır. Örneğin, “CPU kullanımı veya ana sistemde biriken kuyruk miktarı ne kadardır?”

Kaynakların aşırı kullanımı, sistem performansını olumsuz etkileyebilir ve ölçeklenebilirliği kısıtlayabilir.

Ajanlı ve Ajansız İzleme Yapısı

Bir kurumdaki gözlenebilirlik verilerini elde etmek için bileşenler ajanlı veya ajansız yapıda izlenebilir.

Ajanlı İzleme

Bu yöntemde, sanal sunucuya bir ajan kurulmasının ardından, ajanın içindeki yapılar ilgili sunucudaki teknolojileri, uygulamaları ve işlemleri keşfetmeye başlar. Keşfedilen bileşenlerden toplanan metrikler, loglar ve iz kaydı verileri, gözlenebilirlik platformuna iletilir. Ajanlı izleme, genellikle daha detaylı ve spesifik veri toplama imkanı sağlar, ancak ajanların kurulumu ve yönetimi ekstra çaba gerektirebilir.

Agent-based Monitoring (Kaynak)

Ajansız İzleme

Bu yöntemde ise, izlenecek bileşenlere herhangi bir yazılım kurulumu gerçekleştirmeden, SNMP, HTTP(S), WMI, ICMP ve IPMI gibi standart protokoller kullanılarak bu bileşenlerdeki veriler gözlenebilirlik platformuna iletilir. Bu protokoller, birçok izleme aracının belkemiği olan “request-response” modelini kullanır. SSH ve Telnet gibi diğer protokoller de ajansız izleme konsepti içinde yer alır. Ajansız izleme yönteminde kurulum ve yönetim operasyonları daha kolay olabilir, ancak bu da bazı durumlarda veri toplama kapasitesini sınırlandırabilir.

Agentless Monitoring (Kaynak)

Gözlenebilirlik Araçları ve Teknikleri

Bir kurumdaki gözlenebilirliği sağlamak için birçok araç ve teknik kullanılabilir. Bu araçlar, log yönetimi, metrik toplama, iz kaydı analizi ve ağ izlemesi gibi farklı alanlarda uzmanlaşmıştır.

Log Yönetim Araçları

Logstash, Fluentd ve Splunk gibi araçlar, log verilerini toplar, işler ve analiz eder. Bu araçlar, logların merkezi bir yerde toplanmasını ve analiz edilmesini sağlar.

Metrik Toplama Araçları

Prometheus, Grafana ve Datadog gibi araçlar, metrik verilerini toplar ve görselleştirir. Bu araçlar, sistem performansının sürekli izlenmesini ve anomalilerin tespit edilmesini sağlar.

İz Kaydı (Tracing) Araçları

Jaeger, Zipkin ve DynaTrace gibi araçlar, iz kayıtlarını toplar ve analiz eder. Bu araçlar, dağıtık sistemlerdeki isteklerin izlenmesini ve performans sorunlarının tespit edilmesini sağlar.

Ağ İzleme Araçları

SolarWinds, Pingdom, Zabbix ve PRTG gibi uygulamalar, network (ağ) cihazlarının metriklerini toplar ve analiz eder. Bu araçlar, ağ trafiğini ve erişilebilirliği denetler.

Karşılaşılan Zorluklar

Gözlenebilirlik konseptinin pratiklerinde karşılaşılan zorluklar hakkında akla ilk gelen şey hiç kuşkusuz ki kusurlu, taraflı veya düşük kaliteli (kötü) veridir. Hatta “verinin olmamasından daha kötü olan tek şey kötü veridir” desek abartmış olmayız. Bu sebepledir ki, ham verinin toplanmadan önce analiz edilmesi ve uygun bir şekilde kullanıma sokulması kritiktir.

Aynı zamanda uygulama/platform seçimi üzerinde de iyi düşünülmesi gerekir. Bu noktada, PoC (Proof of Concept) için ayrılan vakit ve bütçe bulma gibi zorluklarla karşılaşılması mümkündür.

Gözlenebilirliğin en önemli çıktılarından biri olan vaka yönetimi süreçlerinde dikkatlerden kaçmaması gereken bir diğer konu da, alarmların ne kadar verimli olduğudur. Çözümü ve sahibi belli olmayan alarmlar yaratılması sorunların çözüm sürelerini uzatacaktır. Gereksiz ve/veya sık bir şekilde alarm üretilmesi de önemli olayların gözden kaçmasına -ve bundan dolayı majör olaylara- sebebiyet verebilir.

Gözlenebilirlik ve Ötesi

Yapay zeka ve makine öğrenimi entegrasyonuyla gözlenebilirliğin daha yüksek bir katma değer sağlayacağını söylemek yanlış olmayacaktır.

Keza yüksek seviyede çıktılar üretebilen bir otomasyon mekanizmasının da, gözlenebilirlik süreçlerini daha verimli hale getirerek insan müdahalesine olan ihtiyacı azaltacak olması pek tabii mümkündür.

Sonuç olarak, kurumlar için oldukça stratejik bir kavram olan gözlenebilirlik, bilgi teknolojisi sistemlerinin yönetiminde vazgeçilmez olmaya ve teknolojik yeniliklerle birlikte evrim geçirmeye devam edecektir.

--

--