Kubernetes Gözlemlenebilirliğini Geliştirmek İçin Fluentd Günlüklerini Dynatrace Ölçümleri ve Topoloji Verileriyle Bağlayın

Perform Yazılım
5 min readApr 18, 2022

--

Dynatrace, Fluentd aracılığıyla akan günlükleri dağıtılmış izlerle otomatik olarak birleştirmek için patentli PurePath® teknolojisini kullanıyor. Geçmişte Dynatrace, kolay filtreleme ve analiz için Fluentd günlüklerini Kubernetes metrikleri, olayları ve iş yükleri, bölmeler, ad alanları ve düğümler gibi topoloji bilgileriyle zenginleştirdi. Artık izlemeler, işlem merkezli bir görünüm sağlıyor ve Fluentd günlüklerini karmaşık Kubernetes ortamlarında daha da işlem yapılabilir hale getiriyor. Tüm gözlemlenebilirlik verilerinin bağlam içinde mevcut olması, DevOps ve platform ekiplerine yeni bir görünürlük ve iç görü düzeyi ve ayrıca AI motoru Davis’in tüm yığındaki anormalliklerin temel nedenlerini otomatik ve gerçek zamanlı olarak belirlemesini sağlar.

Fluentd nedir?

Fluentd, günlük toplama, işleme ve tüketimi birleştiren açık kaynaklı bir veri toplayıcıdır. Çok çeşitli teknolojilere giden ve gelen günlük dosyalarını toplar, işler ve raporlar. Sonuç, sürekli genişleyen bir dizi eklentiyi destekleyen, kolayca yapılandırılabilen bir günlük ardışık düzendir.

Fluentd, eklentilerden, Pods’lardan, uygulamalardan, DB’lerden, yük dengeleyicilerden vb. günlükleri toplar. Eklentileri işleme, ayrıştırma (normalleştirme), filtreleme, zenginleştirme (etiketleme), biçimlendirme ve günlük akışlarını arabelleğe alma ve sonrasında günlükleri depolama çözümlerine, analiz araçlarına ve Dynatrace gibi gözlemlenebilirlik platformlarına sunar.

Fluentd, bir Kubernetes kümesinde DaemonSet olarak çalışabilir. Davranışı bir fluentd.conf dosyası aracılığıyla kontrol edilebilir. Yerleşik esneklik, Fluentd veya bir uç nokta hizmeti geçici olarak çökse bile verilerin eksiksizliğini ve tutarlılığını sağlar.

Fluentd, Kubernetes olaylarını ve günlüklerini toplama ve normalleştirme zorluklarını çözerken, Kubernetes performans ve kullanılabilirlik sorunları, günlükleri ayrı ayrı inceleyerek nadiren çözülebilir. Ayrıca, çok sayıda bağlantısız günlük dosyasını elemek ve samanlıktaki meşhur iğneyi bulmak için alan bilgisi gereklidir.

Dynatrace’in ile Fluentd’i entegre etmek:

Dynatrace platformu, bir ortamın topolojisini ve bağımlılıklarını otomatik olarak yakaladığı için önemli ölçüde farklıdır. Fluentd günlükleri dahil olmak üzere tüm gözlemlenebilirlik verilerini izlenen her varlıkla anlamlı bir bağlama bağlayarak, gözlemlenebilirlik verileri arasındaki nedensel ilişki modellenebilir ve anlaşılabilir olmasını sağlar.

Faydalarını maddeleycek olursak:

  • Fluentd günlüklerini topoloji, ölçümler, izler, kullanıcı oturumları ve daha fazlasının tam bağlamında analiz ederek önemli ölçüde daha hızlı geçici sorun giderme.
  • Otomatik günlük analizine ve özel kullanıcı tanımlı olaylara dayalı hassas, yapay zeka destekli anomali kök neden belirleme.
  • Daha iyi yazılım mimarisi ve kaynak tahsisi için ayrıntılı performans analizi.

Örneğin, farklı günlük dosyalarında birden çok hata olayı bulduğunuzu varsayalım. Zamana dayalı korelasyonlar size yalnızca bir miktar eşzamanlılık olduğunu söyleyebilir. Ancak modern sistemlerdeki yüzlerce Pods ve süreç göz önüne alındığında, bu hatalar mantıksal olarak bağlantılı olmayabilir. Dynatrace, gerçekten ilişkili olan hata olaylarını göstererek bu belirsizliği ortadan kaldırır. Tüm ölçümler, izler ve gerçek kullanıcı verileri de belirli olaylar bağlamında ortaya çıkar.

Dynatrace ile kullanıcı tanımlı günlük olaylarına dayalı özel ölçümler oluşturabilirsiniz. Örneğin, belirli hata veya uyarı olaylarını sayabilir ve bunları grafiklendirebilir, SLO takibi için Hizmet Düzeyi Göstergeleri oluşturabilir veya iyileştirilmiş kök neden analizi için olayları Dynatrace Davis AI motoruna geri gönderebilirsiniz.

Kubernetes için Fluentd veya OneAgent kullanmalı mıyım?

Açık olmak gerekirse, Kubernetes günlüklerini yakalamak için Fluentd’e ihtiyacınız yok. Kubernetes için Dynatrace Operator, harika bir günlük aracısı olarak hizmet veren yerel bir OneAgent DaemonSet içerir.

