{{tag>netadmin sysadmin monitoring supervision prometheus docker install}}
====== Installer Prometheus via Docker ======
===== Tester l'image =====
On peut rapidement tester le fonctionnement d'un serveur Prometheus avec la commande:
docker run --rm --detach --name promtest -p 9090:9090 prom/prometheus:v2.29.0
La commande ci-dessus se charge de télécharger l' image et de créer un conteneur avec une configuration simple. Le service est exposé sur le port 9090.
Prometheus expose lui même des métriques consultables à l'URL http://localhost:9090/metrics
===== Intégration docker-compose =====
Ci-dessous un exemple de définition d'un service via docker-compose
# creation du répertoire dédié au service
$ mkdir -p prometheus/conf
# Extraction de la configuration par défaut d'un conteneur jetable
$ docker container run --rm --detach --name promtest -p 9090:9090 prom/prometheus:v2.29.0
$ docker cp promtest:/etc/prometheus/prometheus.yml prometheus/conf
$ docker container stop promtest
Création d'un volume distinct pour le stockage des données:
$ docker volume create prometheus_data
Création d'un réseau dédié:
$ docker network create vnet-prometheus
version: "3.3"
networks:
vnet-prometheus:
external:
name: vnet-prometheus
volumes:
prometheus_data:
external: true
services:
prometheus:
image: prom/prometheus:v2.29.0
restart: unless-stopped
ports:
- 9090:9090
environment: {}
networks:
- vnet-prometheus
volumes:
- type: bind
source: $PWD/prometheus/conf/prometheus.yml
target: /etc/prometheus/prometheus.yml
read_only: true
# Volume de stockage indépendant pour les données
- type: volume
source: prometheus_data
target: /prometheus
read_only: false
Pour lancer le service:
$ docker-compose -f dc-prometheus.yml up -d prometheus
A ce stade, le service est fonctionnel. Le fichier de configuration minimal est éditable directment dans ./prometheus/conf/prometheus.yml. Le serveur Prometheus exporte et enregistre ses propres métriques.
Pour arrêter le service:
$ docker-compose -f dc-prometheus.yml down
===== Les options =====
Lors du lancement de Prometheus, de nombreuses options peuvent être définies sur la ligne de commande. Pour visualiser l'état des options consulter la page
==== Période de rétention ====
Par défaut la période de rétention des données est de 15 jours. Cette période peut être modifiée via l'option **%%--storage.tsdb.retention%%**. Dans l'extrait ci-dessous le docker-compose utilise l'option pour redéfinir la période de rétention par défaut:
version: "3.3"
...
services:
prometheus:
image: prom/prometheus:v2.29.0
restart: unless-stopped
ports: []
environment: {}
command:
- "--config.file=/etc/prometheus/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/usr/share/prometheus/console_libraries"
- "--web.console.templates=/usr/share/prometheus/consoles"
- "--web.enable-admin-api"
- "--storage.tsdb.retention=90d"
===== Références =====
* https://hub.docker.com/r/prom/prometheus
* https://prometheus.io/docs/prometheus/latest/installation/#using-docker