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 ?
- 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.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
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.
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’.
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
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.
É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.
É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.
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.
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.