Öyleyse, günlükleri almak için iki yaklaşımı karşılaştıralım.

Her şeyden önce, her iki yaklaşım da gelişmiş analitik için Kubernetes günlüklerini meta verilerle eşit şekilde zenginleştirir. Her iki yaklaşım da her günlük dosyasına otomatik olarak bölme adı, ad alanı, kap adı, etiketler, etiketler ve daha fazlasını ekler. Ek olarak, günlükler, ilişkili işlem izlemeleriyle zenginleştirilir. Bu, yukarıda açıklanan tüm gelişmiş kullanım durumlarını sağlar.

Dynatrace OneAgent yaklaşımını kullanmanın ana avantajı, dağıtım kolaylığıdır. Günlük izleme, başka bir yapılandırmaya gerek kalmadan kullanıma hazır çalışır. Dynatrace Operator, OneAgent DaemonSet dahil olmak üzere tüm Dynatrace bileşenlerinin kümeler arasında kullanıma sunulmasını otomatikleştirir ve gözlemlenebilirliğin tüm yönlerini yönetir.

Fluentd ise geniş bir eklenti ekosistemi ve günlük işleme operasyon hatlarının esnekliğini sunar. Halihazırda Fluentd kullanıyorsanız ve bundan memnunsanız, Fluentd yaklaşımı sizin için en mantıklısı olabilir. Dynatrace eklentisini eklemek kolaydır. Fluentd ayrıca iki gelişmiş kullanım durumu sağlar:

Günlükleri aynı Kubernetes kümesinden farklı Dynatrace ortamlarına aktarabilirsiniz. Örneğin, uygulama bölmesi günlüklerini Kubernetes düğüm günlüklerinden farklı bir ortama gönderebilirsiniz.

Fluentd bağlamda günlükler: Örnek kullanım durumları — “İş yükü performansı ve kaynak kullanımı”

Aşağıdaki Kubernetes iş yüküne genel bakış sayfası, ilgili tüm verilerle tek bir yerde elde ettiğiniz öngörü türlerinin güçlü bir örneğidir: Burada, iş yükü özellikleri, Pods ve Konteyner ölçümleri (örneğin, CPU ve bellek kullanımı), hizmet ölçümleri (örneğin, yanıt süresi ve hata oranı) ve Kubernetes olayları ve günlükleri gösterilmektedir. Günlükler genişletilebilir ve yükü, tüm meta verileri, öznitelikleri ve ilgili izleri gösterir. Tüm bu veriler tek bir yerdeyken, kaynak sınırlarını optimize etmek veya değişen yük koşulları altında hizmet performansını anlamak kolaydır.

İşlem kırılımları:

Tek bir kullanıcı işleminde yer alan birden fazla mikro hizmetle, bir arızanın gerçek kök nedenini bulmak zor olabilir. Bu gibi durumlarda bir iş yükünün loglarını seçebilir, tüm işlemi bulabilir ve o işlemle ilgili tüm logları görüntüleyebilirsiniz. Bu şekilde, sorunların kaynağını tespit etmek ve anlamak kolaydır.

Başlamak için Günlük Görüntüleyici’deki herhangi bir günlük girişini genişletin ve ilgili izlemeye gitmek için İlgili izi göster’i seçin.

Ardından, ilgili dağıtılmış izleme genel bakış sayfasında, dağıtılmış işlemle ilgili tüm günlükleri görüntülemek için bu kaynak için günlükleri görüntüle’yi seçin.

Buradan, ilgili günlük dosyalarının işlem akışındaki bir arızanın temel nedenini belirleyebilirsiniz.

Yinelenen günlük kalıpları için uyarı ayarlayın:

Dynatrace, çok çeşitli hata koşulları için uzun süredir otomatik temel oluşturma, uyarı ve temel neden analizi sağlamıştır. Artık uygulamaya özel uyarılar oluşturmak için günlükleri kullanabilirsiniz. Aşağıdaki örnekte, bir kullanıcı Davis’i bir Kubernetes kümesindeki DNS sorgularıyla ilgili sorunlar konusunda uyaracak şekilde yapılandırdı. Bunu başarmak için, kullanıcı DNS sorgu yanıtlarını özel bir günlük dosyasına kaydetti ve 2 uyarı eşiğiyle arama hatlarının sayısı için özel bir ölçüm oluşturdu. Bu basit yapılandırmayla Davis, tanımlanan anormallik oluştuğunda otomatik olarak bir sorun kayıdı oluşturur. Günlük verileri eyleme dönüştürülebilir ölçümlere evrilebilir ve işi sizin yerinize Davis AI’ın yapmasına olanak tanır.

Sonuç olarak:

Günlükler, Fluentd veya OneAgent aracılığıyla alınsın, karmaşık Kubernetes ortamlarının gözlemlenebilirliğini önemli ölçüde artırır. Dynatrace, günlükleri meta verilerle otomatik olarak zenginleştirir ve bunları ilgili metrikler ve izler bağlamında analiz eder. Bu, bağlam ve topoloji eşlemesi, hem otomatik hem de geçici kök neden analizi için gereklidir ve günlükler, Davis AI analizini uygulamaya özel sorun kalıplarıyla geliştirmek için kullanılabilir.

Detaylı bilgi için lütfen tıklayınız.

--

--

Perform Yazılım
Perform Yazılım

No responses yet