Comment installer Prometheus et Node Exporter sur Rocky Linux

Comment installer Prometheus et Node Exporter sur Rocky Linux

Prometheus est une plateforme de surveillance et d’alerte open-source.

À l’origine, Prometheus a été créé par Soundcloud en 2012. Depuis, le projet Prometheus adopté par certaines entreprises célèbres abe devenu un plus grand projet avec des développeurs et une communauté très actifs. Et en 2016, le projet Prometheus a reçu son diplôme de la Cloud Native Computing Foundation (CNCF).

Concepts de base que tu dois connaître

En gros, Prometheus collecte des données et des métriques via des points de terminaison HTTP à partir de serveurs cibles, puis stocke toutes les données sous forme de séries temporelles. Dans Prometheus, les données des séries temporelles sont identifiées par le nom de la métrique et les paires clé/valeur.

Prometheus offre une grande flexibilité grâce au langage de requête Prometheus (PromQL). Tu peux utiliser PromQL pour interroger la base de données de séries chronologiques de Prometheus.

Sur les serveurs cibles, tu dois installer l’application‘exporter‘ qui expose toutes les données et métriques à Prometheus. Node Exporter’ est un exportateur couramment utilisé pour surveiller les machines Linux.

Node exporter expose les métriques liées au matériel et au noyau des machines Linux. Il se présente sous la forme d’un seul fichier binaire qui expose les données et les métriques au serveur Prometheus.

Conditions préalables

Dans cet article, tu vas apprendre à installer l’outil de surveillance Prometheus et Node Exporter sur un système Rocky Linux 8.

Avant de commencer, assure-toi que tu as mis en place les conditions suivantes :

  • Système d’exploitation : Rocky Linux 8.5 (Green Obsidian)
  • Privilèges de racine

Pour cet exemple, nous utilisons le système Rocky Linux avec l’adresse IP‘192.168.1.10‘.

Commençons maintenant.

Ajouter un nouvel utilisateur et un nouveau répertoire

Tu vas d’abord créer un nouvel utilisateur système ‘prometheus’, puis un nouveau répertoire de configuration et un nouveau répertoire de données pour l’installation de Prometheus.

1. Exécute la commande suivante pour créer un nouvel utilisateur‘prometheus‘.

sudo adduser -M -r -s /sbin/nologin prometheus

2. Ensuite, crée un nouveau répertoire de configuration ‘/etc/prometheus‘ et le répertoire de données‘/var/lib/prometheus‘ à l’aide de la commande suivante.

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Toute la configuration de Prometheus sera disponible dans le répertoire‘/etc/prometheus‘, et toutes les données Prometheus seront automatiquement enregistrées dans le répertoire‘/var/lib/prometheus‘.

Installation de Prometheus sur Rocky Linux

Dans cette étape, tu vas installer manuellement le système de surveillance Prometheus à partir du fichier tarball ou tar.gz.

Choisis la version de Prometheus à partir de ce lien. Pour cet exemple, nous allons installer la dernière version de Prometheus.

Télécharge le tarball de Prometheus

1. Change le répertoire de travail en ‘/usr/src’ et télécharge le binaire Prometheus en utilisant la commande suivante.

cd /usr/src
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

Une fois le processus de téléchargement terminé, extrais le fichier Prometheus.

tar -xf prometheus-2.31.1.linux-amd64.tar.gz

Tu verras maintenant un nouveau répertoire‘prometheus-VERSION.OS‘.

2. Ensuite, copie toutes les configurations Prometheus dans le répertoire ‘/etc/prometheus’ et le fichier binaire‘prometheus‘ dans le répertoire‘/usr/local/bin‘.

Configure la variable d’environnement‘PROM_SRC‘ dans le répertoire ‘/usr/src/prometheus-*‘.

export PROM_SRC=/usr/src/prometheus-*

Copie la configuration de prometheus‘prometheus.yml‘ dans le répertoire‘/etc/prometheus‘.

sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/

Copie le fichier binaire‘prometheus‘ et‘promtool‘ dans le répertoire ‘/usr/local/bin/‘.

