View a markdown version of this page

Connecter Grafana - AWS DevOps Agent

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connecter Grafana

L'intégration de Grafana permet à l' AWS DevOps agent d'interroger les métriques, les tableaux de bord et les données d'alerte de votre instance Grafana lors des enquêtes sur les incidents. Cette intégration suit un processus en deux étapes : l'enregistrement de Grafana au niveau du compte, suivi de sa connexion à des espaces d'agent individuels.

Pour améliorer la sécurité, l'intégration Grafana active uniquement les outils en lecture seule. Les outils d'écriture sont désactivés et ne peuvent pas être activés. Cela signifie que l'agent peut interroger et lire les données de votre instance Grafana mais ne peut pas créer, modifier ou supprimer des ressources Grafana telles que des tableaux de bord, des alertes ou des annotations. Pour plus d'informations, consultez la section Sécurité dans AWS DevOps l'agent.

Exigences relatives à Grafana

Avant de connecter Grafana, assurez-vous de disposer des éléments suivants :

  • Grafana version 9.0 ou ultérieure. Certaines fonctionnalités, en particulier les opérations liées aux sources de données, peuvent ne pas fonctionner correctement avec les versions précédentes en raison de points de terminaison d'API manquants.

  • Une instance Grafana accessible via HTTPS. Les points de terminaison des réseaux publics et privés sont pris en charge. Avec une connectivité réseau privée, votre instance Grafana peut être hébergée dans un VPC sans accès public à Internet. Pour en savoir plus, consultez Connexion à des outils hébergés en privé.

  • Un compte de service Grafana avec un jeton d'accès doté des autorisations de lecture appropriées

Enregistrement de Grafana (au niveau du compte)

Grafana est enregistré au niveau du AWS compte et partagé entre tous les espaces d'agent de ce compte. Chaque enregistrement correspond à une instance de Grafana. Pour enregistrer des instances Grafana supplémentaires, répétez ce processus pour chacune d'entre elles et attribuez à chaque enregistrement son propre nom de service.

Étape 1 : Configuration de Grafana

  1. Connectez-vous à la console AWS de gestion

  2. Accédez à la console de AWS DevOps l'agent

  3. Accédez à la page Capability Providers (accessible depuis la navigation latérale)

  4. Trouvez Grafana dans la section Fournisseurs disponibles sous Télémétrie et choisissez Enregistrer

  5. Sur la page Configurer Grafana, entrez les informations suivantes :

    • Nom du service (obligatoire) — Entrez un nom descriptif pour votre serveur Grafana en utilisant uniquement des caractères alphanumériques, des tirets et des traits de soulignement. Par exemple, my-grafana-server.

    • URL Grafana (obligatoire) — Entrez l'URL HTTPS complète de votre instance Grafana. Par exemple, https://myinstance.grafana.net.

    • Jeton d'accès au compte de service (obligatoire) — Entrez un jeton d'accès au compte de service Grafana. Les jetons commencent généralement parglsa_. Pour créer un jeton de compte de service, accédez à votre instance Grafana, accédez à Administration > Comptes de service, créez un compte de service avec le rôle Viewer et générez un jeton.

    • Description (facultatif) — Ajoutez une description pour aider à identifier l'objectif du serveur. Par exemple, Production Grafana server for monitoring.

  6. (Facultatif) Ajoutez des AWS balises à l'inscription à des fins d'organisation.

  7. Choisissez Next (Suivant)

Étape 2 : Vérifiez et soumettez l'inscription à Grafana

  1. Passez en revue tous les détails de configuration de Grafana

  2. Choisissez Soumettre pour terminer l'inscription

  3. Une fois l'inscription réussie, Grafana apparaît dans la section Actuellement enregistré de la page Capability Providers

Ajouter Grafana à un espace d'agent

Après avoir enregistré Grafana au niveau du compte, vous pouvez le connecter à des espaces d'agent individuels :

  1. Dans la console de l' AWS DevOps agent, sélectionnez votre espace d'agent

  2. Accédez à l'onglet Capacités

  3. Dans la section Télémétrie, choisissez Ajouter

  4. Choisissez l'enregistrement Grafana que vous souhaitez connecter à cet espace d'agent.

  5. Choisissez Enregistrer.

Un seul espace d'agent peut utiliser plusieurs enregistrements Grafana. Pour connecter un autre enregistrement, répétez ces étapes.

Configuration des webhooks d'alerte Grafana

Vous pouvez configurer Grafana pour déclencher automatiquement les enquêtes des AWS DevOps agents lorsque des alertes sont déclenchées en envoyant des webhooks via les points de contact Grafana. Pour plus de détails sur les méthodes d'authentification des webhooks et la gestion des informations d'identification, consultez. Invoquer un DevOps agent via Webhook

