Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Table of Contents

Grafana est une plateforme permettant de créer des tableaux de bord de visualisation pour les métriques. Grafana permet la création de différents types de widget et de met à disposition de nombreuses options pour la visualisation des métriques.

Plus de détails sont disponibles sur le site officiel: https://grafana.com/

Installation

L'installation de Grafana sous CentOS se fait via un RPM. La version de Grafana testée avec Shinken Entreprise est la v7.4.2.

Pour l'installer, utiliser la commande suivante:

Code Block
yum install https://dl.grafana.com/oss/release/grafana-7.4.2-1.x86_64.rpm

Une fois l'installation terminée, le lancement de Grafana dépend de la version de CentOS utilisée.

  • Sous CentOS 6

    Code Block
    service grafana-server start


  • Sous CentOS 7

    Code Block
    systemctl start grafana-server


Après avoir installé puis lancé Grafana, l'interface sera accessible sur le port 3000. Les identifiants par défaut sont admin/admin

Connexion avec Graphite

Pour pouvoir récupérer les métriques générées par Shinken et enregistrées dans Graphite, Grafana doit avoir accès à Graphite. Pour cela, il faut ajouter dans Grafana une source de données Graphite.

Dans l'interface, aller dans la catégorie Data Sources , puis ajouter une nouvelle source de type Graphite, qui sera paramétrée comme suivant:

  • URL: adresse du serveur hébergeant Graphite, sur le port 80. Par exemple: 

    Code Block
    http://localhost:80





Si Grafana est installé sur un serveur différent du serveur Graphite, il faudra effectuer une étape de configuration supplémentaire. Par défaut, Graphite autorise seulement les connexions locales. Pour permettre à des serveurs distants d'accéder à ses données, il faut:

  • Changer la ligne suivante dans le fichier de configuration Apache de Graphite:

    Code Block
    title/etc/httpd/conf.d/graphite.conf
    <VirtualHost 0.0.0.0:80>

    Cette ligne permet de spécifier les interfaces réseau de la machine sur lesquelles effectuer l'écoute. Spécifier 0.0.0.0 ou * permet d'écouter sur toutes les interfaces réseau. On peut mettre une seule interface à la place en spécifiant l'IP de l'interface réseau concernée.

  • Redémarrer Apache pour prendre en compte les modifications
    Sur CentOS 6:

    Code Block
    service http restart


    Sur CentOS 7:

    Code Block
    systemctl restart httpd


L'installation et la connexion de Grafana avec Graphite sont maintenant terminées.

Vous pouvez maintenant créer des tableaux de bord, ajouter des utilisateurs et permettre la visualisation des métriques de Shinken.

Intégration dans Shinken

Par défaut, cette version n'accepte pas d'être intégré dans un page web. Pour l'activer vous devez éditer le fichier de configuration Grafana /etc/grafana/grafana.ini :

Code Block
allow_embedding = true

 puis redémarrer Grafana


Sur CentOS 6:

Code Block
service grafana-server restart


Sur CentOS 7:

Code Block
systemctl restart grafana-server


Créer un tableau de bord (dashbord)

Pour créer un tableau de bord, cliquer sur le "+", "Create", puis "Add new panel"








Définir un nom dans le menu de droite et dans la partie basse de l'écran, vous avez la composition de la requête. Pour générer un graphe, il faut cliquer sur "select metric", puis ajouter le métrique souhaité








Il faut sélectionner l’intervalle de visualisation










Une fois terminé, le bouton "Save" en haut à droite, va sauvegarde le panneau dans le tableau de bord. Le nom inscrit sera le nom du tableau de bord qui peu être composé de plusieurs panneaux.

Récupération de l'URL a intégrer dans Shinken

Pour centraliser la visualisation des éléments supervisés par Shinken, il est possible d'intégrer les tableaux de bord Grafana dans un tableau de bord Shinken en utilisant la Widget Page web.

Par exemple:

Panel

Allez sur votre panneau et cliquer sur share :


Dans l'onglet "Embed", selectionnez le line comme ci-dessous :


Pour obtenir un graphique évolutif en temps réel, remplacer dans le lien, toute la partie "from=XXXX&to=XXXX" par "from=now-6h&to=now" pour avoir un intervalle de 6h de visualisation


Copier ce lien dans votre widget Page web :

Exemple :

Code Block
http://adresse_serveur:3000/d-solo/sLWNXIsMk/synchronizer?orgId=1&from=now-6h&to=now&panelId=2

Décomposition de l'adresse :

ParamètreDéfinition
adresse_serveurAdresse IP / Nom DNS du serveur
3000Port par défaut de Grafana
d-soloPermet de cacher les barres de navigation de Grafana pour n'afficher que les éléments visualisés 
synchronizerNom du tableau de bord
from=now-6hIntervalle d'affichage du graphes sur 6h
to=nowIntervalle jusqu'à maintenant
panelId=2Numéro du panneau dans le tableau de bord


Passage en HTTPS

Dans le fichier de configuration de Grafana (/etc/grafana/grafana.ini) :

Code Block
protocol = https
cert_file = /chemin/vers/server.cert
cert_key = /chemin/vers/server.key

Redémarrer Grafana

Lien vers la mapping nom→uuid nécessaire pour grafana, et suivi des requêtes

Lors de l'utilisation de grafana, les requêtes vont arriver dans le serveur apache du serveur graphite avec des noms et non pas des uuids comme dans l'interface de visualisation qui elle fonctionne avec des uuids.

Pour cela il faut que le serveur apache ait accès à un mapping entre les noms et les uuids. Il faut le lier à la base SLA qui a en son sein ce mapping.

Cette configuration se fait au sein du fichier /opt/graphite/conf/mongodb.conf via le champ URI.

Code Block
title/opt/graphite/conf/mongodb.conf
URI=mongodb://localhost/?w=1&fsync=false


Les logs de cette connexion se font au sein du fichier /var/log/graphite/info.log

Les logs de mise à jour du cache seront activés. Si vous souhaitez suivre la mise à jour du mapping nom → uuid et les requêtes pour un hôte particulier, vous pouvez remplir le fichier /opt/graphite/storage/whisper/.apache_graphite_host_filter_log avec le nom de l'hôte. Vous verrez sa mise à jour dans le mapping, ainsi que les requêtes de recherches de métriques le concernant.


Mise à jour v5.1.3 vers v7.4.2

Il faut simplement lancer la commande suivante :

Code Block
yum update https://dl.grafana.com/oss/release/grafana-7.4.2-1.x86_64.rpm

 Une fois Grafana mis à jour, il suffit de rafraîchir la page et de s'authentifier