Loki in Kubernetes
Last updated
Was this helpful?
Last updated
Was this helpful?
Kubernetes kümesinde çalışan her pod veya container, kendi loglarını tutar. Normalde, bu log’ları merkezi bir yerde depolamak ve ihtiyaç olduğunda sorgulayabilmek için bir log toplama aracına ihtiyaç duyarsınız. İşte Loki bu noktada devreye girer:
Loki: Log verisini saklayan ve sorgulamaya olanak tanıyan bileşen.
Promtail: Kubernetes node’larında çalışan ajan (agent) olarak log’ları alır ve Loki’ye iletir.
Grafana: Loki’ye kaydedilen log’ları görsel arayüzde (dashboard) izlemek ve sorgulamak için kullanılır.
Loki, Kubernetes kümesi içinde veya harici bir sunucuda çalışabilir.
Grafana da aynı şekilde Kubernetes içinde çalışabilir veya harici bir sunucuda çalıştırılabilir.
Ancak, zaten Kubernetes kullanıyorsanız çoğunlukla Loki ve Grafana’yı da küme içerisinde deploy etmek tercih edilir. Böylece bakım, ölçeklendirme ve konfigürasyon tek bir çatı (Kubernetes) altında yönetilir.
Kubernetes’te birden fazla node bulunur ve üzerinde birçok container/pod çalışır. Log’ları tek tek almak yerine, Promtail bu işi üstlenir:
Promtail, node’larda çalışan pod’ların ürettiği log’ları okur (örneğin /var/log/containers
veya benzeri klasörlerde).
DaemonSet olarak tanımlandığında, her Kubernetes node’una otomatik olarak bir Promtail pod’u dağıtılır. Yeni bir node eklendiğinde, orada da Promtail pod’u ayağa kalkar.
Promtail, topladığı log’ları Loki’ye push eder.
Böylece log verileri merkezîleştirilir ve istediğiniz zaman Grafana üzerinden görüntülenebilir.
Hem Loki hem Promtail hem de Grafana için konfigürasyon dosyalarını elle yazmak zaman alıcı olabilir. Bu noktada, Kubernetes dünyasındaki Helm aracı devreye girer:
Helm: Kubernetes uygulamalarını paketleyip yönetmeyi kolaylaştıran bir araçtır.
Loki Helm Chart: Loki, Promtail ve Grafana’yı tek komutla veya çok az konfigürasyonla Kubernetes’e kurmanıza imkân tanır.
Birkaç parametreyi (values.yaml
) ayarlayarak, tüm bileşenleri ayağa kaldırabilirsiniz.
Helm Chart, arka planda Deployment/DaemonSet/Service gibi temel Kubernetes manifestlerini sizin yerinize oluşturur.
Loki in Kubernetes yaklaşımı, uygulama log’larını merkezi bir yerde toplamak için idealdir.
Promtail her node’daki log’ları DaemonSet üzerinden toplayıp, Loki’ye iletir.
Grafana ile bu log’lar kullanıcı dostu bir arayüzde sorgulanır ve görselleştirilir.
Helm kullanarak, Loki/Grafana/Promtail’i hızla ve kolayca Kubernetes ortamına kurabilirsiniz.