Outils pour utilisateurs

Outils du site


admin:services:grafana.chapril.org

Service grafana.chapril.org

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.

Installation

Déploiement du domaine grafana.chapril.org

Suivre la procédure d'ajout d'un domaine.

Déploiement du domaine sur la vm bastion

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;
    }

}

Installation et configuration de Grafana

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
Attendre l'initialisation initiale

Intégration des données d'Icinga2 dans Grafana et des graph Grafana dans Icingaweb2

InfluxDB

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$" 
    }
  }
}

Intégration des données d'Icinga dans Grafana

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).

Intégration des graphiques Grafana dans Icingaweb2

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

Configuration du courriel

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
admin/services/grafana.chapril.org.txt · Dernière modification : 2021/03/06 22:50 de qgibeaux