Si vous perdez le secret du webhook, faites-le pivoter pour générer un nouveau secret. L'URL du webhook ne change pas. Pour obtenir des instructions sur la gestion des informations d'identification du webhook, consultez la section Gestion des informations d'identification du webhook.

Étape 1 : Création d'un modèle de notification personnalisé

Dans votre instance Grafana, accédez à Alertes > Points de contact > Modèles de notification et créez un nouveau modèle avec le contenu suivant :

{{ define "devops-agent-payload" }} { "eventType": "incident", "incidentId": "{{ (index .Alerts 0).Labels.alertname }}-{{ (index .Alerts 0).Fingerprint }}", "action": "{{ if eq .Status "resolved" }}resolved{{ else }}created{{ end }}", "priority": "{{ if eq .Status "resolved" }}MEDIUM{{ else }}HIGH{{ end }}", "title": "{{ (index .Alerts 0).Labels.alertname }}", "description": "{{ (index .Alerts 0).Annotations.summary }}", "service": "{{ if (index .Alerts 0).Labels.job }}{{ (index .Alerts 0).Labels.job }}{{ else }}grafana{{ end }}", "timestamp": "{{ (index .Alerts 0).StartsAt }}", "data": { "metadata": { {{ range $k, $v := (index .Alerts 0).Labels }} "{{ $k }}": "{{ $v }}", {{ end }} "_source": "grafana" } } } {{ end }}

Ce modèle met en forme les alertes Grafana dans la structure de charge utile du webhook attendue par l'Agent. AWS DevOps Il met en correspondance les libellés, les annotations et le statut des alertes dans les champs appropriés et inclut tous les libellés d'alerte sous forme de métadonnées.

Étape 2 : Création d'un point de contact Webhook

  1. Dans Grafana, accédez à Alertes > Points de contact et choisissez Ajouter un point de contact

  2. Sélectionnez Webhook comme type d'intégration

  3. Définissez l'URL du point de terminaison du webhook de votre AWS DevOps agent

  4. Dans Paramètres facultatifs du webhook, configurez les en-têtes d'authentification en fonction de votre type de webhook. Consultez la section Méthodes d'authentification Webhook pour plus de détails.

  5. Définissez le champ Charge utile personnalisée pour utiliser votre modèle personnalisé : {{ template "devops-agent-payload" . }}

  6. Choisissez Enregistrer le point de contact

Étape 3 : affecter le point de contact à une politique de notification

  1. Accédez à Alertes > Politiques de notification

  2. Modifier une politique existante ou en créer une nouvelle

  3. Définissez le point de contact sur le point de contact du webhook que vous avez créé

  4. Choisissez Enregistrer la politique

Lorsqu'une alerte correspondante se déclenche, Grafana envoie la charge utile formatée à l' AWS DevOps Agent, qui lance automatiquement une enquête.

Limitations

  • ClickHouse outils de source de ClickHouse données  : les outils de source de données ne sont actuellement pas pris en charge.

  • Prévention proactive des incidents  : Prévention proactive des incidents n'utilise pas actuellement les outils Grafana. Le support est prévu pour une prochaine version.

Considérations relatives à Amazon Managed Grafana

Si vous utilisez Amazon Managed Grafana (AMG), tenez compte des limites suivantes :

  • Les points de contact Webhook ne sont pas pris en charge — AMG ne prend actuellement pas en charge les points de contact Webhook dans sa configuration d'alerte. Vous ne pouvez pas utiliser AMG pour envoyer des webhooks d'alerte directement à l' AWS DevOps agent. Pour plus de détails, consultez la section Alerter les points de contact dans Amazon Managed Grafana.

  • Expiration des jetons de compte de service — Les jetons de compte de service AMG ont une expiration maximale de 30 jours. Vous devrez alterner les jetons et mettre à jour votre enregistrement Grafana dans AWS DevOps Agent avant leur expiration. Consultez la section Gestion des connexions Grafana pour savoir comment mettre à jour les informations d'identification. Pour en savoir plus sur les limites de jetons AMG, consultez la section Comptes de service dans Amazon Managed Grafana.

Gestion des connexions Grafana

  • Mise à jour des informations d'identification  : si le jeton de votre compte de service expire ou doit être mis à jour, vous pouvez le modifier sans vous désinscrire. Sur la page Capability Providers, sélectionnez votre inscription à Grafana, choisissez Mettre à jour dans le menu Actions et saisissez le nouveau jeton. Vos associations d'espace d'agent sont préservées.

  • Affichage des instances connectées  : dans la console de l' AWS DevOps agent, sélectionnez votre espace d'agent et accédez à l'onglet Fonctionnalités pour afficher les sources de télémétrie connectées.

  • Supprimer Grafana — Pour déconnecter Grafana d'un espace d'agent, sélectionnez-le dans la section Télémétrie et choisissez Supprimer. Pour supprimer complètement l'enregistrement, supprimez-le d'abord de tous les espaces d'agent, puis désenregistrez-vous de la page Capability Providers.