Relution-Surveillance avec Grafana (optionnel)
Introduction
Relution fournit une variété de métriques qui peuvent être visualisées à l’aide de Grafana. Ci-dessous, nous avons fourni une configuration de base pour une installation Docker et deux tableaux de bord. Ces configurations peuvent être adaptées en fonction de vos propres besoins.
Prometheus, Grafana et les tableaux de bord individuels ne sont pas maintenus par Relution Support.
Configuration
Fichiers et répertoires nécessaires
Comme indiqué, les configurations sont disponibles et peuvent être téléchargées ici →.
Fichiers
- docker-compose.yml
- Contient les configurations des conteneurs Docker
PrometheusetGrafana.
- Contient les configurations des conteneurs Docker
- prometheus.yml
- Contient la configuration de
Prometheus.
- Contient la configuration de
- .env
- Contient les variables
GF_SECURITY_ADMIN_USERetGF_SECURITY_ADMIN_PASSWORD. Pour un fonctionnement productif, il est recommandé de changer le mot de passe.
- Contient les variables
Sous-dossier
Tableaux de bord Exemples de tableaux de bord : Les fichiers de configuration pour deux exemples de tableaux de bord sont inclus. Ces tableaux de bord sont automatiquement importés dans le conteneur Grafana Docker.
Provisionnement Configurations de base : Les fichiers de configuration pour la source de données Prometheus et les deux exemples de tableaux de bord sont inclus. Ces configurations peuvent être adaptées selon les besoins.
Intégration du fichier docker-compose.yml
Le fichier docker-compose.yml décrit ici peut être utilisé de deux manières :
Autonome Le fichier peut être utilisé en tant que fichier autonome.
Contenu Le contenu du fichier peut être inclus dans un fichier docker-compose.yml existant.
Dans notre exemple, le contenu du fichier est inclus dans le fichier docker-compose.yml existant.
Dans ce cas, il est important que les fichiers et les répertoires des volumes soient à l’endroit approprié et aient les permissions correctes.
Dans notre docker-compose.yml, les conteneurs mariadb, Relution et nginx sont présents, donc les lignes deux à quatre n’ont été insérées que pour l’orientation.
services: # déjà présent
# mariadb : déjà présent
# relution : déjà présent
# nginx : déjà présent
prometheus:
image: prom/prometheus:${DOCKER_PROMETHEUS:-latest}
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
réseaux:
relution-network:
ports:
- "${PORT_PROMETHEUS:-9090}:9090"
expose:
- "9090"
logging:
driver: "json-file"
options:
max-size: "${DOCKER_PROMETHEUS_LOGSIZE:-8m}"
max-file: "4"
compress: "true"
grafana:
image: grafana/grafana:${DOCKER_GRAFANA:-latest}
volumes:
- ./provisioning:/etc/grafana/provisioning
- ./dashboards:/var/lib/grafana/dashboards
depends_on:
- prometheus
environnement:
# définir l'espace réservé dans le tableau de bord, au nom réel de la source de données
- "DS_PROMETHEUS=Prometheus"
# définir l'utilisateur administrateur par défaut de grafana
- "GF_SECURITY_ADMIN_USER=${GF_SECURITY_ADMIN_USER}"
# définir le mot de passe de l'administrateur par défaut de grafana
- "GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD}"
réseaux:
relution-network:
ports:
- "${PORT_GRAFANA:-3000}:3000"
expose:
- "3000"
logging:
driver: "json-file"
options:
max-size: "${DOCKER_GRAFANA_LOGSIZE:-8m}"
max-file: "4"
compress: "true"
Dans le fichier docker-compose.yml, les ports pour Prometheus et Grafana sont définis à 9090 et 3000 respectivement.
Cette section peut être insérée dans le fichier docker-compose.yml existant pour l’exemple.
Ajustement du fichier .env
Pour des raisons de sécurité, il est recommandé d’ajuster le paramètre password.
GF_SECURITY_ADMIN_USER=admin
GF_SECURITY_ADMIN_PASSWORD=motdepasse
Paramètres de la base de données prometheus.yml
global:
# Intervalle d'analyse par défaut
scrape_interval: 15s
scrape_configs:
# Job pour récupérer les métriques Prometheus
- job_name: "prometheus"
scrape_interval: 5s
static_configs:
- targets: ["localhost:9090"]
- job_name: "relution"
# Job pour récupérer les métriques de l'application
metrics_path: "/actuator/prometheus"
scrape_interval: 5s
static_configs:
# Appeler le docker host à l'intérieur du conteneur
- targets: ["relution:8099"]
Dans notre configuration concrète, la dernière ligne doit contenir le nom du conteneur et le port 8099, dans ce cas relution:8099.
Avec la commande docker ps, le nom et le port du conteneur utilisé peuvent être vérifiés et ajustés si nécessaire.
Lorsque les conteneurs sont téléchargés et démarrés avec docker compose down ou docker compose up -d, l’interface Grafana est accessible sous IP du serveur et port 3000.
Deux tableaux de bord sont maintenant disponibles.
Tableaux de bord
Tableau de bord du serveur Relution :

