Prometheus’a Giriş
Prometheus, sistem ve uygulama izleme konusunda oldukça popüler bir açık kaynak aracıdır. Özellikle metrik toplama, izleme ve alarm kurma işlemleri konusunda başarılıdır. Ancak Prometheus’un esas amacı, zaman serisi verisi toplamaktır. Yani, sisteminizin her bir parçasından sürekli olarak veri toplar ve bu verileri bir zaman dilimi içinde analiz etmenize olanak tanır.
Ancak Prometheus, yalnızca metrik toplamakla sınırlı değildir. Aynı zamanda log verilerini de izlemek mümkündür. Ancak Prometheus, doğrudan log toplama özellikleri sunmasa da, log verilerini işlemek için başka araçlarla entegrasyon sağlayabiliriz. Bu yazıda, Prometheus ile log izlemeyi nasıl yapacağınızı adım adım açıklayacağım.
1. Logları Toplamak için ELK Stack veya Loki Kullanma
Prometheus doğrudan log verilerini toplamak için kullanılmaz. Ancak, Prometheus ile log izlemek için Loki gibi bir aracı entegre edebilirsiniz. Loki, Prometheus’un bir kardeşi olan bir log yönetim aracıdır ve Prometheus ile uyumlu çalışır. Bu sayede log verilerini merkezi bir yerde toplar ve Prometheus ile entegre şekilde izleyebilirsiniz.
Loki, log verilerini toplarken, Prometheus’un metrik verilerini topladığı gibi etiketler (labels) kullanarak logları organize eder. Bu sayede logları daha kolay arayabilir ve sorgulayabilirsiniz.
2. Loki ve Prometheus’u Entegre Etmek
Loki’yi kurduktan sonra, Prometheus ile entegrasyon sağlamak için birkaç adımı takip etmemiz gerekiyor. İlk adım, Loki’nin Prometheus’un veri kaynağı olarak eklenmesidir.
İşte Loki ile Prometheus’u entegre etmek için yapmanız gereken adımlar:
kopyala# Loki’yi yükleyin $ helm install loki grafana/loki # Prometheus’u yapılandırın global: scrape_interval: 15s scrape_configs: - job_name: 'loki' static_configs: - targets: ['loki:3100']
Bu basit yapılandırma sayesinde, Prometheus ile Loki’nin birlikte çalışmasını sağlıyoruz. Prometheus, Loki’den log verilerini alacak ve bu veriler üzerinden analiz yapabileceğiz.
3. Prometheus ile Log Verilerini İzlemek
Log verileriniz artık Loki üzerinden toplandığına göre, Prometheus’u kullanarak bu veriler üzerinde analiz yapabiliriz. Ancak burada dikkat edilmesi gereken nokta, log verilerinin genellikle çok büyük ve düzensiz olmasıdır. Bu nedenle doğru sorgular oluşturmak, verileri anlamlı bir şekilde analiz etmenizi sağlar.
Prometheus’un sorgu dili olan PromQL (Prometheus Query Language) kullanarak log verilerinizi analiz edebilirsiniz. Örneğin, belirli bir hatayı veya uyarıyı aramak için aşağıdaki gibi bir sorgu yazabilirsiniz:
kopyala{job="loki", level="error"} |= "disk full"
Bu sorgu, Loki üzerinden “error” seviyesindeki logları filtreler ve içeriğinde “disk full” ifadesini barındıran logları getirir.
4. Grafana ile Görselleştirme
Prometheus ve Loki verilerini topladıktan sonra, bu verileri görselleştirmek oldukça önemli bir adımdır. Grafikler ve dashboard’lar ile log verilerini daha rahat takip edebilirsiniz. Grafana, log verilerini görselleştirme konusunda mükemmel bir araçtır. Loki, Prometheus ve Grafana’yı birlikte kullanarak, log verilerinizi gerçek zamanlı olarak izleyebilirsiniz.
Grafana üzerinde Loki’den gelen logları görselleştirmek için, aşağıdaki adımları izleyebilirsiniz:
kopyala# Grafana’yı başlatın $ helm install grafana grafana/grafana # Grafana’da Loki veri kaynağını ekleyin 1. Grafana paneline giriş yapın 2. Data Sources > Add New > Loki 3. Loki’nin URL’sini girin
Bu adımları takip ettikten sonra, Grafana üzerinde loglarınızı görselleştirmeye başlayabilirsiniz. Grafikler ve panolar sayesinde, sisteminizdeki hataları daha hızlı tespit edebilir ve sistemin sağlıklı çalışıp çalışmadığını kolayca kontrol edebilirsiniz.
5. Alarm Kurma
Prometheus’un gücünü en iyi şekilde kullanmak için alarm sistemlerini de entegre edebilirsiniz. Örneğin, belirli bir hata sayısına ulaşıldığında sizi bilgilendirecek bir alarm kurabilirsiniz. Grafana üzerinden alarm oluşturmak oldukça basittir.
Örneğin, aşağıdaki gibi bir alarm kurabilirsiniz:
kopyala# 5 dakikada 100’den fazla error logu bulunduğunda alarm gönder avg(rate({job="loki", level="error"}[5m])) > 100
Bu alarm, 5 dakika içinde 100’den fazla hata kaydı bulunursa sizi uyarır ve anında müdahale etmenizi sağlar.
Sonuç
Prometheus ile log izleme, modern sistem yönetiminde kritik bir araçtır. Doğru yapılandırmalarla, uygulamanızın loglarını merkezi bir şekilde toplayabilir, analiz edebilir ve görselleştirebilirsiniz. Ayrıca, alarm sistemleri ile anlık sorunları tespit edebilir ve hızlıca müdahale edebilirsiniz. Prometheus’un gücünü kullanarak sistem izleme sürecini daha verimli hale getirebilirsiniz.
Unutmayın, log verilerini etkili bir şekilde izlemek ve analiz etmek, uygulamanızın ve sistemlerinizin daha sağlıklı ve verimli çalışmasına yardımcı olacaktır.