Outils pour utilisateurs

Outils du site


software:applications:prometheus:installation_docker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
software:applications:prometheus:installation_docker [2021/08/11 14:05] yoannsoftware:applications:prometheus:installation_docker [2023/02/14 18:07] (Version actuelle) yoann
Ligne 4: Ligne 4:
  
  
-===== Test =====+===== Tester l'image =====
  
-On peut rapidement tester le fonctionnement d'un serveur Prometheus:+On peut rapidement tester le fonctionnement d'un serveur Prometheus avec la commande:
  
 <code bash> <code bash>
Ligne 12: Ligne 12:
 </code> </code>
  
-La commande ci-dessus se charge de télécharger l' image et de créer un conteneur. L'interface d'administration web est accessible sur le port 9090+La commande ci-dessus se charge de télécharger l' image et de créer un conteneur avec une configuration simpleLe 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
 +
 +<code bash>
 +# 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
 +</code>
 +
 +Création d'un volume distinct pour le stockage des données:
 +<code bash>
 +$ docker volume create prometheus_data
 +</code>
 +
 +Création d'un réseau dédié:
 +<code bash>
 +$ docker network create vnet-prometheus
 +</code>
 +
 +<file YAML dc-prometheus.yml>
 +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
 +</file>
 +
 +Pour lancer le service:
 +<code bash>
 +$ docker-compose -f dc-prometheus.yml up -d prometheus
 +</code>
 +
 +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:
 +<code>
 +$ docker-compose -f dc-prometheus.yml down
 +</code>
 +
 +===== 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:
 +
 +<file YAML>
 +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"
 +</file>
 + 
 ===== Références ===== ===== Références =====
  
 +  * https://hub.docker.com/r/prom/prometheus
   * https://prometheus.io/docs/prometheus/latest/installation/#using-docker   * https://prometheus.io/docs/prometheus/latest/installation/#using-docker
  
software/applications/prometheus/installation_docker.1628690723.txt.gz · Dernière modification : 2021/08/11 14:05 de yoann