Surveillez vos instances
Comment obtenir des métriques Prometheus en temps réel depuis vos instances Stackhero
Introduction
Stackhero vous permet de récupérer des métriques en temps réel de vos instances au format Prometheus. Cette intégration transparente facilite la visualisation des données avec des tableaux de bord Grafana et la mise en place d'alertes via Prometheus (par e-mail, SMS, Slack, Mattermost, etc.) pour tous vos services Stackhero en seulement quelques minutes.
Tableau de bord Grafana affichant une instance en temps réel
Fonctionnement des métriques Prometheus sur Stackhero
Stackhero met à disposition un endpoint HTTP de "Service Discovery" qui retourne les métriques de vos instances en temps réel au format Prometheus.
Voici le principe général :
- Votre serveur Prometheus se connecte toutes les 15 secondes à l'API Stackhero pour récupérer les métriques en temps réel de vos instances.
- Votre serveur Prometheus déclenche des alertes via Alert Manager lorsque les conditions définies sont atteintes.
- Votre serveur Grafana se connecte à votre serveur Prometheus pour afficher des tableaux de bord présentant vos instances Stackhero.
Récupérer les métriques en temps réel de vos instances
1. Créez un token
Pour commencer, vous devez générer un token que votre serveur Prometheus utilisera pour se connecter à l'API Stackhero.
- Connectez-vous à votre tableau de bord Stackhero.
- Dans le menu de gauche, allez dans
Prometheus. - Cliquez sur
Créer un token. - Ajoutez une description et, si besoin, limitez l'accès par IP (laissez
0.0.0.0/0pour autoriser toutes les IP). - Copiez la configuration Prometheus générée.
Création d'un token Prometheus dans le tableau de bord Stackhero
2. Configurez votre Prometheus
Don't have a Prometheus server yet? Avec Stackhero, vous pouvez lancer un Prometheus managé en seulement 2 minutes !
Ouvrez votre fichier de configuration prometheus.yml et ajoutez le job "stackhero" (généré précédemment) à la fin du fichier.
Voici un exemple de configuration :
- job_name: "stackhero"
scheme: "https"
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
http_sd_configs:
- url: "https://api.stackhero.io/v1/prometheus/targets"
refresh_interval: "15s" # Ne descendez pas en dessous de 15 secondes !
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
3. Vérifiez que Prometheus récupère bien les métriques
Rendez-vous sur le tableau de bord Prometheus et allez dans Status > Service Discovery. Vous devriez voir une entrée de découverte de service "stackhero" enregistrée.
Tableau de bord Prometheus affichant la découverte de service Stackhero
Ensuite, allez dans Status > Targets. Vous devriez voir un endpoint pour chaque instance Stackhero.
Tableau de bord Prometheus affichant les targets Stackhero
Félicitations ! Votre serveur Prometheus récupère désormais automatiquement les métriques en temps réel pour tous vos services.
4. Ajoutez un tableau de bord Grafana (optionnel)
Don't have a Grafana server yet? Avec Stackhero, vous pouvez lancer un Grafana managé en seulement 2 minutes !
Vous pouvez utiliser un tableau de bord préconfiguré dans Grafana pour afficher les métriques de vos instances.
- Dans l'interface web de Grafana, allez dans
Create>Import. - Dans la section
Import via grafana.com, saisissez l'ID1860puis cliquez sur le boutonLoad. - Sur la page suivante, sélectionnez votre source de données Prometheus puis cliquez sur
Import.
Grafana va générer un tableau de bord qui affichera instantanément les données récupérées depuis Prometheus !
Tableau de bord Grafana affichant une instance en temps réel
En haut à gauche de l'écran, vous pouvez choisir l'instance à visualiser en cliquant sur la liste host.
Sélection d'une instance dans la liste "host"
Félicitations, vous pouvez maintenant surveiller toutes vos instances en temps réel !