Métriques système

On veut collecter des métriques systèmes (CPU, RAM, disque, réseau, etc.) sur les différentes machines virtuelles. Pour cela on va utiliser le Prometheus Node Exporter, qui est un exporter officiellement maintenu par Prometheus et qui exporte une très grande quantité de métriques système.

Pour installer le node_exporter, on fait simplement

snippet.bash
apt-get install prometheus-node-exporter

On peut vérifier que le service est bien activé et fonctionne avec systemctl status prometheus-node-exporter

Si on souhaite une version plus récente de l’exporter que celle dans les repositories Debian (par exemple si on est encore sur Debian 9) on peut simplement remplacer le binaire (se trouvant de base dans /usr/bin/prometheus-node-exporter) par une version récupérées dans les Release github.

Le node-exporter va exposer des métriques sur le port 9100 de la machine. Ceci signifie que n’importe qui peut récupérer les métriques du serveur. Il est donc nécessaire de configurer du filtrage pour n’autoriser que l’IP de notre serveur de monitoring.
Si UFW a bien été configuré à l'installation du serveur c’est chose faites. Sinon il faut ajouter la règle suivante :

snippet.bash
ufw allow proto tcp from 91.224.148.61 to any port 9100
ufw allow proto tcp from 2a03:7220:8080:3d00::1 to any port 9100

Du côté de vmagent, il faut ajouter une entrée dans le fichier de configuration Prometheus. Pour cela on va ajouter une entrée dans la section scrape_config du fichier (TODO lien vers le fichier Prometheus sur Gitlab) :

snippet.yaml
scrape_configs:
===== Configuration serveur =====
 
TODO fix vu que la doc est versionnée
Sur le serveur Prometheus, il faut ajouter une entrée dans la liste des ''scrape_config''. Pour cela on va sur la VM ''monitoring'' et on édite le fichier ''/DATA/docker/prometheus/config/prometheus.yml'' pour ajouter la configuration suivante :

scrape_configs:
  - job_name: 'pica01'
    static_configs:
    - targets: 
      - 'pica01.picasoft.net:9100'
    relabel_configs:
    - source_labels: [__address__]
      regex: '.*'
      target_label: instance
      replacement: 'pica01'
  • technique/adminsys/monitoring/collect/system_metrics.1605486400.txt.gz
  • de kyane