Ticket sur agir https://agir.april.org/issues/4439
Cette page présente l'installation de Grafana et la configuration du module d'intégration de graphiques de Grafana dans Icingaweb2.
Suivre la procédure d'ajout d'un domaine.
Sur la vm bastion, configurer un nouveau site :
=(^-^)=root@bastion:/etc/nginx/sites-enabled# cat grafana.chapril.org server { listen 80; listen [::]:80; server_name grafana.chapril.org; access_log /var/log/nginx/grafana.chapril.org/grafana.chapril.org-access.log; error_log /var/log/nginx/grafana.chapril.org/grafana.chapril.org-error.log; include /etc/nginx/acme-challenge; include /etc/nginx/sexy-chapril; include /etc/nginx/force-ssl.conf; } server { listen 443 ssl; listen [::]:443 ssl; server_name grafana.chapril.org; access_log /var/log/nginx/grafana.chapril.org/grafana.chapril.org-access.log; error_log /var/log/nginx/grafana.chapril.org/grafana.chapril.org-error.log; ssl_certificate /var/lib/dehydrated/certs/grafana.chapril.org/fullchain.pem; ssl_certificate_key /var/lib/dehydrated/certs/grafana.chapril.org/privkey.pem; include /etc/nginx/acme-challenge; include /etc/nginx/sexy-chapril; location / { proxy_pass http://admin.cluster.chapril.org:3000; } }
Sur la vm hébergeant Icingaweb2 : admin.cluster.chapril.org.
Installation :
apt-get install -y apt-transport-https apt-get install -y software-properties-common wget wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" apt update apt install grafana
Configuration :
/etc/grafana/grafana.ini : décommenter compte admin/password (mettre un mot de passe) systemctl enable grafana-server.service systemctl start grafana-server
Installation d'InfluxDB :
apt install influxdb influxdb-client
Configuration de la base InfluxDB :
=(^-^)=root@admin:~# influx Connected to http://localhost:8086 version 1.6.4 InfluxDB shell version: 1.6.4 > CREATE DATABASE icinga2; CREATE USER icinga2 WITH PASSWORD '********'; GRANT ALL ON icinga2 TO icinga2 <code> Activation des modules icinga pour InfluxDB : <code> icinga2 feature enable perfdata icinga2 feature enable influxdb
Configuration du module Icingaweb2 d'InfluxDB, fichier /etc/icinga2/features-enabled/influxdb.conf :
library "perfdata" object InfluxdbWriter "influxdb" { host = "127.1" port = 8086 database = "icinga2" username = "icinga2" password = "*****************" enable_send_thresholds = true enable_send_metadata = true host_template = { measurement = "$host.check_command$" tags = { hostname = "$host.name$" } } service_template = { measurement = "$service.check_command$" tags = { hostname = "$host.name$" service = "$service.name$" } } }
Se connecter sur l'interface Grafana pour ajouter un datasource avec l'utilisateur admin.
Ajouter un datasource InfluxDB avec les informations suivantes :
url: http://127.0.0.1:8086 Acces: Server Database: icinga2 user: icinga2 password : ******* http method: GET
Noter le nom du datasource (InfluxDB par défaut).
Cliquer sur “Save & Test”.
Générer un token “viewer” et garder la valeur pour la configuration du module Grafana d'Icinga2.
Intégrer dans grafana le dashboard idoine via son id (voir https://grafana.com/grafana/dashboards/1572?osource=grafana_getting_started).
Récupération du module Grafana pour Icingaweb2 :
git clone https://github.com/Mikesch-mp/icingaweb2-module-grafana /usr/share/icingaweb2/modules/grafana mkdir /etc/icingaweb2/modules/grafana chown www-data:icingaweb2 /etc/icingaweb2/modules/grafana
Configuration du module Grafana d'Icingaweb2, avec le dashboarduid et le nom du datasource notés précédement, fichier /etc/icingaweb2/modules/grafana/config.ini :
[grafana] version = "1" host = "127.1:3000" protocol = "http" timerangeAll = "1w/w" defaultdashboard = "icinga2-default" defaultdashboarduid = "j9hX7K6Wz" defaultdashboardpanelid = "1" defaultorgid = "1" shadows = "0" theme = "light" datasource = "influxdb" accessmode = "proxy" height = "280" width = "640" enableLink = "yes" debug = "0" authentication = "token" apitoken = "************" usepublic = "yes" publichost = "grafana.april.org" publicprotocol = "https"
Pour ne pas afficher de graphe vide, il suffit de désactiver les perfdata au niveau du service icinga :
enable_perfdata = false
La configuration du courriel est importante dans l'invitation de membre dans Grafana (voir https://agir.april.org/issues/5163).
Éditer /etc/grafana/grafana.ini :
#################################### SMTP / Emailing ########################## [smtp] enabled = true host = localhost:25 ;user = # If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" ;password = ;cert_file = ;key_file = skip_verify = true from_address = admins-auto@chapril.org ;from_name = Grafana [emails] welcome_email_on_sign_up = true
Puis redémarrer le service :
systemctl restart grafana-server.service