Grafana

01 - Description

A - Description

Hyper-V : Debian

Distribution : Debian 12.5

1 Version

Installation de Grafana en utilisant la dernière version stable disponible (12.0) au moment de la rédaction.
L'utilisation de cette version garantit non seulement l'accès aux dernières fonctionnalités, aux améliorations de performance et aux correctifs de sécurité, mais représente également une nette évolution par rapport à la version 9.1.5 précédemment utilisée. En effet, cette ancienne version offre significativement moins d'avantages en termes de compatibilité avec les sources de données modernes, de capacités d'alerte unifiées, de personnalisation de l'interface, et de prise en charge des tableaux de bord avancés.

Différence entre les version

- Navigation et interface utilisateur


- Alertes et notifications


- Sécurité et authentification


- Visualisations et transformations


- Sources de données et intégrations


- Développement et plugins


- Rapports et personnalisation

2 Sources

https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/

02 - Installation

A - Installation à partir du référentiel APT

1 Paquet

Installez les packages prérequis.

sudo apt-get install -y apt-transport-https software-properties-common wget

2 Clé GPG

Importer la clé GPG.

sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null

3 Référentiel Stable

Pour ajouter un référentiel pour les versions stables, exécutez la commande suivante.

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

4 Référentiel Bêta

Pour ajouter un référentiel pour les versions bêta, exécutez la commande suivante.

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com beta main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

5 Mise à jour

Exécutez la commande suivante pour mettre à jour la liste des packages disponibles.

sudo apt-get update

6 Installation Grafana OSS

Pour installer Grafana OSS, exécutez la commande suivante.

sudo apt-get install grafana

7 Installation Grafana Entreprise

Pour installer Grafana Enterprise, exécutez la commande suivante.

sudo apt-get install grafana-enterprise

03 - Maintenance

A - Sauvegarde

1 Sauvegarde de la base de donné Grafana

C’est sont stockés les dashboards, datasources, utilisateurs, organisations, etc.
Par défaut, Grafana utilise SQLite, mais il peut aussi utiliser MySQL ou PostgreSQL.

sudo cp /var/lib/grafana/grafana.db /chemin/vers/ta/sauvegarde/

2 Sauvegarde de la configuration

Le fichier de configuration principal contient les paramètres d’accès, de stockage, etc.

sudo cp /etc/grafana/grafana.ini /chemin/vers/ta/sauvegarde/

Vous pouvez aussi sauvegarder tout le dossier si tu as plusieurs fichiers.

sudo cp -r /etc/grafana/ /chemin/vers/ta/sauvegarde/etc-grafana/

3 Sauvegarde des plugins (si personnalisés)

Si vous avez installé des plugins manuellement ou via l’interface.

sudo cp -r /var/lib/grafana/plugins/ /chemin/vers/ta/sauvegarde/plugins/

4 Sauvegarde de la base InfluxDB

InfluxDB contient les métriques, pas les dashboards.

#Pour connaitre sa version InfluxDB
influxd version

#InfluxDB v1.x
influxd backup -portable /chemin/vers/ta/sauvegarde/influx-backup/

#InfluxDB v2.x
influx backup /chemin/vers/ta/sauvegarde/influx-backup/

5 Script

Création d’un script bash qui permet de sauvegarder la base de données de Grafana ainsi que les fichiers de configuration puis les plugins et pour finir la base de données Influxdb qu’il va transférer du docker sur la machine locale.

