7.2.10.1.2. Configuration / fichiers utiles

7.2.10.1.2.1. Fichier de configuration

prometheus.yml

#jinja2: lstrip_blocks: True
# my global config
global:
  scrape_interval: {{ prometheus.server.scrape_interval | default(15) }}s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: {{ prometheus.server.evaluation_interval | default(15) }}s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
{% if groups['hosts_alertmanager'] | default([]) | length > 0 %}

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
      {% for item in groups['hosts_alertmanager'] %}
      - targets: ["{{ hostvars[item]['ip_admin'] }}:{{ prometheus.alertmanager.api_port | default(9093) }}"]
        labels:
          hostname: {{ item.split(".")[0] }}
      {% endfor %}
{% endif %}

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - rules/*.yml

# Scrape config files specifies a list of globs.
# Scrape configs are read from all matching files and appended to the list of scrape configs.
scrape_config_files:
  - scrape_configs/*.yml

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  - job_name: vitam-prometheus
    metrics_path: {{ prometheus.server.metrics_path | default('/prometheus/metrics') }}
    static_configs:
{% for item in groups['hosts_prometheus'] %}
      - targets: ["{{ hostvars[item]['ip_admin'] }}:{{ prometheus.server.port | default(9090) }}"]
        labels:
          hostname: {{ item.split(".")[0] }}
{% endfor %}

7.2.10.1.2.2. Fichier de variable d’environnement

#jinja2: lstrip_blocks: True
# my global config
global:
  scrape_interval: {{ prometheus.server.scrape_interval | default(15) }}s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: {{ prometheus.server.evaluation_interval | default(15) }}s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
{% if groups['hosts_alertmanager'] | default([]) | length > 0 %}

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
      {% for item in groups['hosts_alertmanager'] %}
      - targets: ["{{ hostvars[item]['ip_admin'] }}:{{ prometheus.alertmanager.api_port | default(9093) }}"]
        labels:
          hostname: {{ item.split(".")[0] }}
      {% endfor %}
{% endif %}

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - rules/*.yml

# Scrape config files specifies a list of globs.
# Scrape configs are read from all matching files and appended to the list of scrape configs.
scrape_config_files:
  - scrape_configs/*.yml

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  - job_name: vitam-prometheus
    metrics_path: {{ prometheus.server.metrics_path | default('/prometheus/metrics') }}
    static_configs:
{% for item in groups['hosts_prometheus'] %}
      - targets: ["{{ hostvars[item]['ip_admin'] }}:{{ prometheus.server.port | default(9090) }}"]
        labels:
          hostname: {{ item.split(".")[0] }}
{% endfor %}

7.2.10.1.2.3. Fichiers de données

Ce service utilise des fichiers de données localisés dans le répertoire /vitam/data/prometheus/

7.2.10.1.2.4. Règles livrées avec la solution VITAM

7.2.10.1.2.4.1. État de la machine

  • Remonte une alerte critique si une machine n’est pas joignable depuis plus d’une minute

7.2.10.1.2.4.2. Processeur

  • Remonte une alerte d’avertissement si la consommation globale du processeur d’une machine est à plus de 75% depuis 10 minutes
  • Remonte une alerte critique si la consommation globale du processeur d’une machine est à plus de 90% depuis 10 minutes

7.2.10.1.2.4.3. Mémoire

  • Remonte une alerte d’avertissement si la consommation de la mémoire d’une machine est à plus de 75% depuis 10 minutes
  • Remonte une alerte critique si la consommation de la mémoire d’une machine est à plus de 90% depuis 10 minutes

7.2.10.1.2.4.4. Disque

  • Remonte une alerte d’avertissement si la consommation de l’espace disque de la partition root d’une machine est à plus de 75% depuis 10 minutes
  • Remonte une alerte d’avertissement si la consommation de l’espace disque de la partition Vitam d’une machine est à plus de 75% depuis 10 minutes
  • Remonte une alerte critique si la consommation de l’espace disque de la partition root d’une machine est à plus de 90% depuis 10 minutes
  • Remonte une alerte critique si la consommation de l’espace disque de la partition Vitam d’une machine est à plus de 90% depuis 10 minutes

7.2.10.1.2.5. Ajout de nouvelles règles

Afin d’ajouter de nouvelles règles, il suffit de déposer les nouveaux fichiers de règles dans le répértoire suivant : deployment/ansible-vitam-extra/roles/prometheus-server/rules/

Puis d’exécuter la commande suivante :

ansible-playbook ansible-vitam-extra/prometheus.yml -i environments/hosts.<environnement> --ask-vault-pass