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
- Un serveur Linux
- Avoir installé Docker, Grafana et Prometheus sur le serveur. Vous pouvez vous reporter sur mon précédent tutoriel pour voir comment installer Grafana avec Docker. Vous pouvez vous reporter sur cet autre tutoriel pour installer Prometheus.
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