GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer l'outil de surveillance du système Prometheus sur Debian 11

Prometheus est une application de surveillance gratuite, open source et basée sur le Web qui collecte les métriques de vos services et les stocke dans une base de données chronologique. La configuration par défaut de Prometheus n'exporte que des métriques sur lui-même. Mais vous pouvez l'étendre en installant des exportateurs et d'autres programmes. Il prend en charge un modèle de données multidimensionnel, plusieurs modes de représentation graphique et de tableau de bord.

Dans cet article, nous vous montrerons comment installer la surveillance Prometheus sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un mot de passe root est configuré sur le serveur.

Installer Prometheus

Avant de commencer, il est recommandé de créer un utilisateur et un groupe dédiés pour Prometheus. Vous pouvez le créer à l'aide de la commande suivante :

groupadd --system prometheus
useradd -s /sbin/nologin --system -g prometheus prometheus

Ensuite, téléchargez la dernière version de Prometheus en exécutant la commande suivante :

curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi - 

Une fois le Prometheus téléchargé, vous pouvez voir le fichier téléchargé à l'aide de la commande suivante :

ls -l

Vous devriez voir le résultat suivant :

-rw-r--r-- 1 root root 72638078 Oct 5 16:46 prometheus-2.30.3.linux-amd64.tar.gz

Ensuite, extrayez le fichier téléchargé à l'aide de la commande suivante :

tar -xvf prometheus*.tar.gz

Ensuite, changez le répertoire vers le répertoire extrait avec la commande suivante :

cd prometheus-2.30.3.linux-amd64

Créez ensuite les répertoires requis à l'aide de la commande suivante :

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

Ensuite, copiez les fichiers de configuration et les outils requis avec les commandes suivantes :

mv prometheus.yml /etc/prometheus/prometheus.yml
mv consoles/ console_libraries/ /etc/prometheus/
mv prometheus promtool /usr/local/bin/

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Créer un fichier de service Systemd pour Prometheus

Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Prometheus. Vous pouvez le créer en exécutant la commande suivante :

nano /etc/systemd/system/prometheus.service

Ajoutez les lignes suivantes :

[Unit]Description=PrometheusDocumentation=https://prometheus.io/docs/introduction/overview/Wants=network-online.targetAfter=network-online.target[Service]Type=simpleUser=prometheusGroup=prometheusExecReload=/bin /kill -HUP $MAINPIDExecStart=/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 \ --web.listen-address=0.0.0.0:9090 \ --web.external-url=SyslogIdentifier=prometheusRestart=always[Install]WantedBy=multi-user.target

Enregistrez et fermez le fichier, puis définissez la propriété et l'autorisation appropriées sur le répertoire de configuration de Prometheus :

chown -R prometheus:prometheus /etc/prometheus/
chmod -R 775 /etc/prometheus/
chown -R prometheus:prometheus /var/lib/prometheus/

Ensuite, rechargez le démon systemd pour appliquer les modifications :

rechargement du démon systemctl

Ensuite, démarrez le service Prometheus et activez-le au redémarrage du système à l'aide de la commande suivante :

systemctl démarrer prometheus
systemctl activer prometheus

Vous pouvez vérifier l'état du Prometheus avec la commande suivante :

statut systemctl prometheus

