Surveillez vos instances
Comment obtenir des métriques en temps réel au format Prometheus depuis vos instances Stackhero
Introduction
Stackhero vous aide à récupérer des métriques en temps réel de vos instances au format Prometheus. Cette intégration fluide facilite la visualisation des données avec des tableaux de bord Grafana et le déclenchement d'alertes via Prometheus (par e-mail, SMS, Slack, Mattermost, et plus encore) pour tous vos services Stackhero en seulement quelques minutes.
Tableau de bord Grafana affichant une instance en temps réel
Comment fonctionnent les métriques Prometheus sur Stackhero
Stackhero fournit un endpoint HTTP de "Service Discovery" qui retourne des métriques en temps réel de vos instances au format Prometheus.
Voici le fonctionnement global :
- Votre serveur Prometheus se connecte toutes les 15 secondes à l'API de 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 remplies.
- Votre serveur Grafana se connecte à votre serveur Prometheus pour afficher des tableaux de bord montrant vos instances Stackhero.
Récupérer des 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 pourra utiliser pour se connecter à l'API de Stackhero.
- Connectez-vous à votre tableau de bord Stackhero.
- Dans le menu de gauche, naviguez jusqu'à
Prometheus. - Cliquez sur
Créer un token. - Ajoutez une description et, si nécessaire, limitez l'accès 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
Vous n'avez pas encore de serveur Prometheus ? Avec Stackhero, vous pouvez démarrer un Prometheus managé en seulement 2 minutes !
Ouvrez votre fichier de configuration prometheus.yml et ajoutez le job "stackhero" (précédemment généré) à 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 le définissez pas à moins de 15 secondes !
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
3. Vérifiez que Prometheus récupère les métriques
Accédez à votre tableau de bord Prometheus et allez dans Status > Service Discovery. Vous devriez voir une entrée de service discovery "stackhero" enregistrée.
Tableau de bord Prometheus affichant le service discovery Stackhero
Ensuite, allez dans Status > Targets. Vous devriez voir un endpoint pour chaque instance Stackhero.
Tableau de bord Prometheus affichant les cibles Stackhero
Félicitations ! Votre serveur Prometheus récupère maintenant automatiquement les métriques en temps réel pour tous vos services.
4. Ajoutez un tableau de bord Grafana (optionnel)
Vous n'avez pas encore de serveur Grafana ? Avec Stackhero, vous pouvez démarrer un Grafana managé en seulement 2 minutes !
Vous pouvez profiter d'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, définissez l'ID sur1860et cliquez sur le boutonLoad. - Sur la page suivante, sélectionnez votre source de données Prometheus et cliquez sur
Import.
Grafana générera 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 que vous souhaitez 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 !