Comment installer Prometheus et node_exporter sur CentOS 7

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 serveur CentOS 7 pour ce tutoriel.

Conditions préalables

  • Serveur CentOS 7
  • Privilèges de racine

Que ferons-nous ?

  1. Créer un nouvel utilisateur et télécharger Prometheus
  2. Configurer Prometheus comme un service Systemd
  3. Configurer Firewalld
  4. Installer et configurer node_exporter
  5. Ajoute node_exporter au serveur Prometheus
  6. 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.2.1/prometheus-2.2.1.linux-amd64.tar.gz

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

tar -xzvf prometheus-2.2.1.linux-amd64.tar.gz
mv prometheus-2.2.1.linux-amd64/ prometheus/

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

É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

Configure Prometheus pour 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 que prometheus est en cours d'exécution

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

Ouvre maintenant ton navigateur Web et tape l’adresse IP du serveur avec le port 9090.

http://192.168.33.10:9090/graph

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

Prometheus Graph

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.16.0-rc.1/node_exporter-0.16.0-rc.1.linux-amd64.tar.gz

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

tar -xzvf node_exporter-0.16.0-rc.1.linux-amd64.tar.gz
mv node_exporter-0.16.0-rc.1.linux-amd64 node_exporter

Ensuite, nous allons créer un nouveau fichier de service pour le node_exporter. Retourne au 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

Là, colle la configuration du service node_exporter ci-dessous.

[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

Configurer l'unité systemd node_exporter

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

netstat -plntu

Et tu obtiendras que node_exporter fonctionne sur le port 9100.

Vérifie le port de 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.

Ajoute node_exporter au serveur Prometheus

Redémarre maintenant le service Prometheus.

systemctl restart prometheus

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

Étape 6 – Test de Prometheus et de node_exporter

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

http://192.168.33.10:9090/

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

Et tu obtiendras le résultat ci-dessous.

Résultat pour node_memory_MemAvailable_bytes

Tu obtiendras la mémoire disponible sur l’instance du 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
firewall-cmd --reload

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

http://192.168.33.10:9100/metrics

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

Métrique des résultats

L’installation et la configuration du système de surveillance prometheus avec le node_exporter sur CentOS 7 ont été effectuées avec succès.

Référence

Vous aimerez aussi...