Installation de Prometheus

DockerBeginner
Pratiquer maintenant

Introduction

Prometheus est une puissante boîte à outils de surveillance et d'alerte open-source, initialement développée chez SoundCloud. Elle est devenue une norme pour la surveillance dans les environnements cloud-native. Ses principales caractéristiques incluent un modèle de données multidimensionnel, un langage de requête flexible (PromQL) et une variété d'options de visualisation.

Dans ce laboratoire, vous apprendrez la manière la plus simple de mettre en place une instance Prometheus à l'aide de Docker. Cette approche évite les étapes d'installation complexes et vous permet de commencer rapidement à explorer Prometheus. Vous téléchargerez l'image Docker officielle, l'exécuterez en tant que conteneur et interagirez avec son interface web.

Télécharger l'image Docker de Prometheus

Dans cette étape, vous allez télécharger l'image Docker officielle de Prometheus depuis Docker Hub. Docker Hub est un registre public d'images Docker, et prom/prometheus est l'image officielle maintenue par l'équipe Prometheus.

La commande docker pull télécharge l'image spécifiée sur votre machine locale, la rendant disponible pour être exécutée en tant que conteneur.

Exécutez la commande suivante dans votre terminal pour télécharger la dernière version de l'image Prometheus :

docker pull prom/prometheus

Vous verrez une sortie indiquant que les couches de l'image sont en cours de téléchargement. Une fois terminé, l'image sera stockée localement.

Sortie attendue (les numéros de version peuvent varier) :

Using default tag: latest
latest: Pulling from prom/prometheus
a4ca46b05734: Pull complete
542b5806d2b7: Pull complete
...
Digest: sha256:2c785d4e9af2224941598d142337931a5f8333065916938c6444294020b45f50
Status: Downloaded newer image for prom/prometheus
docker.io/prom/prometheus

Exécuter le conteneur Prometheus sur le port 9090

Dans cette étape, vous allez exécuter le conteneur Prometheus en utilisant l'image que vous venez de télécharger. Nous utiliserons la commande docker run pour créer et démarrer le conteneur.

Voici une description des options de commande que nous allons utiliser :

  • -d : Exécute le conteneur en mode détaché (en arrière-plan).
  • -p 9090:9090 : Mappe le port 9090 de la machine hôte au port 9090 du conteneur. L'interface utilisateur web de Prometheus s'exécute par défaut sur le port 9090.
  • --name prometheus : Attribue un nom mémorable, prometheus, au conteneur pour une référence facile.
  • prom/prometheus : Spécifie l'image à utiliser pour créer le conteneur.

Exécutez la commande suivante pour démarrer votre conteneur Prometheus :

docker run -d -p 9090:9090 --name prometheus prom/prometheus

La commande affichera un long identifiant de conteneur, confirmant que le conteneur a démarré.

Pour vérifier que le conteneur est en cours d'exécution, vous pouvez utiliser la commande docker ps, qui liste tous les conteneurs en cours d'exécution.

docker ps

Vous devriez voir le conteneur prometheus dans la liste, avec son statut "Up".

Sortie attendue :

CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                    NAMES
a1b2c3d4e5f6   prom/prometheus   "/bin/prometheus --c…"   A few seconds ago   Up a few seconds   0.0.0.0:9090->9090/tcp   prometheus

Accéder à l'interface Web de Prometheus sur localhost:9090

Dans cette étape, vous allez accéder à l'interface web de Prometheus, qui est maintenant en cours d'exécution et exposée sur le port 9090. L'environnement LabEx offre un moyen pratique d'accéder aux services web exécutés à l'intérieur de la machine virtuelle.

Cliquez sur le bouton + (Nouvel onglet) situé en haut de l'interface du laboratoire.

Sélectionnez l'option Web Service, et entrez 9090 comme port.

Saisie du port du service web Prometheus

Cela ouvrira un nouvel onglet de navigateur connecté aux services exécutés dans votre environnement de laboratoire.

