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
Prometheus
etGrafana
.
- Contient les configurations des conteneurs Docker
- prometheus.yml
- Contient la configuration de
Prometheus
.
- Contient la configuration de
- .env
- Contient les variables
GF_SECURITY_ADMIN_USER
etGF_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 :