Surveillez vos instances

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

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

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 :

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

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

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

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

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.

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

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