Étant donné que nous avons mappé le port 9090, l'interface utilisateur de Prometheus sera disponible. Vous devriez voir le Prometheus Expression Browser, qui est la page d'accueil principale. Cette interface vous permet d'écrire et d'exécuter des requêtes PromQL pour explorer les métriques.

Page d'accueil du Prometheus Expression Browser

La présence de cette page confirme que votre conteneur Prometheus fonctionne correctement et est accessible.

Vérifier le statut du service Prometheus

Dans cette étape, vous utiliserez l'interface utilisateur de Prometheus pour vérifier le statut et les informations d'exécution du service Prometheus lui-même.

Dans l'interface web de Prometheus que vous avez ouverte à l'étape précédente, naviguez vers la page de statut en cliquant sur le menu Status dans la barre de navigation supérieure, puis en sélectionnant Runtime & Build Information.

Cette page affiche des informations détaillées sur l'instance Prometheus en cours d'exécution, y compris sa version, sa date de compilation et la version de Go avec laquelle elle a été compilée. C'est un bon moyen de confirmer que le service est pleinement opérationnel.

Une autre façon de vérifier la santé et les métriques du serveur Prometheus est d'accéder à son endpoint /metrics. Cet endpoint expose une multitude de métriques internes sur Prometheus lui-même. Vous pouvez visualiser ces données en utilisant curl dans votre terminal.

curl http://localhost:9090/metrics

La sortie sera une longue liste de métriques au format d'exposition de Prometheus. Recherchez une métrique comme prometheus_build_info pour confirmer que l'endpoint fonctionne.

Sortie partielle attendue :

## HELP prometheus_build_info A metric with a constant '1' value labeled with the version, revision, branch, and goversion from which prometheus was built.
## TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goversion="go1.19.5",revision="233d305681c0da67c694b01d832131d173a0552b",version="2.41.0"} 1
...

Explorer les cibles par défaut dans l'interface Prometheus

Dans cette étape, vous allez explorer le concept de "cibles" (targets) dans Prometheus. Une cible est un endpoint à partir duquel Prometheus "scrape" (récupère) les métriques. Par défaut, le serveur Prometheus est configuré pour se surveiller lui-même.

Dans l'interface utilisateur web de Prometheus, naviguez vers la page des cibles en cliquant sur le menu Status, puis en sélectionnant Targets.

Sur cette page, vous verrez une liste de toutes les cibles configurées pour le scraping. Vous devriez voir un groupe de cibles nommé prometheus avec un seul endpoint : http://localhost:9090/metrics. C'est l'endpoint des métriques du serveur Prometheus lui-même.

Interface utilisateur de Prometheus montrant la cible d'auto-surveillance UP

Portez attention à la colonne State. Elle devrait afficher UP en vert. Cela indique que Prometheus se connecte avec succès à la cible et récupère ses métriques. S'il y avait un problème de connexion à la cible, l'état serait "DOWN". Cette page est cruciale pour diagnostiquer les problèmes de collecte de métriques.

Résumé

Félicitations ! Vous avez installé et exécuté avec succès une instance Prometheus à l'aide de Docker. Ce laboratoire vous a offert une introduction pratique pour débuter avec l'un des outils de surveillance les plus populaires de l'industrie.

Dans ce laboratoire, vous avez appris à :

  • Télécharger l'image Docker officielle de Prometheus depuis Docker Hub.
  • Exécuter un conteneur Prometheus et mapper son port à l'hôte.
  • Accéder et naviguer dans l'interface utilisateur web de Prometheus.
  • Vérifier le statut du service via l'interface utilisateur et l'endpoint des métriques.
  • Explorer la configuration de la cible de surveillance par défaut.

Vous avez maintenant une compréhension fondamentale de la manière de déployer Prometheus. Les prochaines étapes de votre parcours pourraient impliquer d'apprendre à créer un fichier de configuration personnalisé pour surveiller d'autres applications et services.