GNU/Linux >> Tutoriels Linux >  >> Linux

Surveiller le serveur Linux en utilisant Prometheus et Grafana

Aperçu

Surveillez le serveur Linux en utilisant Prometheus et Grafana. Nous allons couvrir le processus de surveillance du serveur Linux avec prometheus et grafana à l'aide de Docker. L'ensemble de l'installation sera installé et configuré sur Debian 10 Buster et Docker, mais cela peut également être fait et fonctionnera sur le serveur Ubuntu ou toute autre distribution Linux exécutant Docker. Avec cette configuration, nous pourrons suivre et surveiller les ressources sur notre serveur (machine hôte) - utilisation du processeur, utilisation de la RAM, SWAP, réseau, espace disque, etc.

Petit avertissement - Nous aimerions mentionner une autre solution de surveillance dans le monde informatique, pour vous offrir des options qui répondent à vos besoins, qui ont des fonctionnalités de niveau entreprise et qui sont toujours open-source (si vous en avez besoin) et c'est Zabbix. Nous avons couvert le processus d'installation et la configuration sur ce post.

Prérequis

Cette configuration nécessite que Docker soit installé et exécuté sur votre machine. Vous pouvez consulter ce lien pour installer Docker sur Debian ou consulter la documentation officielle de Docker.

Une autre façon d'installer Docker consiste à utiliser le script officiel d'installation automatique de Docker qui est hébergé sur Docker.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Comment surveiller le serveur Linux à l'aide de Prometheus et Grafana et Docker

Installer l'exportateur de nœud

1. Après avoir installé et exécuté Docker, la première étape de la configuration consiste à installer l'outil Node Exporter. Node Exporter est la partie moniteur de Prometheus et son but est de rassembler toutes les données de votre machine afin que Prometheus puisse les récupérer. Node Exporter est également fourni dans un conteneur Docker, la configuration sera donc simple.

docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host

Vous pouvez facilement vérifier si l'exportateur de nœud fonctionne correctement. Dans le navigateur, ouvrez l'URL de l'exportateur de nœud - http://your-server-ip-adress:9100 et si vous voyez un répertoire de métriques contenant des données, cela signifie qu'il fonctionne.

Une autre façon de le tester est avec la commande :

curl localhost:9100/metrics

ou

curl http://your-server-ip-address:9100/metrics

Créer une configuration Prometheus YAML

2. Nous devons maintenant créer un fichier de configuration Promethes YAML. Créez ce fichier là où vous voulez le placer sur le serveur, mais pour le bien de la publication, plaçons-le dans le répertoire personnel.

Vous pouvez effectuer cette étape comme ceci :

sudo touch ~/prometheus/prometheus.yml
sudo nano ~/prometheus/prometheus.yml

ou tout de suite

sudo nano ~/prometheus/prometheus.yml

puis collez la configuration, enregistrez le fichier et quittez.

global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.100.252:9090']
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.100.252:9100']

À la variable cibles, notez l'adresse IP de votre serveur.

Déployer le conteneur Prometheus Docker

3. L'étape suivante consiste à installer Prometheus, également avec Docker. Exécutez la commande suivante et faites attention au chemin d'accès au fichier prometheus.yml :

docker run -d --name prometheus -p 9090:9090 -v ~/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

Nous allons décomposer la commande pour l'expliquer plus en détail :

  • docker run -d –name prometheus -p 9090:9090 – cette partie de la commande devrait être compréhensible pour beaucoup – exécutez une image Docker, nommez-la prometheus et exposez le port de conteneur 9090 au même port sur le serveur hôte.
  • -v ~/prometheus/prometheus/yml:/etc/prometheus/prometheus/yml - c'est la partie la plus importante de la commande lors de l'installation de prometheus. Sur cette partie de la commande, nous disons à Prometheus d'utiliser le fichier prometheus.yml que nous avons créé à l'étape précédente et où il se trouve sur le serveur hôte (répertoire personnel dans cet exemple) afin de se configurer avec les paramètres que nous avons set et de placer le même fichier de configuration dans le répertoire /etc du conteneur Prometheus Docker.
  • prom/prometheus - il s'agit d'une variable pour Docker quelle image Docker du Docker télécharger et installer.

