Blog & Astuces

Monitorer son serveur avec Grafana et Prometheus - Monitorer les processus de son serveur

Monitorer son serveur avec Grafana et Prometheus - Monitorer les processus de son serveur

Tuto

Dans ce tutoriel, je vais présenter comment monitorer les processus de votre serveur Linux, et notamment l'utilisation en ressources de ces processus.

Pré-requis

Introduction

La mise en place du monitoring des processus de votre serveur va vous permettre d'avoir une vue dans Grafana de l'utilisation des ressources par ces processus, mais également un classement des processus par leur utilisation des ressources processeur, comme sur l'image d'illustration de l'article.

Mise en place de process-exporter

Nous allons ici mettre en place le petit utilitaire process-exporter qui va recueillir les données sur les processus, les envoyer à Prometheus et les exposer à Grafana.

Créer un fichier docker-compose.yml, ou modifiez le fichier docker-compose.yml de Prometheus comme suit :

version: "3"

services:
  process-exporter:
    image: ncabatoff/process-exporter:latest
    container_name: process-exporter
    hostname: process-exporter
    restart: unless-stopped
    privileged: true
    expose:
      - "9256"
    networks:
      - grafana_prometheus
    volumes:
      - /proc:/host/proc:ro
      - ./process-exporter-config:/config
    command:
      - '-procfs=/host/proc'
      - '-config.path=/config/config.yml'

Ici grafana_prometheus correspond au nom du réseau Docker qui héberge l'instance de Prometheus et de Grafana. Il faut que les 3 applications communiquent ensemble.

Modifiez ensuite le fichier prometheus.yml et ajoutez les données suivantes à la fin du fichier, après scrape_configs :

scrape_configs:
  - job_name: process-exporter
    scrape_interval: 30s
    static_configs:
      - targets: ['process-exporter:9256']

process-exporter ici correspond au hostname du container.

Ensuite, créez le dossier process-exporter-config, puis dans ce dossier, créez un fichier config.yml avec ce contenu :

process_names:
  - name: "{{.Comm}}"
    cmdline:
    - '.+'

Démarrez le container de process-exporter avec docker-compose up -d et redémarrez prometheus.

Configuration de Grafana

Configuration du tableau de bord de Process Exporter

Télécharger le dashboard suivant puis importez-le dans Grafana : https://www.eliastiksofts.com/grafana-process-dashboard/downloads/

Si tout s'est bien passé, vous devriez voir s'afficher le dashboard avec les données des processus de votre système, comme affiché dans l'image d'illustration de l'article.

Commentaires