sudo cp $PROM_SRC/prometheus /usr/local/bin/
sudo cp $PROM_SRC/promtool /usr/local/bin/

Copie les modèles et les bibliothèques de la console Prometheus dans le répertoire ‘/etc/prometheus’.

sudo cp -r $PROM_SRC/consoles /etc/prometheus
sudo cp -r $PROM_SRC/console_libraries /etc/prometheus

3. Ensuite, modifie la configuration de Prometheus‘/etc/prometheus/prometheus.yml’ en utilisant l’éditeur nano.

nano /etc/prometheus/prometheus.yml

Dans l’option‘scrape_configs‘, tu devras peut-être ajouter des tâches de surveillance et la façon de récupérer toutes les données de la cible.

La configuration par défaut contient le nom de la tâche de surveillance par défaut ‘prometheus’ et le serveur cible‘localhost‘ via l’option‘static_configs‘.

Change la cible de ‘localhost:9090’ à l’adresse IP du serveur‘192.168.1.10:9090‘ comme ci-dessous.

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["192.168.1.10:9090"]

Enregistre la configuration et quitte.

4. Exécute maintenant la commande suivante pour changer les répertoires de configuration et de données pour l’utilisateur‘promethues‘.

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Tu as maintenant terminé l’installation de base de Prometheus.

Configurer Prometheus

Configuration du fichier de service Prometheus

Dans cette étape, tu vas configurer Prometheus comme un service systemd.

1. Crée un nouveau fichier de service systemd ‘/etc/systemd/system/prometheus.service’ en utilisant l’éditeur nano.

sudo nano /etc/systemd/system/prometheus.service

Copie et colle la configuration suivante.

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

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
    --config.file /etc/prometheus/prometheus.yml \
    --storage.tsdb.path /var/lib/prometheus/ \
    --web.console.templates=/etc/prometheus/consoles \
    --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

Sauvegarde la configuration et quitte.

2. Ensuite, recharge le gestionnaire systemd pour appliquer une nouvelle configuration.

sudo systemctl daemon-reload

3. Exécute maintenant la commande suivante pour démarrer et activer le service Prometheus, puis vérifie son état actuel.

sudo systemctl enable --now prometheus
sudo systemctl status prometheus

Si ton installation a réussi, tu verras que le service Prometheus est actif et fonctionne comme ci-dessous.

Configurer Prometheus comme service systemd

L’outil de surveillance Prometheus est maintenant accessible sur le port TCP‘9090.

4. Ouvre ton navigateur Web et tape l’adresse IP du serveur avec le port‘9090‘ dans la barre d’adresse.

http://192.168.1.10:9090/

Et tu verras la requête du tableau de bord prometheus ci-dessous.

Tableau de bord des requêtes Prometheus

Maintenant, tu as terminé l’installation de prometheus. Passe à l’étape suivante pour installer Node Exporter.

Installation de Node Exporter sur Rocky Linux

Node exporter fait partie du projet prometheus. Tu peux utiliser Node Exporter pour exporter les métriques des serveurs Linux vers le serveur Prometheus.

Dans cette étape, tu vas installer le node exporter sur le système Rocky Linux à partir du fichier tar.gz.

Vérifie ce lien pour obtenir la dernière version de node exporter. Dans cet exemple, nous allons installer la version 1.3.0 de node exporter.

Télécharger Node Exporter

1. Change le répertoire de travail en‘/usr/src‘ et télécharge le fichier binaire de node exporter à l’aide de la commande suivante.

cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz

Si le processus de téléchargement est terminé, extrais le fichier node exporter.

tar -xf node_exporter-1.3.0.linux-amd64.tar.gz

Tu obtiendras alors un nouveau répertoire ‘node_exporter-VERSION.OS‘.

2. Ensuite, déplace le fichier binaire de l’exportateur de nœuds dans le répertoire ‘/usr/local/bin‘ à l’aide de la commande suivante.

mv node_exporter-*/node_exporter /usr/local/bin

