Surveillez vos instances

Comment obtenir des métriques Prometheus en temps réel depuis vos instances Stackhero

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éelTableau de bord Grafana affichant une instance en temps réel

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 :

  1. 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.
  2. Votre serveur Prometheus déclenche des alertes via Alert Manager lorsque les conditions définies sont atteintes.
  3. Votre serveur Grafana se connecte à votre serveur Prometheus pour afficher des tableaux de bord présentant vos instances Stackhero.

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/0 pour autoriser toutes les IP).
  • Copiez la configuration Prometheus générée.

Création d'un token Prometheus dans le tableau de bord StackheroCréation d'un token Prometheus dans le tableau de bord Stackhero

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>"

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 StackheroTableau 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 StackheroTableau 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.

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.

  1. Dans l'interface web de Grafana, allez dans Create > Import.
  2. Dans la section Import via grafana.com, saisissez l'ID 1860 puis cliquez sur le bouton Load.
  3. 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éelTableau 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"Sélection d'une instance dans la liste "host"

Félicitations, vous pouvez maintenant surveiller toutes vos instances en temps réel !