22
0
Fork 0
wiki/HowtoGrafana.md

123 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

2018-06-26 10:50:33 +02:00
---
categories: monitoring
title: Howto Grafana
...
* Documentation : <http://docs.grafana.org/>
[Grafana](https://grafana.com/) permet d'effectuer des requêtes sur des bases de données, pour en afficher des graphes personnalisés. Nous l'utilisons en combinaison avec [collectd](HowtoCollectd) et [InfluxDB](HowtoInfluxDB).
## Installation
2021-11-08 10:34:10 +01:00
Grafana n'étant pas disponible sous Debian Bullseye, nous utilisons les dépôts fournis par GrafanaLabs.
2018-06-26 10:50:33 +02:00
~~~
2019-01-28 15:24:23 +01:00
# echo "deb https://packages.grafana.com/oss/deb stable main" > /etc/apt/sources.list.d/grafana.list
# wget -O /etc/apt/trusted.gpg.d/grafana.asc https://packages.grafana.com/gpg.key
# dos2unix /etc/apt/trusted.gpg.d/grafana.asc
# chmod 644 /etc/apt/trusted.gpg.d/grafana.asc
2018-06-26 10:50:33 +02:00
# apt update
# apt install grafana
# systemctl daemon-reload
2018-06-26 10:50:33 +02:00
# systemctl enable grafana-server.service
# systemctl start grafana-server.service
# grafana-server -v
2021-10-18 16:06:55 +02:00
Version 8.2.1 (commit: 88622d7f09, branch: HEAD)
2018-06-26 10:50:33 +02:00
# systemctl status grafana-server.service
2018-06-26 10:50:33 +02:00
● grafana-server.service - Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
Docs: http://docs.grafana.org
Main PID: 2400 (grafana-server)
Tasks: 35 (limit: 4915)
CGroup: /system.slice/grafana-server.service
└─2400 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning
~~~
## Configuration
On modifie le fichier de configuration `/etc/grafana/grafana.ini` afin de n'écouter qu'en local, pour ensuite utiliser un reverse proxy vers 127.0.0.1:3000. On cache également l'affichage de la version utilisée de Grafana.
2018-06-26 10:50:33 +02:00
~~~
[server]
http_addr = 127.0.0.1
[auth.anonymous]
hide_version = true
2018-06-26 10:50:33 +02:00
~~~
2021-06-24 16:11:19 +02:00
### Authentification LDAP
Modifier la configuration `/etc/grafana/grafana.ini` :
~~~
[auth.ldap]
enabled = true
config_file = /etc/grafana/ldap.toml
allow_sign_up = true
~~~
Puis configurer le fichier `/etc/grafana/ldap.toml` en conséquence.
2020-02-12 15:29:53 +01:00
### Reverse proxy avec sous dossier
Si grafana est dans un sous-dossier de la forme `example.com/grafana/` plutôt que `grafana.example.com`, il faut alors l'indiquer dans la configuration :
~~~
[server]
root_url = http://localhost:3000/grafana/
~~~
### Emplacement des données
Les données de Grafana (sources, dashboards, graphes, utilisateurs, …) sont stockées par défaut dans `/var/lib/grafana`.
### Configuration SMTP
Pour pouvoir utiliser la fonction "mot de passe oublié", le serveur SMTP doit être configurée :
~~~
2021-10-18 16:24:46 +02:00
[smtp]
enabled = true
host = localhost:25
skip_verify = true
from_address = grafana@example.com
from_name = Grafana Example
~~~
2018-06-26 10:50:33 +02:00
## Utilisation
2020-02-12 15:38:49 +01:00
Les identifiants par défaut sont `admin/admin`, et doivent être changés à la première connexion à l'interface.
2018-06-26 10:50:33 +02:00
### Ajouter une source
Pour ajouter par exemple une source [InfluxDB](HowtoInfluxDB), avec les données dans une base [collectd](HowtoCollectd) :
* Configuration > Data Sources > Add data source
2021-10-18 17:56:51 +02:00
* Choisir InfluxDB
* Name : Collectd (pour indiquer la source des données et non le nom de la base)
* Query Language : InfluxQL
2018-06-26 10:50:33 +02:00
* URL : http://localhost:8086
* Access : Server
* Database : collectd
2022-04-28 11:36:18 +02:00
* User : \<username\>
* Password : \<password\>
2022-04-28 11:35:49 +02:00
Avec l'authentification configurée ou non selon la configuration d'[InfluxDB](HowtoInfluxDB#authentification)
2018-06-26 10:50:33 +02:00
### Créer un dashboard
* Create > Dashboard
* Configurer le dashboard en cliquant sur la roue dentée en haut à droite
Un dashboard hérite des permissions de son dossier parent. Pour ne pas avoir les permissions par défaut `every viewers can view` et `every editors can edit`, étant donné que les permissions du dossier par défaut _Général_ ne sont pas modifiables, il faut créer un nouveau dossier n'ayant pas ces permissions et y placer les dashboards. Ainsi, les utilisateurs n'auront par défaut pas accès à tous les dashboards.
Des dashboards créés par la communauté peuvent être importés depuis <https://grafana.com/dashboards>
### Créer un graphe
* Se rendre dans le dashboard précédemment créé > En haut à droite, choisir Add panel > Choisir le type de graphe
* Cliquer sur Panel Title > Edit
* Parcourir les onglets pour choisir la source et configurer le graphe