Passe à l’étape suivante pour configurer node exporter comme un service systemd.

Configurer Node_exporter en tant que service

Avant de créer un fichier de service node exporter, crée un nouvel utilisateur système‘node_exporter’.

1. Exécute la commande suivante pour créer un nouvel utilisateur système.

sudo adduser -M -r -s /sbin/nologin node_exporter

2. Ensuite, crée un nouveau fichier de service pour node exporter ‘/etc/systemd/system/node_exporter.service’ à l’aide de l’éditeur nano.

sudo nano /etc/systemd/system/node_exporter.service

Copie et colle la configuration suivante.

[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

Sauvegarde la configuration et quitte.

3. Recharge maintenant le gestionnaire systemd pour appliquer la nouvelle configuration.

sudo systemctl daemon-reload

4. Démarre et active le service ‘node_exporter’ à l’aide de la commande suivante.

sudo systemctl enable --now node_exporter

Configurer l'exportateur de nœuds

Ensuite, vérifie l’état actuel du service ‘node_exporter’.

sudo systemctl status node_exporter

Assure-toi que le service‘node_exporter‘ est actif et fonctionne.

Configurer Node Exporter comme un service systemd

5. L’exportateur de nœuds fonctionne sur le port par défaut‘9100‘. Vérifie à l’aide de la commande ss ci-dessous.

ss -aplnt | grep node

Tu verras une sortie similaire à celle ci-dessous.

State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*       users:(("sshd",pid=683,fd=4))
LISTEN   0        128                    *:9090                *:*       users:(("prometheus",pid=709,fd=8))
LISTEN   0        128                    *:9100                *:*       users:(("node_exporter",pid=5786,fd=3))
LISTEN   0        128                 [::]:22               [::]:*       users:(("sshd",pid=683,fd=6))

Et tu as terminé l’installation de node exporter sur le système Rocky Linux.

Ajoute node_exporter à Prometheus

Après avoir terminé l’installation de Prometheus et de node exporter, ajoute le node exporter au serveur Prometheus.

1. Modifie la configuration de Prometheus à l’aide de l’éditeur nano.

sudo nano /etc/prometheus/prometheus.yml

Dans la section‘scrape_config‘, ajoute un nouveau travail Prometheus en utilisant la configuration suivante. Et assure-toi de changer l’adresse IP du serveur avec ton serveur cible.

  - job_name: 'node_exporter_metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['SERVER-IP:9100']

Sauvegarde la configuration et quitte.

2. Redémarre maintenant le service Prometheus pour appliquer une nouvelle configuration.

sudo systemctl restart prometheus

Et tu as ajouté l’exportateur de nœuds au serveur Prometheus.

Vérifie l’installation de Prometheus et de Node Exporter

1. Retourne sur le tableau de bord Prometheus, clique sur le menu‘Statut‘ et sélectionne‘Cibles‘.

Tu verras deux points de terminaison différents, le‘prometheus‘ et le‘node_exporter_metrics‘.

Métriques de la cible Prometheus

2. Ensuite, va dans le menu‘graph‘ et tape la requête PromQL dans la barre de recherche. Dans cet exemple, vérifie le système d’exploitation détaillé en utilisant la requête‘node_os_info‘.

Et tu verras des informations détaillées sur ton système d’exploitation actuel.

Exemples de prometheus Requête PromQL

3. Un autre exemple, vérifie les vitesses du réseau en utilisant la requête‘node_network_speed_bytes‘, puis passe à l’onglet‘Graph‘. Et tu verras une sortie similaire à celle ci-dessous.

Exemples de prometheus Requête PromQL

Maintenant, tu as réussi à installer Prometheus et l’exportateur de nœuds sur le système Rocky Linux.

Conclusion

Félicitations ! Tu as appris l’installation et la configuration de base du système de surveillance Prometheus et de l’exportateur de nœuds sur le système Rocky Linux.

Pour la prochaine étape, tu peux explorer un autre exportateur Prometheus pour d’autres applications et Grafana comme tableau de bord de surveillance.

Vous aimerez aussi...