Prometheus installation

Le logiciel est disponible dans les paquets standards de Debian, donc l'installation se passe bien avec le téléchargement d'un certain nombre (grand nombre même) de dépendances. 
Avec cette installation "brute" aucune mesure d'une autre machine n'est visible , ici la machine "personnelle"  en ajoutant quelques lignes dans le fichier "/etc/prometheus/prometheus.yml" :

- job_name: k2000
   # If prometheus-node-exporter is installed, grab stats about the local
   # machine by default.
   static_configs:
     - targets: ['192.168.2.8:9100']

Pour que cela fonctionne il faut installer un "prometheus-exporter" sur cette machine ce qui ne pose aucun problème sur cette machine Debian. Quelques minutes plus tard des mesures commencent à être visibles.

Ce qui est très ennuyeux avec Prometheus c'est l'utilisation de ce fichier de paramétrage relativement "monolithique" qui peut  (doit) devenir difficile à gérer ! 
On peut tester rapidement le fonctionnement sur le port 9090, il faudra bien sûr attendre un certain temps que des mesures soient disponibles. 
L'interface "standard" n'est pas très "sexy" mais elle permet de voir le grand nombre de données différentes disponibles. Il est possible d'afficher des graphes simplifiés d'une mesure, mais ce n'est pas l'interface à utiliser couramment, par contre c'est un bon moyen de voir l'ensemble des mesures disponibles en standard, il y en a énormément dont un certain nombre qui restent incompréhensibles pour moi ... 
La plupart des mesures présentées dans la liste sont en fait "multiples", par exemple la mesure "node_disk_io_now" présente par défaut l'ensemble des disques physiques et des partitions LVM présentes dans la machine. 
Cet interface permet aussi de consulter différents aspects :

  • Les alertes (je n'en ai pas encore installé une)
  • Visualiser quelques mesures (une à la fois)
  • Afficher le paramétrage "basique" de Prometheus.

Pour afficher des graphiques plus "jolis", et surtout des "dashboard" synthétiques plus représentatifs de l'activité d'un service, l'installation de Grafana s'impose. 
Pour installer Grafana il est suffisant (Debian) d'ajouter un fichier "grafana.list" dans "/etc/apt/sources.list.d" contenant :

deb https://apt.grafana.com stable main

Puis récupérer et installer la clef GPG :

wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
cd /etc/apt/trusted.gpg.d
ln -s /usr/share/keyrings/grafana.key ./grafana.asc

On peut alors lancer l'installation, ensuite Grafana-server démarre sans problème et la "data source" Prometheus est comprise d'office. On peut donc tout de suite passer aux choses sérieuses. 
Attention toutefois à bien paramétrer la datasource sur la machine "Prometheus". 
Ici j'ai créé une datasource "Prometheus-1" qui pointe vers la machine locale, comme d'habitude avec Grafana cela n'a rien de complexe. Pour Grafana, je ne connaissais pas la dernière version (9.4) mais l'interface a beaucoup changé et, s'il offre plus de possibilités, il est nettement plus complexe. 
La configuration de Prometheus est contenue dans un fichier "YAML" unique qui risque de devenir très vite complètement indigeste et donc une source d'erreur. 
A éviter donc ... Et en cherchant un peu on peut trouver sur Github une application dédiée à cette activité : Promgen (peut-être complexe) ou une autre solution à trouver que je vais essayer de mettre en action dans un prochain chapitre.