Vous obtiendrez le résultat suivant :

 ? prometheus.service - Prometheus Loaded :chargé (/etc/systemd/system/prometheus.service ; désactivé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le sam. 2021-10-16 14:06:39 UTC ; Il y a 4 s Docs :https://prometheus.io/docs/introduction/overview/ PID principal :18415 (prometheus) Tâches :5 (limite :2341) Mémoire :19,6 M CPU :79 ms CGroup :/system.slice/prometheus.service ??18415 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.cons>16 octobre 14:06 :39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.172Z caller=head.go:513 component=tsdb msg="Carte mémoire sur disque>Oct 16 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.172Z caller=head.go:519 component=tsdb msg="Replaying WAL, this>Oct 16 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.174Z caller=head.go:590 component=tsdb msg="Segment WAL chargé">16 octobre 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.174Z caller=head.go:596 component=tsdb msg="Relecture WAL terminée>16 octobre 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10 -16T14:06:39. 177Z caller=main.go:849 fs_type=EXT4_SUPER_MAGICOoct 16 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.177Z caller=main.go:852 ​​msg="TSDB démarré "16 octobre 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.178Z caller=main.go:979 msg="Chargement du fichier de configuration" filename>16 octobre 14:06 :39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.178Z caller=main.go:1016 msg="Chargement de la configuration terminé>Oct 16 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.179Z caller=main.go:794 msg="Le serveur est prêt à recevoir une requête Web>16 octobre 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.179Z caller=tls_config.go:191 component=web msg="TLS est désactivé>

Par défaut, Prometheus écoute sur le port 9090. Vous pouvez le vérifier à l'aide de la commande suivante :

ss -antpl | grep 9090

Vous devriez voir le résultat suivant :

ECOUTE 0 4096 *:9090 *:* utilisateurs:(("prometheus",pid=18415,fd=7))

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Nginx en tant que proxy inverse pour Prometheus

Ensuite, il est recommandé d'installer et de configurer Nginx en tant que proxy inverse pour Prometheus. Tout d'abord, installez le package de serveur Web Nginx à l'aide de la commande suivante :

apt-get install nginx -y

Une fois Nginx installé, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/conf.d/prometheus.conf

Ajoutez les lignes suivantes :

serveur { écoute 80 ; nom_serveur prometheus.exemple.com ; emplacement / { proxy_pass http://localhost:9090; proxy_http_version 1.1 ; proxy_set_header Mettre à jour $http_upgrade ; proxy_set_header Connexion 'mise à niveau' ; proxy_set_header Hôte $hôte ; proxy_cache_bypass $http_upgrade ; }}

Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Si tout va bien, vous obtiendrez le résultat suivant :

nginx :le test du fichier de configuration /etc/nginx/nginx.conf a réussi

Enfin, redémarrez le service Nginx pour appliquer les modifications :

systemctl redémarrer nginx

Vous pouvez également vérifier l'état du service Nginx à l'aide de la commande suivante :

statut systemctl nginx

Vous devriez obtenir le résultat suivant :

 ? nginx.service - Un serveur Web hautes performances et un serveur proxy inverse Chargé :chargé (/lib/systemd/system/nginx.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis sam. 2021-10-16 14 :08:15 UTC ; Il y a 2 s Docs :man:nginx(8) Processus :18792 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) Processus :18793 ExecStart=/usr/sbin/nginx -g daemon on ; master_process activé ; (code=exited, status=0/SUCCESS) PID principal :18794 (nginx) Tâches :2 (limite :2341) Mémoire :2,5 M CPU :35 ms CGroup :/system.slice/nginx.service ??18794 nginx :processus maître /usr/sbin/nginx -g démon activé ; master_process activé ; ??18795 nginx :worker processOct 16 14:08:15 debian11 systemd[1] :Démarrage d'un serveur Web hautes performances et d'un serveur proxy inverse...Oct 16 14:08:15 debian11 systemd[1] :nginx.service :Échec de l'analyse du PID à partir du fichier /run/nginx.pid :argument non valideOct 16 14:08:15 debian11 systemd[1] :démarrage d'un serveur Web hautes performances et d'un serveur proxy inverse.

À ce stade, Nginx est installé et configuré pour servir Prometheus. Vous pouvez maintenant passer à l'étape suivante.

Accéder au tableau de bord Prometheus

Maintenant, ouvrez votre navigateur Web et accédez au tableau de bord Prometheus à l'aide de l'URL http://prometheus.example.com . Vous devriez voir la page suivante :

Installer et configurer node_exporter

node_exporter est un exportateur qui surveillera et obtiendra la métrique du serveur Prometheus. Tout d'abord, téléchargez la dernière version de node_exporter à l'aide de la commande suivante :

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf node_exporter-1.2.2.linux-amd64.tar.gz

Ensuite, déplacez le répertoire extrait vers le répertoire /etc/prometheus/ :

mv node_exporter-1.2.2.linux-amd64 /etc/prometheus/node_exporter

Ensuite, définissez la propriété appropriée avec la commande suivante :

chown -R prometheus:prometheus /etc/prometheus/node_exporter

Ensuite, créez un fichier de service systemd pour gérer le service node_exporter :

nano /etc/systemd/system/node_exporter.service

Ajoutez les lignes suivantes :

[Unit]Description=Node ExporterWants=network-online.targetAfter=network-online.target[Service]User=prometheusExecStart=/etc/prometheus/node_exporter/node_exporter[Install]WantedBy=default.target

Enregistrez et fermez le fichier puis rechargez le démon systemd pour appliquer les modifications :

rechargement du démon systemctl

Ensuite, démarrez le service node_exporter et activez-le pour qu'il démarre au redémarrage du système :

systemctl start node_exporter
systemctl enable node_exporter

Vous pouvez vérifier l'état du node_exporter avec la commande suivante :

statut systemctl node_exporter

Vous obtiendrez le résultat suivant :

 ? node_exporter.service - Node Exporter Loaded :chargé (/etc/systemd/system/node_exporter.service ; désactivé ; préréglage fournisseur :activé) Actif :actif (en cours d'exécution) depuis le dim 2021-10-17 05:38:20 UTC ; Il y a 4 s PID principal :513 (node_exporter) Tâches :4 (limite :2341) Mémoire :4,7 M CPU :11 ms CGroup :/system.slice/node_exporter.service ??513 /etc/prometheus/node_exporter/node_exporterOct 17 05:38 :20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collector=thermal_zoneOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021 -10-17T05:38:20.382Z caller=node_exporter.go:115 collector=timeOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter. go:115 collector=timexOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collector=udp_queuesOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collector=unameOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10 -17T05:38:20.382Z caller=node_exporter.go:115 collector=vmstatOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collector=xfsOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021- 10-17T05:38:20.382Z caller=node_exporter.go:115 collector=zfsOct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.383Z caller=node_exporter.go :199 msg="Listening on" address=:91>Oct 17 05:38:20 debian11 node_exporter[513] :level=info ts=2021-10-17T05:38:20.383Z caller=tls_config.go:191 msg="TLS est désactivé." http2=faux

Par défaut, node_exporter écoute sur le port 9100. Vous pouvez le vérifier avec la commande suivante :

ss -antpl | grep 9100

Vous devriez obtenir le résultat suivant :

ECOUTE 0 4096 *:9100 *:* utilisateurs :(("node_exporter",pid=513,fd=3))

Ajouter node_exporter au serveur Prometheus

Ensuite, vous devrez ajouter le node_exporter au fichier de configuration Prometheus. Vous pouvez le faire en modifiant le fichier de configuration par défaut de Prometheus :

nano /etc/prometheus/prometheus.yml

Sous le 'scrape_config ', ajoutez le nouveau job_name node_exporter en ajoutant les lignes suivantes.

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

Enregistrez et fermez le fichier puis redémarrez le service Prometheus pour appliquer les modifications :

systemctl redémarrer prometheus

Vérifier Prometheus et node_exporter

Maintenant, allez sur le tableau de bord Prometheus et cliquez sur Statut => Cible . Vous devriez voir votre node_exporter dans l'écran suivant :

Maintenant, revenez à la page d'accueil de Prometheus et tapez node_memory_MemAvailable_bytes dans le champ de requête et cliquez sur 'Exécuter ' bouton. Vous obtiendrez le résultat suivant :

Vous pouvez également obtenir le node_exporter données de métriques à l'aide de l'URL http://your-server-ip:9100/metrics comme indiqué ci-dessous :

Conclusion

Toutes nos félicitations! vous avez installé avec succès Prometheus avec node_exporter sur Debian 11. N'hésitez pas à me demander si vous avez des questions. Pour plus d'informations, consultez la documentation officielle de Prometheus.


Debian
  1. Comment installer l'outil de surveillance Nagios 4.3.x sur Debian 9

  2. Comment installer l'outil de surveillance Icinga 2 sur Debian 9.2

  3. Comment installer Nextcloud 15 sur Debian 9

  4. Comment installer le système de base de données RethinkDB sur Debian 10

  5. Comment installer osquery sur Debian 10

Comment installer le système de surveillance du réseau OpenNMS Horizon sur Debian 11

Comment installer l'outil de surveillance Grafana 8 sur Debian 11

Comment installer Cacti sur Debian 10 / Debian 9 - Un outil de surveillance

Comment installer l'outil de surveillance Prometheus sur Ubuntu 20.04

Comment installer Prometheus sur Debian 11

Comment installer l'outil de surveillance Zabbix sur Debian 11/10