Prometheus est une application open source de surveillance et d'alerte d'événements basée sur des métriques développée à l'origine chez SoundCloud et plus largement adoptée par la suite par diverses entreprises et organisations. Prometheus possède son propre système de stockage qui stocke et gère les métriques collectées en temps réel. Dans Prometheus, la méthode de collecte de données est connue sous le nom de « scrapping », tandis que l'outil qu'elle utilise à cette fin est appelé « exportateur."
Cet article montrera comment installer et configurer Prometheus dans Ubuntu 20.04 Systèmes LTS (Focal Fossa). L'article expliquera également comment ajouter un exportateur à Prometheus pour étendre son utilité.
Remarque : la procédure et les commandes de cet article ont été exécutées à l'aide d'Ubuntu 20.04 LTS (Fosse Focale).
Conditions préalables
Avant d'installer Prometheus, assurez-vous de remplir les conditions préalables suivantes.
1. Installer Nginx
Suivez les étapes ci-dessous pour installer Nginx :
Utilisez la commande suivante dans Terminal pour mettre à jour l'index du référentiel système
$ sudo apt mise à jourEnsuite, entrez la commande suivante pour installer Nginx :
$ sudo apt installer nginxUne fois Nginx installé, utilisez les commandes suivantes pour confirmer que le service Nginx est en cours d'exécution :
$ sudo systemctl démarrer nginxSi le service Nginx n'est pas en cours d'exécution, vous pouvez démarrer le service en entrant la commande suivante :
$ sudo systemctl démarrer nginx2. Créer des utilisateurs Prometheus
Entrez ce qui suit pour créer des comptes d'utilisateur Prometheus à utiliser en tant que comptes d'utilisateur de service à des fins de sécurité et d'administration. Ces comptes ne seront pas utilisés pour se connecter au système. Utilisez les commandes suivantes dans Terminal pour créer les comptes d'utilisateurs du service.
$ sudo useradd --no-create-home --shell /bin/false prome$ sudo useradd --no-create-home --shell /bin/false node_exporter
3. Créer des répertoires Prometheus
Entrez ce qui suit pour créer des répertoires qui seront utilisés pour stocker des fichiers et des données :
$ sudo mkdir /etc/prometheus$ sudo mkdir /var/lib/prometheus
Téléchargement et installation de Prometheus
Une fois tous ces prérequis remplis, votre système sera prêt à installer Prometheus. Voici la procédure de téléchargement et d'installation de Prometheus.
Téléchargez la dernière version stable de Prometheus à l'aide de la commande wget.
$ wget https://github.com/prometheus/prometheus/releases/download/v2.0.0/prométhée-2.0.0.linux-amd64.le goudron.gz
Extrayez l'archive Prometheus à l'aide de la commande suivante :
$ tar xvf prométhée-2.0.0.linux-amd64.le goudron.gzÀ partir du dossier extrait, copiez les fichiers binaires dans le répertoire /usr/local/bin et modifiez la propriété.
Utilisez les commandes suivantes pour copier les fichiers binaires « prometheus » et « promtool » dans le /usr/local/bin.
$ sudo cp prometheus-2.0.0.linux-amd64/prometheus /usr/local/bin/$ sudo cp prometheus-2.0.0.linux-amd64/promtool /usr/local/bin/
Ensuite, modifiez la propriété des fichiers en entrant les commandes ci-dessous.
$ sudo chown prome:prome /usr/local/bin/prometheus$ sudo chown prome:prome /usr/local/bin/promtool
Après avoir copié les fichiers binaires, copiez les bibliothèques requises dans le répertoire /etc/prometheus. Utilisez les commandes suivantes dans Terminal pour ce faire :
$ sudo cp -r prometheus-2.0.0.linux-amd64/consoles /etc/prometheus$ sudo cp -r prometheus-2.0.0.linux-amd64/console_libraries /etc/prometheus
Ensuite, utilisez les commandes suivantes pour modifier la propriété des fichiers.
$ sudo chown -R prome:prome /etc/prometheus/consoles$ sudo chown -R prome:prome /etc/prometheus/console_libraries
Configuration de Prométhée
Dans cette section, nous allons créer le fichier de configuration nommé Prométhée.yml dans le /etc/prometheus répertoire créé dans les étapes précédentes. Exécutez la commande suivante dans Terminal pour modifier le prometheus.fichier yml :
$ sudo nano /etc/prometheus/prometheus.ymlEnsuite, copiez et collez les lignes suivantes dans le terminal :
global:scrape_interval : 15 s
scrape_configs :
- job_name: 'prometheus'
scrape_interval : 5 s
static_configs :
- cibles : ['localhost:9090']
Appuyez sur Ctrl+o pour enregistrer et Ctrl+x pour quitter le fichier.
Maintenant, nous allons créer un autre fichier pour le service systemd. Pour ce faire, exécutez la commande suivante dans le terminal :
$ sudo nano /etc/systemd/system/prometheus.un serviceEnsuite, copiez et collez les lignes suivantes dans le terminal :
[Unité]Description=Prométhée
Wants=network-online.cible
Après=réseau en ligne.cible
[Un service]
Utilisateur=prome
Groupe=prome
Type=simple
ExecStart=/usr/local/bin/prometheus \
--configuration.fichier /etc/prometheus/prometheus.yml \
--stockage.tsdb.chemin /var/lib/prometheus/ \
--la toile.console.templates=/etc/prometheus/consoles \
--la toile.console.bibliothèques=/etc/prometheus/console_libraries
[Installer]
WantedBy=multi-utilisateur.cible
Appuyez sur Ctrl+o pour enregistrer le fichier et Ctrl+x pour quitter le fichier.
Une fois que vous avez terminé avec les configurations ci-dessus, rechargez systemd à l'aide de la commande suivante :
$ sudo systemctl démon-rechargerDémarrez le service Prometheus en exécutant la commande suivante :
$ sudo systemctl démarrer prometheusPour activer le Prométhée service au démarrage du système, utilisez la commande suivante :
$ sudo systemctl activer prometheusAprès avoir démarré le Service Prometheus, utilisez la commande suivante pour afficher l'état du service :
$ sudo systemctl status prometheusLa capture d'écran suivante montre que le service Prometheus est actif et en cours d'exécution.
Accéder à l'interface Web de Prometheus
Ensuite, essayez d'accéder à l'interface Web de Prometheus. Ouvrez un navigateur Web et accédez à l'adresse suivante :
http://adresse-ip:9090
Remplacer le terme "adresse IP" avec l'adresse IP réelle de votre système. Vous pouvez accéder à l'interface Web Prometheus depuis n'importe quel système de votre réseau local. Vous pouvez aussi utiliser hôte local ou alors 127.0.0.1 pour accéder au site Prometheus sur votre système local. Cependant, dans ce cas, vous ne seriez pas en mesure d'y accéder à partir d'un autre système sur le réseau.
À ce stade, Prometheus n'affiche que des métriques sur lui-même, ce qui pourrait ne pas être d'une grande utilité. La section suivante vous montrera comment étendre l'utilité de Prometheus en ajoutant des exportateurs.
Ajouter des exportateurs
Pour rendre Prometheus plus utile pour vous, essayez d'ajouter des exportateurs. Certains des exportateurs les plus couramment utilisés sont les suivants :
- Node_exporter-
- Blackbox_exporter
- lapinmq_exporter
- Mysqld_exporter
Ici, nous ajouterons node_exporter au système Prométhée. Node_exporter génère des métriques sur les ressources telles que le processeur, la mémoire, l'utilisation du disque, etc.
Tout d'abord, téléchargez node_exporter sur votre système avec la commande suivante :
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.15.1/node_exporter-0.15.1.linux-amd64.le goudron.gz
Extrayez l'archive à l'aide de la commande suivante :
$ tar xvf node_exporter-0.15.1.linux-amd64.le goudron.gzsudo nano /etc/prometheus/prometheus.yml
À partir du dossier extrait, copiez les fichiers binaires dans le répertoire /usr/local/bin et modifiez la propriété. Exécutez la commande suivante pour copier les fichiers binaires node_exporter dans le /usr/local/bin annuaire.
$ sudo cp node_exporter-0.15.1.linux-amd64/node_exporter /usr/local/binDéfinissez la propriété du répertoire avec la commande suivante :
$ sudo chown node_exporter:node_exporter /usr/local/bin/node_exporterCréez un fichier de service pour l'exportateur à l'aide de thla commande suivante :
$ sudo nano /etc/systemd/system/node_exporter.un serviceEnsuite, copiez et collez les lignes suivantes dans le terminal :
[Unité]Description=Prométhée
Wants=network-online.cible
Après=réseau en ligne.cible
[Un service]
Utilisateur = node_exporter
Groupe = node_exporter
Type=simple
ExecStart=/usr/local/bin/prometheus \
--configuration.fichier /etc/prometheus/prometheus.yml \
--stockage.tsdb.chemin /var/lib/prometheus/ \
--la toile.console.templates=/etc/prometheus/consoles \
--la toile.console.bibliothèques=/etc/prometheus/console_libraries
[Installer]
WantedBy=multi-utilisateur.cible
Appuyez sur Ctrl+o pour enregistrer et Ctrl+x pour quitter le fichier.
Rechargez le systemd à l'aide de la commande suivante :
$ sudo systemctl démon-rechargerExécutez la commande suivante pour démarrer le service node_exporter :
$ sudo systemctl start node_exporterPour activer le service node_exporter au démarrage, saisissez la commande suivante :
$ sudo systemctl activer node_exporterConfiguration de Prometheus pour node_exporter
Dans cette section, nous allons configurer Prometheus pour scraper node_exporter. Exécutez la commande suivante dans Terminal pour modifier le fichier de configuration :
$ sudo nano etc/prometheus/prometheus.ymlCopiez et collez les lignes suivantes dans le terminal :
- nom_travail : 'node_exporter'scrape_interval : 5 s
static_configs :
- cibles : ['localhost:9100']
Appuyez sur Ctrl+o pour enregistrer et Ctrl+x pour quitter le fichier. Redémarrez le service Prometheus à l'aide de la commande suivante :
$ sudo systemctl redémarrer PrometheusVous pouvez vérifier l'état du service Prometheus pour confirmer qu'il s'exécute correctement en saisissant la commande suivante : $ sudo systemctl status prometheus Essayez d'accéder à Prometheus en ouvrant n'importe quel navigateur Web et en accédant à l'adresse suivante :
http://adresse-ip:9090
Lorsque l'interface Web s'ouvre, utilisez la flèche déroulante pour sélectionner une métrique et cliquez sur le bouton Exécuter bouton pour afficher un graphique.
Si vous allez à Statut > Cible dans le menu en haut de la page, vous verrez à la fois Prometheus et node_exporter répertoriés ici, car nous avons configuré Prometheus pour se gratter à la fois lui-même et le node_exporter.
Conclusion
C'est tout ce qu'il y a à faire! Dans cet article, vous avez appris à installer Prometheus dans Ubuntu 20.04 LTS (Focal Fossa), ainsi que comment utiliser l'exportateur de nœuds dans Prometheus. J'espère qu'après avoir lu cet article, vous êtes maintenant suffisamment à l'aise pour installer Prometheus et un exportateur pour générer des métriques sur les ressources de votre serveur.