Tableau de bord par défaut de Spring Boot :

Voici la configuration et le guide SSH traduits en français, structurés en Markdown.
Configuration pour Serveur Distant
Dans ce scénario, Grafana est également exploité via un conteneur Docker. Des ajustements spécifiques sont nécessaires pour lire correctement les métriques. La différence majeure avec la configuration locale est que ce setup communique avec l’instance Relution via HTTPS.
Préparation dans Relution
Avant de démarrer les conteneurs, un utilisateur correspondant doit être créé dans Relution :
- Organisation : L’utilisateur doit impérativement être créé au sein de l’Organisation Globale.
- Autorisation : Attribuez à l’utilisateur le droit Health Check (ou État du système).
- Authentification : L’accès doit se faire via Basic Authentication.
- Les comptes utilisateurs avec OIDC (Single Sign-On) ne fonctionnent pas pour cet usage.
- L’authentification multifacteur (MFA) doit être désactivée pour ce compte.
Téléchargement et Extraction
Téléchargez les fichiers de configuration préparés:
Grafana Setup →
Extrayez l’archive dans le répertoire de votre choix sur le serveur cible.
Adaptation des fichiers de configuration
Fichier : compose.yml
Modifiez les variables d’environnement pour l’accès administratif à l’interface Grafana :
GF_SECURITY_ADMIN_USER: Le nom d’utilisateur administrateur de votre choix.GF_SECURITY_ADMIN_PASSWORD: Un mot de passe sécurisé pour la connexion à Grafana.
Fichier : prometheus.yml
Ce fichier définit la connexion à l’interface Relution. Remplacez les espaces réservés par vos données spécifiques :
| Paramètre | Description |
|---|---|
$SERVER_URL | L’URL externe de votre serveur Relution (important : sans le préfixe https://). |
username | Le nom d’utilisateur créé à l’étape 1 dans Relution. |
password | Le mot de passe correspondant de l’utilisateur. |
Déploiement
Une fois la configuration terminée, les conteneurs peuvent être démarrés. Exécutez la commande suivante dans le répertoire :
docker compose up -d
Remarques sur l’accès :
- Grafana est accessible par défaut via le port 3000.
- Selon la sécurisation du serveur, l’accès est possible directement via l’IP/domaine ou de manière sécurisée via un tunnel SSH.
Pour accéder à Grafana en toute sécurité via un tunnel SSH, vous pouvez utiliser la redirection de port. Ceci est particulièrement utile si le port 3000 est bloqué par le pare-feu du serveur.
Établir le tunnel SSH
Exécutez la commande suivante dans votre terminal local (Windows PowerShell, macOS ou Linux) :
ssh -L 3000:localhost:3000 nom_utilisateur@ip-de-votre-serveur
Explication des paramètres :
-L 3000:localhost:3000: Redirige le port 3000 de votre machine locale vers le port 3000 du serveur distant.nom_utilisateur: Votre utilisateur SSH sur le serveur.ip-de-votre-serveur: L’adresse IP ou le nom d’hôte de votre serveur distant.
Accès à l’interface
- Laissez la fenêtre du terminal avec la connexion SSH active ouverte.
- Ouvrez votre navigateur web.
- Saisissez dans la barre d’adresse :
http://localhost:3000 - Connectez-vous avec les identifiants définis dans le fichier
compose.yml(GF_SECURITY_ADMIN_USERetGF_SECURITY_ADMIN_PASSWORD).