A basic project to learn Prometheus and Grafana
-
Il faut avoir un cluster Kubernetes. Vous pouvez utiliser Minikube ou un cluster cloud comme EKS, AKS ou GKE.
-
Kubectl pour les commandes Kubernetes
Suivez les instructions de ce lien https://helm.sh/docs/intro/install/ pour installer Helm
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/kube-prometheus-stack
Vérifie les installations en listant les pods :
kubectl get pods -n
Vous devez voir les pods Prometheus, Grafana et AlertManager en cours d'exécution :
kubectl get secret --namespace default prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
kubectl port-forward svc/prometheus-grafana 3000:80
Un port forward permet d'accéder à des services internes d'un cluster Kubernetes depuis votre machine locale. Cela vous permet de rediriger un port local vers un port sur un pod ou un service dans le cluster.
Lance http://localhost:3000
Vous atterrissez sur une page comme celle-ci
Mettre admin comme sur la capture pour l'identifiant
git clone https://github.com/lucasdsm78/PrometheusExercise
Exemple pour le déploiement
kubectl apply -f deployment.yaml
Aller dans Dashboards => New => Import.
Vous pouvez mettre l'ID 6417 pour voir les metrics des pods.
Avec l'ID 1860 pour l'état des noeuds Kubernetes avec le CPU, la mémoire et les fichiers systèmes :
Avec l'ID 315 pour les metrics sur l'utilisation des ressources pour chaque pod :
Si vous avez cette erreur pour l'installation de Prometheus, Grafana et AlertManager :
Error: INSTALLATION FAILED: Kubernetes cluster unreachable: Get "https://127.0.0.1:59845/version": dial tcp 127.0.0.1:59845: connect: connection refused
C'est qu'il n'y a aucun cluster Kubernetes de lancer. Il faut lancer un cluster Kubernetes.
Pour Minikube, c'est minikube start