Comment installer Prometheus Monitoring et node_exporter sur CentOS 8

Prometheus est un système de surveillance open source qui te permet de collecter des métriques à partir de n’importe quel système cible configuré. Prometheus met en œuvre un modèle de données multidimensionnel avec des requêtes puissantes, une excellente visualisation, des alertes précises et est livré avec de nombreuses intégrations.

Prometheus a été créé à l’origine par SoundCloud en 2012, mais est devenu un projet open source indépendant maintenu par la communauté open source – tous les composants sont disponibles sous la licence Apache 2 sur Github.

Dans ce tutoriel, je te montrerai comment installer et configurer Prometheus et le node_exporter. Nous allons installer le système de surveillance Prometheus, puis configurer le node_exporter pour collecter les métriques du serveur. Nous utiliserons le dernier serveur CentOS 8 pour ce tutoriel.

Conditions préalables

  • Serveur CentOS 8
  • Privilèges de racine

Que ferons-nous ?

  • Créer un nouvel utilisateur et télécharger Prometheus
  • Configurer Prometheus comme un service Systemd
  • Configurer Firewalld
  • Installer et configurer node_exporter
  • Ajoute node_exporter au serveur Prometheus
  • Test de

Étape 1 – Créer un nouvel utilisateur et télécharger Prometheus

Dans ce tutoriel, le service Prometheus sera exécuté en tant qu’utilisateur non root. Nous devons donc créer un nouvel utilisateur non root sur le système. Nous allons créer un nouvel utilisateur nommé ‘prometheus’, et tous les services Prometheus seront exécutés sous l’utilisateur Prometheus.

Crée un nouvel utilisateur ‘prometheus’ à l’aide de la commande ci-dessous.

useradd -m -s /bin/bash prometheus

Un nouvel utilisateur a été créé. Connecte-toi maintenant à l’utilisateur et télécharge prometheus à l’aide de la commande wget.

su - prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.13.1/prometheus-2.13.1.linux-amd64.tar.gz

Télécharge le code source de Prometheus

Extrais le fichier prometheus-xx.x.x.tar.gz et renomme le répertoire en ‘prometheus’.

tar -xf prometheus-2.13.1.linux-amd64.tar.gz
mv prometheus-2.13.1.linux-amd64/ prometheus/

Ensuite, crée un nouveau répertoire ‘data’ qui sera utilisé comme stockage ‘tsdb’.

mkdir -p ~/prometheus/data

Maintenant, Prometheus est téléchargé sur le serveur et tous les fichiers Prometheus se trouvent dans le répertoire ‘/home/prometheus/prometheus’.

Extrais le fichier d'archive

Étape 2 – Configurer Prometheus comme un service Systemd

Dans cette étape, nous allons configurer prometheus comme un service systemd. Nous allons créer un nouveau fichier de service prometheus.service dans le répertoire ‘/etc/systemd/system’.

Va dans le répertoire ‘/etc/systemd/system/’ et crée un nouveau fichier de service ‘prometheus.service’ en utilisant l’éditeur vim.

cd /etc/systemd/system/
vim prometheus.service

Colle la configuration du service prometheus ci-dessous.

