Dans ce tutoriel, nous allons voir comment installer et configurer Grafana OSS sur Ubuntu 22.04.
Grafana Open Source Software (OSS) est un outil de surveillance, d’analyse et de visualisation des données systèmes en temps réel. À partir d’une série de données recueillies, il offre un panorama graphique de la situation d’une entreprise ou d’une organisation. Il génère des graphiques et des tableaux de bord à partir d’une base de données chronologiques (Graphite, InfluxDB ou OpenTSDB). Il vous permet également de les partager sous forme de sauvegarde instantanée avec d’autres utilisateurs.
Prérequis
Afin de suivre ce tutoriel, vous devez respecter un certain nombre de prérequis :
- Un serveur Ubuntu 22.04
- Un utilisateur avec droits administrateurs
- Minimum de 255 Mo de RAM
- Au moins 1 CPU
- Une base de données compatible (MySQL, PostgreSQL, SQLite)
- Un navigateur compatible avec JavaScript activé
- Le port 3000 ouvert si vous n’utilisez pas un reverse proxy tel que Nginx ou Apache
1. Installer Grafana OSS
La première étape consiste à installer le paquet Grafana OSS. Ce dernier ne se trouve pas dans les paquets par défaut d’Ubuntu. Il est donc nécessaire de l’y ajouter. Nous allons d’abord importer la clé GPG.
$ sudo wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
Ensuite ajouter le dépôt de Grafana.
$ echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Il faut installer les autres paquets nécessaires.
$ sudo apt install -y apt-transport-https software-properties-common wget
Une fois ces opérations effectuées, il est important de mettre à jour le cache des paquets pour la prise en compte des modifications.
$ sudo apt update
Si vous obtenez une erreur sur la dépréciation des clés comme celle-ci :
Alors, il faut lister les clés présentes dans votre système afin d’importer celle de Grafana, avec la commande suivante :
$ sudo apt-key list
Puis repérer cette dernière parmi celles listées et copier les 8 derniers chiffres qui seront utilisés pour l’importation
$ sudo apt-key export 24098CB6 | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/grafana-oss.gpg
Vous pourrez par la suite relancer la mise à jour des caches des dépôts :
$ sudo apt update
Nous pouvons à présent passer à l’installation. Au moment de la rédaction de cet article, la version de Grafana OSS en cours d’installation est la 9.0.2.
$ sudo apt install grafana
Vous pouvez vérifier la version proprement installée
$ grafana-server -v
Version 9.0.2 (commit: 0641b5d0cd, branch: HEAD)
Il est important d’activer Grafana au démarrage du serveur
$ sudo systemctl enable grafana-server
Puis, vous devez démarrer le service avec la commande suivante :
$ sudo systemctl start grafana-server
2. Installer Nginx avec un certificat Let’s Encrypt
Dans cette étape nous allons installer Nginx qui nous servira de reverse proxy. Il écoutera toutes les requêtes qui seront envoyées sur les ports 80 et 443 afin de rediriger les requêtes propres à Grafana. Notre guide considère que Grafana est accessible publiquement, nous allons donc devoir installer un certificat via let’s encrypt afin de sécuriser les échanges via le protocole HTTPS
Nous passons à l’installation de Nginx
$ sudo apt install nginx
Il faut l’autoriser pour les ports 80 et 443 de Nginx dans le pare-feu
$ sudo ufw allow 'Nginx Full'
Il faut redémarrer le pare-feu pour la prise en compte des modifications
$ sudo ufw disable && sudo ufw enable
Nous conseillons à présent de supprimer le fichier de l’hôte virtuel par défaut de Nginx pour éviter tout conflit.
$ sudo rm /etc/nginx/sites-enabled/default
Il faut créer le fichier de configuration de grafana-oss
$ sudo vim /etc/nginx/sites-available/grafana-oss.conf
Nous devons à présent activer la configuration
$ sudo ln -s /etc/nginx/sites-available/grafana-oss.conf /etc/nginx/sites-enabled/grafana-oss.conf
Il faut vérifier que nous n’avons pas de conflits
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Redémarrons à présent Nginx pour la prise en compte des modifications
$ sudo systemctl restart nginx
La configuration jusqu’à ce niveau présente un accès non sécurisé http. Il est temps de passer à l’installation et à la génération d’un certificat pour sécuriser l’accès. Pour cela, nous allons utiliser l’outil let’s encrypt. Vous pouvez l’installer par la commande
$ sudo apt install certbot python3-certbot-nginx
Suivez notre article sur l’installation de Nginx et la génération d’un certificat let’s encrypt. Dans le cadre du présent tutoriel sur Grafana OSS, nous allons considérer que vous possédez déjà un certificat. Nous rappelons que let’s encrypt va modifier le présent fichier de configuration Nginx de Grafana afin d’insérer le certificat. Le fichier final ressemblera donc à ceci :
Il faut à présent redémarrer à nouveau Nginx pour la prise en compte des modifications.
$ sudo systemctl restart nginx
3. Accéder à Grafana
Maintenant que Grafana Oss est installé, il est possible d’y accéder via le navigateur par son adresse. Vous pouvez insérer l’URL de votre Grafana en http qui sera aussitôt redirigé vers le lien sécurisé en https
Le nom utilisateur et le mot de passe par défaut c’est admin mais il vous sera demandé d’entrer un nouveau mot de passe. Une fois le mot de passe modifié, vous aurez accès au dashboard
Vous pouvez à présent vous reférer à la documentation officielle pour la prise en main de l’outil.
Conclusion
Nous avons vu dans notre article comment faire une installation de Grafana OSS 9.0.2 de manière sécuriséé sur Ubuntu 22.04. Vous pouvez déjà créer un nouveau dashboard, ajouter de nouveaux utilisateurs, de nouvelles sources de données (Gitlab, ElasticSearch, etc).