Ceci est une ancienne révision du document !


Installation de Grafana

CréationNicolas THOREZ 2021/09/02 14:53
Mise à jourNicolas THOREZ 2022/11/27 18:33

Grafana est un outil permettant l'unification, l'uniformisation et la visualisation de données collectés. Il permet de gérer des alertes ce qui en fait un outil très intéressant dans le cadre des opérations de maintient en conditions opérationnelles d'une infrastructure. Pour son bon fonctionnement, Grafana va être aider de InfluxDB et de Telegraf dans les rôles suivants :

  • Grafana : Tableau de bord pour la visualisation des données.
  • InfluxDB : Base de données de type Time Series, utile en terme de performances.
  • Telegraf : Agent de collecte de données sur les postes clients.

Références :

InfluxDB, Telegraf et Grafana nécessitent certains paquets, il faut donc s'assurer de les installer avant :

apt install -y gnupg2 curl software-properties-common

Environnement

Cette procédure a été réalisée et testé sur une VM en Debian 11, hébergée par un serveur Proxmox 7.0.

Droits

Cette procédure nécessite les droits root. Par conséquent, faîtes attention à ce que vous faîtes et rappelons-le, les sauvegardes et snapshots de VM sont toujours utiles.
  • On commence par ajouter le dépôt avant de mettre à jour notre base :

add-apt-repository "deb https://repos.influxdata.com/debian bullseye stable"
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 684A14CF2582E0C5
apt update

  • On peut maintenant télécharger et installer InfluxDB :

apt install -y influxdb

  • Le service influxdb nécessite l'écoute du port 8086. Il nous faut donc ouvrir ce port :

iptables -A INPUT -p tcp --dport 8086 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

  • On peut désormais activer et lancer le service :

systemctl enable influxdb
systemctl start influxdb
systemctl status influxdb

  • On va maintenant créer la base de données (influx_bdd pour l'exemple) :

influx -execute "CREATE DATABASE influx_bdd"

  • On crée l'utilisateur et on lui donne les droits sur la base :

influx -execute "CREATE USER influx_user WITH PASSWORD 'P@ssw0rd'"
influx -execute "GRANT ALL ON influx_bdd TO influx_user"

  • On règle la rétention de données :

influx -execute "CREATE RETENTION POLICY "a_year" ON "influx_bdd" DURATION 52w REPLICATION 1 DEFAULT"

  • On installe le paquet à partir des dépôts déjà configurés :

apt install -y telegraf

  • On configure l'agent en éditant le fichier /etc/telegraf/telegraf.conf. Ce fichier contient énormément de données, toutes ne vous seront pas obligatoirement utiles. Vous aurez cependant besoin de spécifier :
    • Section [agent] (facultatif) :
      • logtarget = "file" : Active les logs locaux.
      • logfile = "/var/log/telegraf/telegraf.log" : Fichier de destination pour l'écriture des logs.
      • logfile_rotation_interval = "24h" : Age du fichier log avant rotation.
      • logfile_rotation_max_size = "1GB" : Taille maximale du fichier log avant rotation.
      • logfile_rotation_max_archives = 5 : Nombre de fichier de log à conservé.
    • Section outputs.influxdb (obligatoire)
      • urls = ["http://xxx.xxx.xxx.xxx:8086"] : Adresse du serveur influxdb.
      • database = "influx_bdd" : Nom de la base.
      • username = "influx_user" : Utilisateur pour la connexion.
      • password = "P@ssw0rd" : Mot de passe pour la connexion.
    • Sections inputs.*
      • On active toutes les sections inputs qui nous intéresse.
  • Une fois les paramétrages terminés, on active le service :

systemctl enable telegraf
systemctl start telegraf

  • Une fois les agents installés sur tous les serveurs à monitorer, on peut passer à Grafana. On commence donc par l'ajout du dépôt :

curl -fsSL https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/grafana.gpg
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

  • On installe le paquet :

apt update && apt -y install grafana

  • Le service nécessite l'accès au port 3000, on paramètre donc le pare-feu en ce sens :

-A INPUT -p tcp --dport 3000 -m state --state NEW,ESTABLISHED,RELATED -j SHYRKA

  • On peut désormais activer et lancer le service :

systemctl enable grafana-server
systemctl start grafana-server

  • On accède donc à l'interface de grafana sur le port 3000 du serveur.
  • Il nous faut commencer par définir le mot de passe administrateur. Par défaut, le compte utilisateur est admin et son mot de passe admin :

  • On renseigne le nouveau mot de passe et on clique sur Submit :

  • On doit ajouter la source de données influxdb. On va donc cliquer sur l'icône des paramètres puis Data sources :

  • On clique sur Add data source :

  • Il y a de nombreuses sources possibles. On recherche donc infludb et on clique sur la source :

  • On renseigne :
    • URL : l'adresse et le port du serveur influxdb.
    • Database : le nom de la base.
    • User : l'utilisateur pour la connexion.
    • Password : le mot de passe de l'utilisateur.
  • Une fois terminé, on clique sur Save & test :

  • Si tout est correct, le système nous l'indique :

  • On peut désormais créer le tableau de données ou dashboard. Il est possible de le créer de toute pièce (option + New dashboard) mais le plus simple est d'en importer un. Le site Grafana - Dashboards en propose de nombreux. Du coup, on va cliquer sur l'onglet Dashboards puis + Import :

  • On entre le numéro du dashboard à importer et on clique sur Load :

  • On indique la source de données et on clique sur Import :

  • On accède alors à notre dashbord. Il ne nous reste plus qu'à l'enregistrer :

  • On clique donc sur Save :

Enjoy

Et voilà ! Vos serveurs sont désormais monitorés via une plateforme graphique assez agréable à regarder et plutôt efficace dans les faits.
Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • grafana.1669714777.txt.gz
  • Dernière modification : 2022/11/29 10:39
  • de nekan