Vous pouvez également vérifier si Prometheus s'exécute via un navigateur Web en ouvrant également l'adresse IP de votre serveur avec le port 9090.  Vous devriez obtenir un résultat comme dans les images ci-dessous :

Déployer le conteneur Grafana Docker

4. Nous pouvons maintenant installer Grafana. Nous allons également Grafana avec le conteneur Docker.

docker run -d --name=grafana -p 3456:3000 grafana/grafana

Accédez au Grafana dans votre navigateur Web. Il vous demandera de vous connecter immédiatement. Le nom d'utilisateur et le mot de passe par défaut sont admin. C'est une connexion temporaire. Dès que vous vous connectez, le Grafana vous demandera de changer immédiatement le mot de passe.

Créer une source de données et un tableau de bord

Après la connexion, nous devons créer un tableau de bord de surveillance et créer une nouvelle source de données que Grafana utilisera. Donc, nous allons d'abord créer la source de données. Sur la page d'accueil de Grafana, cliquez sur l'option - ajoutez votre première source de données.

Choisissez que l'option de source de données soit Prometheus - Ce sera la première option disponible immédiatement.

Nommez la source de données comme vous le souhaitez. Dans le champ de saisie de l'URL, saisissez l'adresse IP de votre serveur avec le port Prometheus 9090 et HTTP. Comme dans l'image ci-dessous.

Enregistrez et testez la source de données, si tout va bien, une invite apparaîtra indiquant que la source de données fonctionne.

Maintenant, pour configurer notre tableau de bord de surveillance de serveur. Vous pouvez créer un nouveau tableau de bord à partir de zéro comme vous le souhaitez (cela prend du temps), mais vous pouvez également consulter le site Grafana et voir les tableaux de bord déjà créés par la communauté Grafana. Dans cet exemple, nous allons faire exactement cela, importer un tableau de bord existant. Il existe de nombreux tableaux de bord Grafana pour la surveillance des serveurs qui utilisent Prometheus et Node Exporter. Celui que nous allons utiliser pour cet exemple est celui-ci.

Ainsi, une fois que vous accédez à l'option d'importation du tableau de bord, il nous suffit de saisir l'ID du tableau de bord du site Grafana - dans cet exemple, il s'agit de 1860. Nommez le tableau de bord et également la partie importante - pour sélectionner le Prometheus comme source de données pour cela tableau de bord. Ensuite, cliquez simplement sur le bouton d'importation et c'est tout, le résultat final du tableau de bord présenté ci-dessous.

À la fin de l'installation, nous devrions être en mesure de surveiller le serveur Linux en utilisant prometheus et grafana, tous exécutés dans Docker.

Résumé

Il s'agissait du processus de configuration de la surveillance du serveur et de la surveillance du serveur Linux à l'aide de Prometheus, Grafana et Docker. Cela peut être une configuration de moniteur très puissante, car vous pouvez surveiller les conteneurs Docker, plusieurs serveurs hôtes et également configurer les notifications par e-mail de Prometheus.

Merci beaucoup pour votre temps et j'espère que vous avez trouvé le message utile…


Linux
  1. Communication inter-processus sous Linux :Sockets et signaux

  2. État du système et du serveur

  3. Installation et configuration de Grafana sous Linux

  4. Surveiller le serveur Linux avec Prometheus et Grafana

  5. Comment surveiller et enregistrer le trafic réseau sous Linux à l'aide de vnStat

Surveiller et administrer les serveurs Linux à l'aide de Cockpit via un navigateur Web

Comment surveiller les modifications de fichiers à l'aide de fswatch sous Linux

Comment surveiller le serveur Linux et les métriques à partir du navigateur à l'aide de Scout Realtime

30 outils et services intéressants pour surveiller vos serveurs Linux

Utilisation d'Ajenti dans la gestion des serveurs Linux

Comment configurer le serveur et le client VPN Linux à l'aide d'OpenVPN