Kubernetes Monitoring : Prometheus & Grafana

Kubernetes ve Prometheus birlikte kullanıldığında, uygulamaların performansını ve sağlığını takip etmek daha kolay hale gelir. Prometheus, Kubernetes üzerinde çalışan uygulamaların performans verilerini toplar ve bu verileri grafikler ve raporlar halinde sunar. Bu sayede, sistem yöneticileri ve geliştiriciler, uygulamaların ne kadar kaynak tükettiğini, ne kadar hızlı çalıştığını ve ne kadar güvenli olduğunu anlayabilirler.
Ayrıca, Prometheus, uygulamalardaki hataları ve sorunları tespit etmek için alarm sistemleri sağlar. Bu sayede, sorunlar hızlı bir şekilde tespit edilebilir ve müdahale edilebilir, böylece uygulamaların kesintisiz bir şekilde çalışması sağlanabilir.
Kısacası, Kubernetes ve Prometheus birlikte kullanıldığında, uygulamaların performansını ve sağlığını izlemek ve sorunları tespit etmek daha kolay ve etkili hale gelir. Bu nedenle, bulut tabanlı uygulamaların yönetimi için önemlidir.
- “helm install prometheus prometheus-community/prometheus” komutu, Kubernetes üzerinde Prometheus’u yüklemek için kullanılan bir Helm komutudur. Bu komut, “prometheus-community/prometheus” adlı bir Helm chart’ını kullanarak Prometheus’u yükler.
helm install prometheus prometheus-community/prometheus
Aşağıdaki komut, Kubernetes üzerinde Prometheus server’ının, Kubernetes cluster’ı dışındaki kullanıcılara erişim sağlamak için servis olarak dışa açılmasını sağlar.

kubectl expose service prometheus-server --type=NodePort --target-port=9090 --name=prometheus-server-ext

Aşağıdaki komut, Bitnami’nin resmi Helm chart deposunu (repository) Kubernetes cluster’ınıza ekler.
helm repo add bitnami https://charts.bitnami.com/bitnami
Aşağıdaki komut, Bitnami tarafından sağlanan Grafana Helm chart’ını kullanarak, Kubernetes cluster’ınıza Grafana’yı yükler.
helm install my-release bitnami/grafana
Aşağıdaki komut grafana arayüzü için yetkili kullanıcının bilgilerini shell’e yazar.
echo "User: admin" && echo "Password: $(kubectl get secret my-release-grafana-admin --namespace default -o jsonpath="{.data.GF_SECURITY_ADMIN_PASSWORD}" | base64 -d)"
Aşağıdaki komut, Kubernetes üzerinde çalışan Grafana uygulamasının, Kubernetes cluster’ı dışındaki kullanıcılara erişim sağlamak için servis olarak dışa açılmasını sağlar.

kubectl expose service my-release-grafana --type=NodePort --target-port=3000 --name=grafana-server-ext