Prometheus et system

Il est assez simple de récupérer des métriques pour le system en utilisant node-exporter

Node-exporter permet d’avoir les métriques système sur l’url 127.0.0.1:9100

Il est disponible sous forme de container

Exemple de fichier docker-compose comportant le serveur Prometheus et node-exporter

version: '2'
services:
    promotheus:
        image: "prom/prometheus"
        volumes:
            - ./promotheus/prometheus.yml:/etc/prometheus/prometheus.yml
        ports:
            - "9090:9090"
    system:
        image: prom/node-exporter
        ports:
            - "9100:9100"

le fichier de configuration de prometheus

global:
  scrape_interval: 5s
  evaluation_interval: 5s
scrape_configs:
  - job_name: system
    static_configs:
      - targets: ['system:9100']

Dans notre cas pour voir les métriques utilisés les url http://127.0.0.1:9100/metrics

L’usage des métriques est assez compliqué par exemple pour avoir accès à la valeur cpu

100 - (avg by (instance) (irate(node_cpu_seconds_total{job="system",mode="idle"}[5m])) * 100)

il existe pour grafana des dashboard déjà fait https://grafana.com/dashboards/718