##############################################################
# Auteur : mkermorvant                                       #
# Date de modification : 20250515                            #
#                                                            #
# Description : Script de Sauvegarde de la config Grafana    #
# 
##############################################################
#! /bin/bash                                                 #
#                                                            #
##############################################################
# Variables :
echo ""
read -p "Entrez le chemin de Sauvegarde de la bdd Grafana: " BDDGRAFANA
read -p "Entrez le chemin de Sauvegarde des fichiers de configuration de Grafana: " CONF
read -p "Entrez le chemin de Sauvegarde des plugins: " PLUGINS
read -p "Entrez le nom de votre conteneur docker Influxdb: " NOM
read -p "Entrez le chemin de Sauvegarde de Influxdb dans votre conteneur: " CONTENEUR
read -p "Entrez le chemin de Sauvegarde de Influxdb dans votre machine: " INFLUXDB
read -p "Entrez votre token Influxdb: " TOKEN
echo ""
##############################################################
# 1 - Sauvegarde de la Base de Données de Grafana
sudo cp /var/lib/grafana/grafana.db ${BDDGRAFANA}
echo "La base de données de Grafana a été sauvegardé."

# 2 - Sauvegarde des Fichiers de configurations
read -r -p "Voulez-vous sauvegarder tout le dossier ? [y/N] " response

case "$response" in
    [yY][eE][sS]|[yY])
        echo "Sauvegarde du dossier."
        sudo cp -r /etc/grafana/ ${CONF}
        echo "Le dossier de configuration a bien été sauvegardé !"
        ;;
    *)
        sudo cp /etc/grafana/grafana.ini ${CONF}
        echo "Le fichié de configuration a bien été sauvegardé !"
        ;;
esac

# 3 - Sauvegarde des plugins
sudo cp -r /var/lib/grafana/plugins/ ${PLUGINS}
echo "Les plugins ont bien été sauvegardé !"
echo ""

# 4 - Sauvegarde de la base de données InfluxDB
influx_version=$(sudo docker exec ${NOM} influxd version)
echo "Version détecté : $influx_version"
read -r -p "Votre version est-elle en InfluxDB v2.x ? [y/N] " version

case "$version" in
    [yY][eE][sS]|[yY])
        sudo docker exec ${NOM} influx backup -t ${TOKEN} ${CONTENEUR}
        echo "La base de données Influxdb a bien été sauvegardé !"
        ;;
    *)
        sudo docker exec ${NOM} influxd backup -portable -t ${TOKEN} ${CONTENEUR}
        echo "Le fichié de configuration a bien été sauvegardé !"
        ;;
esac

sudo docker cp ${NOM}:${CONTENEUR} ${INFLUXDB}
echo "Votre base de données Influxdb à bien été copié dans vos réperoire."
echo ""

B - Mise à niveau Grafana

Pour mettre à niveau Grafana installé à partir du référentiel APT Grafana Labs, procédez comme suit :

1 Dépôt officiel

Mise à jour des paquet 

sudo apt update
sudo apt upgrade grafana

Grafana se met à jour automatiquement lorsque vous exécutez apt-get upgrade.

##############################################################
# Auteur : mkermorvant                                       #
# Date de modification : 20250515                            #
#                                                            #
# Description : Script de mise à jour Grafana                #
#                                                            #
##############################################################
#! /bin/bash                                                 #
#                                                            #
##############################################################
# 1 - Ajout des dépôt
curl https://packages.grafana.com/gpg.key | sudo tee /usr/share/keyrings/grafana.asc
echo "Ajout du dépôt de Grafana à la liste des sources APT."
echo "deb [signed-by=/usr/share/keyrings/grafana.asc] https://packages.grafana.com/oss/deb stable main" | sudo tee />
echo ""

# 2 - Mise à jour des sources APT
echo "Mise à jour des sources APT."
sudo apt update
echo ""

# 3 - Vérification des versions disponible
echo "Vérification des versions disponible."
sudo apt-cache show grafana | grep Version
echo ""

# 4 - Mise à jour de Grafana
echo "Mise à jour de votre Grafana"
sudo apt-get install --only-upgrade grafana
echo ""

# 5 - Redémmarage du service
echo "Votre service Grafana va se redémmarer."
sudo systemctl restart grafana-server
echo ""
echo "Votre Grafana est maintenant à jour !"
echo ""