1. Prometheus Servisinin Durumunu Kontrol Etmek
İlk olarak, Prometheus servisinin düzgün çalışıp çalışmadığını kontrol edelim. Genelde sistem kaynaklarının azalması, servis hatalarına yol açabiliyor. O yüzden yapmamız gereken ilk şey, Prometheus servisinin durumunu kontrol etmek.
Aşağıdaki komut ile servis durumunu kontrol edebilirsiniz:
systemctl status prometheus
Eğer "active (running)" durumunda değilse, servisi başlatmak için şu komutu kullanabilirsiniz:
sudo systemctl start prometheus
Eğer servis başlamıyorsa, günlükleri kontrol edin ve hatanın kaynağını araştırın:
journalctl -u prometheus
2. Konfigürasyonu Gözden Geçirmek
Eğer servis sağlıklı bir şekilde çalışıyorsa ama yine de veri toplanmıyorsa, muhtemelen Prometheus konfigürasyonunda bir hata vardır. Özellikle `prometheus.yml` dosyasındaki hedefler (targets) yanlış yapılandırılmış olabilir.
Dosyanın bulunduğu dizini açın:
cd /etc/prometheus
Bu dosyayı açıp, hedeflerin doğru bir şekilde yapılandırıldığını kontrol edin. `scrape_configs` kısmı doğru bir şekilde tanımlanmalı. Örnek bir konfigürasyon şu şekilde olabilir:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Bu kısımda hedeflerinizi doğru bir şekilde girdiğinizden emin olun. Ayrıca, portların açık olduğundan ve ağ yapılandırmalarının düzgün çalıştığından emin olun.
3. Firewall ve Ağ Sorunlarını Kontrol Etmek
Ağ erişimi genellikle gözden kaçan bir sorun olabilir. Özellikle güvenlik duvarı (firewall) ve ağ yapılandırmaları, Prometheus'un hedeflere ulaşamamasına neden olabilir. Eğer hedefler doğru bir şekilde konfigüre edilmişse ancak veri hala toplanmıyorsa, firewall ayarlarını gözden geçirin.
Aşağıdaki komut ile firewall ayarlarını kontrol edebilirsiniz:
sudo ufw status
Gerekirse Prometheus'un dinlediği portları açmak için şu komutları kullanabilirsiniz:
sudo ufw allow 9090
Eğer bu ayarları yaptıktan sonra hala bir sorun yaşıyorsanız, ağ trafiğini izlemek için `netstat` veya `ss` komutlarını kullanarak bağlantıyı kontrol edebilirsiniz.
4. Prometheus ve Node Exporter'ın Uyumluluğunu Kontrol Etmek
Bir diğer olasılık, Prometheus ile node exporter arasında bir uyumsuzluk olmasıdır. Özellikle exporter'ın düzgün çalışmadığı durumlar, veri toplanamamasına yol açabilir. Bu durumda, exporter’ın doğru bir şekilde çalıştığını kontrol etmeniz gerekir.
Node exporter'ın doğru çalıştığını aşağıdaki komutla kontrol edebilirsiniz:
curl localhost:9100/metrics
Bu komut, node exporter'ın verdiği metrikleri göstermelidir. Eğer hiçbir çıktı alamıyorsanız, exporter’ı yeniden başlatmanız gerekebilir:
sudo systemctl restart node_exporter
5. Hedeflerin Durumunu İzlemek
Prometheus'un hedeflerinin durumunu incelemek için, web arayüzüne gidip `/targets` sayfasını kontrol edin. Bu sayfada Prometheus'un her hedefi için bağlantı durumunu ve topladığı verileri görebilirsiniz. Eğer burada hedefler "down" durumda görünüyorsa, konfigürasyon hatalarınızı bir kez daha gözden geçirin.
Web arayüzüne erişmek için şu adrese gidin:
http://localhost:9090/targets
Eğer hedeflerin durumu "down" ise, sorunun kaynağını burada bulabilirsiniz.
6. Günlükleri İzleyerek Sorunu Çözmek
Son olarak, her şeyin düzgün çalışıp çalışmadığını kontrol etmek için Prometheus günlüklerini izleyebilirsiniz. Günlükler, sistemin ne zaman ve neden sorun yaşadığını anlamanıza yardımcı olabilir. Aşağıdaki komut ile Prometheus günlüklerini inceleyebilirsiniz:
journalctl -u prometheus -f
Bu komut ile sürekli olarak güncel günlükleri izleyebilirsiniz. Eğer herhangi bir hata mesajı alıyorsanız, bu hatalar sorunun çözümüne götüren önemli ipuçları verebilir.
Sonuç
Prometheus ile veri toplama hatalarıyla karşılaştığınızda, paniğe kapılmadan önce yukarıdaki adımları takip ederek hatayı çözebilirsiniz. İlk adım, servis ve konfigürasyon dosyalarını gözden geçirmek, ardından ağ ayarlarını kontrol etmek ve günlüklerdeki hataları izlemektir. Unutmayın, her zaman logları ve hedef durumlarını kontrol ederek sorunun kaynağını hızlıca bulabilirsiniz.
Unutmayın, her hatanın bir çözümü vardır!