Vous rencontrer des difficultés de connexion à votre instance Grafana ? ou à Prometheus ? --> default backend, erreur 404 etc... ou vous souhaitez simplement mettre à jour pour bénéficier des dernières mises à jour des outils OpenSource de supervision les plus tendances du moment ? Cet article est fait pour vous.

La meilleure solution est donc d'installer une stack clé en main comme Dockprom. C'est ce que j'utilise pour monitorer ce site web. Cette stack est composée d'un ensemble d'outils :

  • Prometheus (base de données métriques) http://<host-ip>:9090
  • Prometheus-Pushgateway (accepteur push pour les tâches éphémères et par lots) http://<host-ip>:9091
  • AlertManager (gestion des alertes) http://<host-ip>:9093
  • Grafana (visualiser les métriques) http://<host-ip>:3000
  • NodeExporter (collecteur de métriques hôtes)
  • cAdvisor (collecteur de métriques de conteneurs)
  • Caddy (reverse proxy et fournisseur d'authentification de base pour Prometheus et alertmanager)

Pour l'installer sur votre serveur Linux rien de plus simple.

git clone https://github.com/stefanprodan/dockprom
cd dockprom

ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d

Si vous souhaitez effectuer une mise à jour, il faut rester dans le dossier dockprom et lancer un :

sudo nano docker-compose.yml

Vous aurez alors accès au fichier docker-compose et à la liste de ses consignes au format yaml. Il suffira simplement de trouver Prometheus et Grafana dans la liste et de modifier ces lignes :

grafana:
  image: grafana/grafana:5.2.4
  env_file:
    - config

Nous allons passer en 6.4.0 pour profiter des améliorations notables de Grafana, et Prometheus basculera en 2.14.

Modifions donc les lignes et les versions, on enregistre et on lance la commande de rebuild de notre stack :

root@vpsXXXX:~/dockprom# ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d
Pulling grafana (grafana/grafana:6.4.0)...
6.4.0: Pulling from grafana/grafana
9d48c3bd43c5: Pull complete
96d50c3071b4: Pull complete
feb39870c410: Pull complete
c6fbc3cae577: Pull complete
575fb265ce1a: Pull complete
ee23110b10e9: Pull complete
8ac11ecc8154: Pull complete
pushgateway is up-to-date
nodeexporter is up-to-date
alertmanager is up-to-date
prometheus is up-to-date
Recreating grafana ...
cadvisor is up-to-date
Recreating grafana ... done

Les containeurs sont mis à jour, les données récupérées et installées, les services sont recréés et tout repart. On se connecte à Grafana en web :

Et tout est ok.