La surveillance des alertes dans Google Distributed Cloud (GDC) avec isolation physique vous permet de suivre et de résoudre les problèmes liés aux notifications actives dans votre projet après avoir créé des règles d'alerte. Vous pouvez inspecter la gravité, la durée, l'état et les étiquettes des alertes dans la console GDC. Pour les scripts, les jobs Cron et les intégrations personnalisées, interrogez le point de terminaison HTTP Cortex Alertmanager de votre projet avec curl.
Avant de commencer
Pour obtenir les autorisations nécessaires pour interroger et visualiser les alertes, demandez à l'administrateur de votre projet IAM de vous accorder l'un des rôles Project Cortex Alertmanager associés dans l'espace de noms de votre projet. Selon le niveau d'accès et les autorisations dont vous avez besoin, vous pouvez obtenir des rôles d'éditeur ou de lecteur pour cette ressource dans un projet.
Le tableau suivant récapitule les exigences de Role pour PA and AO persona.
| Persona | Objet | Cluster | Rôle | Espace de noms | Groupe/Utilisateur | Configuration |
|---|---|---|---|---|---|---|
| PA | grafana | org-admin | project-cortex-alertmanager-viewer |
platform-obs | Groupe | 1 |
| PA | grafana | org-admin | project-cortex-alertmanager-viewer |
platform-obs | Utilisateur | 2 |
| AO | alertmanager | org-admin | project-cortex-alertmanager-viewer |
PROJECT_NAMESPACE | Groupe | 1 |
| AO | alertmanager | org-admin | project-cortex-alertmanager-viewer |
PROJECT_NAMESPACE | Utilisateur | 2 |
Remplacez les variables suivantes de manière appropriée :
| Variable | Description |
|---|---|
KUBECONFIG |
Vous aurez besoin du fichier kubeconfig du cluster spécifique contenant l'élément NAMESPACE où ce RoleBinding sera appliqué. |
RULE_NAME |
Nom unique de cette ressource RoleBinding dans l'espace de noms. Exemple :pa-cortex-alertmanager-viewer |
NAMESPACE |
Espace de noms Kubernetes dans lequel ce RoleBinding sera créé et appliqué. Recherchez la colonne Namespace dans le tableau précédent. |
EMAIL_ADDRESS |
Identifiant de l'utilisateur auquel le rôle est attribué. Il s'agit souvent d'une adresse e-mail. Par exemple, infrastructure-operator@example.com. |
ROLE |
Nom du Role contenant les autorisations que vous souhaitez accorder à l'utilisateur. Recherchez les rôles disponibles dans le tableau précédent. |
GROUP_NAME |
Nom de l'Group auquel appartient l'utilisateur PA/AO. Exemple :pa-group |
ZONE |
Nom de la zone |
Configuration 1
Cette configuration accorde à un groupe d'utilisateurs les autorisations nécessaires pour accéder aux alertes PA/AO dans le cluster org. Après avoir défini cette configuration, consultez la section Console de ce document pour afficher les alertes dans la console GDC.
Commande kubectl
Voici le format de commande générique :
kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n `NAMESPACE` --group=`GROUP_NAME` --role=project-cortex-alertmanager-viewerExemple :
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obsChemin d'accès au fichier IAC
/infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`GROUP_NAME`/<YAML_FILE>Fichier YAML
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: RULE_NAME namespace: NAMESPACE subjects: - kind: Group name: GROUP_NAME apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: project-cortex-alertmanager-viewer apiGroup: rbac.authorization.k8s.io
Configuration 2
Cette configuration est destinée au persona PA et cible l'objet grafana dans le cluster org-admin.
Il accorde le rôle project-cortex-alertmanager-viewer dans l'espace de noms platform-obs à un User.
Commande kubectl
Voici le format de commande générique :
kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --user=`EMAIL_ADDRESS` --role=project-cortex-alertmanager-viewerExemple :
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obsChemin d'accès au fichier IAC
/infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`EMAIL_ADDRESS`/<YAML_FILE>Fichier YAML
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: RULE_NAME namespace: platform-obs subjects: - kind: User name: EMAIL_ADDRESS apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: project-cortex-alertmanager-viewer apiGroup: rbac.authorization.k8s.ioPour en savoir plus sur ces rôles, consultez Préparer les autorisations IAM.
Afficher et filtrer les alertes ouvertes
Sélectionnez l'une des méthodes suivantes pour interroger et filtrer les alertes ouvertes à partir de l'espace de noms de votre projet :
Console
Affichez les alertes en cours dans un projet à partir de la console GDC :
- Connectez-vous à la console GDC.
- Dans la console GDC, sélectionnez votre projet.
- Dans le menu de navigation, sélectionnez Opérations > Alertes.
- Sélectionnez l'onglet Alertes.
- Affichez la liste des alertes.
- Dans la section Alertes ouvertes, cliquez sur Filtrer pour n'afficher que les alertes ouvertes. Vous pouvez également filtrer les alertes en fonction d'autres noms ou valeurs de propriété.
- Cliquez sur le nom d'une alerte pour afficher ses détails.
Point de terminaison Cortex
Cette section explique comment accéder aux alertes à l'aide de votre point de terminaison Cortex Alertmanager.
Identifier votre point de terminaison Cortex
L'URL suivante est le point de terminaison de l'instance Cortex de votre projet :
https://GDC_URL/PROJECT_NAMESPACE/cortex/alertmanager/
Remplacez les éléments suivants :
GDC_URL: URL de votre organisation dans GDC.PROJECT_NAMESPACE: l'espace de noms de votre projet.Par exemple, le point de terminaison Cortex pour le projet
platform-obsdans l'organisationorg-1esthttps://org-1/platform-obs/cortex/alertmanager/.
Authentifier la requête curl
- Téléchargez et installez la CLI gdcloud.
Définissez la propriété gdcloud
core/organization_console_url:gdcloud config set core/organization_console_url https://GDC_URLConnectez-vous avec le fournisseur d'identité configuré :
gdcloud auth loginUtilisez votre nom d'utilisateur et votre mot de passe pour vous authentifier et vous connecter.
Une fois la connexion établie, vous pouvez utiliser l'en-tête d'autorisation dans votre requête curl via la commande
gdcloud auth print-identity-token. Pour en savoir plus, consultez gdcloud auth.
Appeler le point de terminaison Cortex
Pour accéder au point de terminaison Cortex à l'aide de l'outil curl, procédez comme suit :
- Authentifiez la requête
curl. Utilisez
curlpour appeler le point de terminaison Cortex et étendez l'URL à l'aide de la spécification d'API Alertmanager standard (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) pour interroger les alertes.Voici un exemple de requête
curl:curl https://GDC_URL/PROJECT_NAME/cortex/alertmanager/api/v1/alertmanagers \ -H "Authorization: Bearer $(gdcloud auth print-identity-token \ --audiences=https://GDC_URL)"Vous obtenez le résultat suivant la commande. La réponse de l'API est au format JSON.