[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target

[Service]
User=prometheus
Restart=on-failure

#Change this line if you download the
#Prometheus on different path user
ExecStart=/home/prometheus/prometheus/prometheus \
  --config.file=/home/prometheus/prometheus/prometheus.yml \
  --storage.tsdb.path=/home/prometheus/prometheus/data

[Install]
WantedBy=multi-user.target

Sauvegarde et quitte.

Recharge maintenant le système systemd à l’aide de la commande systemctl ci-dessous.

systemctl daemon-reload

Démarre le service prometheus et active-le pour qu’il se lance à chaque fois au démarrage du système.

systemctl start prometheus
systemctl enable prometheus

Configurer le service prometheus dans systemd

Prometheus fonctionne maintenant comme un service systemd, vérifie-le à l’aide de la commande ci-dessous.

systemctl status prometheus

Assure-toi que tu obtiens le statut de service ‘Running’.

Ou vérifie-le à l’aide de la commande netstat ci-dessous.

netstat -plntu

Vérifie que tu obtiens le résultat indiqué ci-dessous.

Vérifie l'état du service prometheus

Prometheus fonctionne par défaut sur le port ‘9090’.

Étape 3 – Configurer Firewalld

Si tu utilises Firewalld sur ton système, ajoute le port 9090 à la liste des ports de Firewalld.

Ouvre le port 9090 pour l’accès à Prometheus en utilisant les commandes firewall-cmd ci-dessous.

firewall-cmd --add-port=9090/tcp --permanent
firewall-cmd --reload

Vérifie maintenant les règles de firewalld.

firewall-cmd --list-all

Tu verras que le port TCP ‘9090’ figure dans la liste.

Configurer firewalld

Ensuite, ouvre ton navigateur Web et tape l’adresse IP du serveur avec le port 9090.

http://10.5.5.15:9090/graph

Tape ‘prometheus_http_requests_total’ dans le champ de requête et clique sur le bouton ‘Execute’.

Tableau de bord du moniteur système Prometheus

Tu verras les requêtes HTTP adressées au serveur prometheus avec toutes les informations concernant l’heure, le code d’état HTTP, la méthode, etc.

Étape 4 – Installe et configure node_exporter

node_exporter est un exportateur de métriques de machine qui peut fonctionner sur le système *Nix et Linux.

Dans ce tutoriel, nous allons installer le node_exporter sur le même serveur que prometheus. Nous allons surveiller et obtenir les métriques du serveur prometheus.

Connecte-toi à l’utilisateur prometheus et télécharge le ‘node_exporter’ à l’aide de la commande wget.

su - prometheus
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

Extrait le node_exporter et renomme le répertoire en ‘node_exporter’.

tar -xf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64 node_exporter

Installe et configure node_exporter

Ensuite, nous allons créer un nouveau fichier de service pour le node_exporter. Retourne dans le shell racine, accède au répertoire ‘/etc/systemd/system’ et crée le nouveau fichier de service de node_exporter ‘node_exporter.service’ en utilisant vim.

cd /etc/systemd/system/
vim node_exporter.service

Colle la configuration suivante.

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
ExecStart=/home/prometheus/node_exporter/node_exporter

[Install]
WantedBy=default.target

Sauvegarde et quitte.

Recharge maintenant le système systemd.

systemctl daemon-reload

Ensuite, démarre le service node_exporter et active-le pour qu’il se lance à chaque fois au démarrage du système.

systemctl start node_exporter
systemctl enable node_exporter

Démarre l'exportateur de nœuds

Le service node_exporter fonctionne maintenant sur le serveur – vérifie-le à l’aide de la commande netstat.

systemctl status node_exporter
netstat -plntu

Et tu verras que node_exporter est en marche sur le port par défaut 9100.

Vérifie l'état du node_exporter

Étape 5 – Ajouter node_exporter au serveur Prometheus

Dans cette étape, nous allons ajouter le node_exporter au serveur Prometheus. Connecte-toi à l’utilisateur prometheus et modifie le fichier de configuration ‘prometheus.yml’.

Connecte-toi à l’utilisateur prometheus.

su - prometheus

Va dans le répertoire ‘prometheus’ et modifie le fichier de configuration ‘prometheus.yml’.

cd ~/prometheus/
vim prometheus.yml

Sous la ligne ‘scrape_config’, ajoute un nouveau nom de travail node_exporter en copiant-collant la configuration ci-dessous.

  - job_name: 'node_exporter'
    static_configs:
    - targets: ['localhost:9100']

Sauvegarde et quitte.

Redémarre maintenant le service Prometheus.

systemctl restart prometheus

Le node_exporter a été ajouté au serveur prometheus.

Redémarre le service prometheus

Étape 6 – Test de Prometheus et de node_exporter

Ouvre ton navigateur Web, puis saisis l’adresse IP du serveur.

http://10.5.5.15:9090/

Saisis le collecteur meminfo ‘node_memory_MemAvailable_bytes’ dans le champ de requête et clique sur le bouton ‘Execute’.

Tu obtiendras le résultat ci-dessous.

Test Prometheus

Tu obtiendras la mémoire disponible sur l’instance de serveur ‘localhost:9100’, et le nom de travail ‘node-exporter’.

Ou si tu veux accéder aux données brutes de node_exporter, tu dois ajouter le port 9100 de node_exporter au firewalld.

firewall-cmd --add-port=9100/tcp --permanent
firewall-cmd --reload

Et ensuite, tape l’adresse IP du serveur avec le port 9100.

http://10.5.5.15:9100/metrics

Et tu obtiendras les données brutes de node_exporter comme indiqué ci-dessous.

Prometheus Metrics

Par conséquent, l’installation et la configuration du système de surveillance prometheus avec le node_exporter sur le serveur CentOS 8 ont été effectuées avec succès.

Référence

Vous aimerez aussi...