Configuration / fichiers utiles
###############################

Fichier de configuration
========================

``prometheus.yml``

.. literalinclude:: ../../../../../../deployment/ansible-vitam-extra/roles/prometheus-server/templates/prometheus.yml.j2
   :language: console

Génération du fichier de configuration
======================================

Dans le cas où un serveur Prometheus est déjà en place, il est possible de générer le fichier de configuration ``prometheus.yml`` depuis l'inventaire de l'environnement de la solution VITAM.

Pour se faire, depuis la machine Ansible, se placer dans le répertoire ``path_to/vitam/deploiement/`` et exécuter la ligne de commande suivante :

.. code-block:: bash

   # Spécifier le répertoire de sortie dans le fichier cots_var.yml {{ prometheus.prometheus_config_file_target_directory: path_dir_output }}
   ansible-playbook ansible-vitam-extra/prometheus.yml -i environments/hosts.<environnement> --ask-vault-pass --tags gen_prometheus_config

Le fichier de configuration est alors généré dans le répertoire de sortie avec le nom ``prometheus.yml``. Il suffit de récupérer les parties nécessaires, comme par exemple ``scrape_configs``, et de les intégrer à la configuration du serveur Prometheus déjà existant.

.. warning:: Les flux réseau entre le serveur Prometheus existant et les différents machines hébergeant le solution VITAM doivent être ouverts sur la patte d'administration.

Fichier de variable d'environnement
===================================

.. literalinclude:: ../../../../../../deployment/ansible-vitam-extra/roles/prometheus-server/templates/prometheus.yml.j2
   :language: console

Fichiers de données
===================

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

Règles livrées avec la solution VITAM
=====================================

Etat de la machine
------------------

* Remonte une alerte critique si une machine n'est pas joignable depuis plus d'une minute

.. literalinclude:: ../../../../../../deployment/ansible-vitam-extra/roles/prometheus-server/rules/state.yml
   :language: console

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

.. literalinclude:: ../../../../../../deployment/ansible-vitam-extra/roles/prometheus-server/rules/cpu.yml
   :language: console

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

.. literalinclude:: ../../../../../../deployment/ansible-vitam-extra/roles/prometheus-server/rules/memory.yml
   :language: console

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

.. literalinclude:: ../../../../../../deployment/ansible-vitam-extra/roles/prometheus-server/rules/disk.yml
   :language: console

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 :

.. code-block:: bash

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

