La surveillance de flotte ACK One s'appuie sur Managed Service for Prometheus pour collecter les métriques de vos instances Fleet. Vous pouvez définir des règles d'alerte Prometheus personnalisées afin de surveiller en temps réel l'utilisation des ressources des pods Argo CD et d'envoyer des notifications lorsque les seuils sont dépassés.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Activé la surveillance de flotte. Consultez Activer la surveillance de flotte.
Configuré un objet de notification. Reportez-vous à Objets de notification.
Si votre objet de notification est DingTalk, ajoutez Custom Keywords dans les paramètres de sécurité du chatbot DingTalk avant de poursuivre.
Créer une règle d'alerte Argo CD
Connectez-vous à la console ACK One. Dans le volet de navigation de gauche, choisissez Fleet > Fleet Observability > Fleet Monitoring.
Dans le coin supérieur droit de la page Fleet Monitoring, cliquez sur Alert Settings pour ouvrir la page Prometheus Alert Rules.
-
Cliquez sur Create Prometheus Alert Rule et renseignez les champs décrits dans le tableau suivant.
Paramètre Description Valeur par défaut Exemple Alert rule name Nom de la règle d'alerte. — ACK One Argo CD pod memory alertCheck type Méthode de détection. Static Threshold compare une métrique à une valeur fixe. Custom PromQL vous permet d'écrire directement une expression PromQL. — Static ThresholdPrometheus instance Instance Fleet ACK One à surveiller. — text-XXXXAlert contact group Groupe d'applications Kubernetes à surveiller au sein de votre environnement. — Kubernetes workloadAlert metric Métrique à évaluer. Pour les pods Argo CD, Container Memory Usage et Container CPU Utilization constituent les métriques les plus importantes à surveiller. — Container Memory UsageAlert condition Condition de seuil déclenchant un événement d'alerte. — Utilisation du CPU supérieure à 80%Filter conditions Restreint la portée de la règle d'alerte. Consultez les types de conditions de filtrage ci-dessous. Traverse Namespace Equal argocd, Pod: TraverseDuration Détermine le moment du déclenchement d'un événement d'alerte. Consultez les options de durée ci-dessous. — Condition d'alerte remplie continuellement pendant 2 minutes Alert level Niveau de gravité. Default correspond au niveau le plus bas ; P1 au plus élevé. Valeurs valides : Default, P4, P3, P2, P1. Default P1Alert message Message envoyé aux destinataires lorsqu'une alerte se déclenche. Vous pouvez spécifier des variables personnalisées dans le message d'alerte selon la syntaxe du modèle Go. — Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Container: {{$labels.container}} CPU utilization: {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%. Current value: {{ printf "%.2f" $value }}%Alert notification Format de notification. Valeurs valides : Simple Mode et Standard Mode. — Simple ModeNotification objects Canaux recevant les messages d'alerte, tels qu'un groupe DingTalk. — DingTalk alertNotification period Plage horaire durant laquelle les notifications d'alerte sont envoyées. — 23:00–01:00Whether to resend notifications Fréquence de renvoi de l'alerte si elle n'est pas résolue. — Toutes les 10 minutes Filter condition types
Type Portée Saisie supplémentaire requise Prend en charge plusieurs valeurs Traverse (par défaut) Toutes les ressources de l'instance Prometheus Non N/A Equal Uniquement la ressource spécifiée Nom de la ressource Non Not equal Toutes les ressources sauf celle spécifiée Nom de la ressource Non Regex match Ressources dont les noms correspondent à l'expression Expression régulière Oui (via regex) Regex not match Ressources dont les noms ne correspondent pas à l'expression Expression régulière Oui (via regex) Options de durée
Option Déclenchement de l'alerte Si la condition d'alerte est remplie Dès qu'un seul point de données dépasse le seuil Si la condition d'alerte est remplie continuellement pendant N minutes Seulement après que le seuil a été dépassé pendant au moins N minutes consécutives Cliquez sur Completed pour enregistrer la règle d'alerte.
Vérifier la règle d'alerte
Après avoir enregistré la règle, simulez la condition d'alerte pour confirmer que les notifications parviennent bien aux destinataires prévus :
Abaissez temporairement le seuil d'alerte à une valeur actuellement dépassée par vos pods Argo CD, ou générez un pic de charge sur les pods.
Attendez l'écoulement de la Duration configurée.
Vérifiez l'objet de notification (par exemple, le groupe DingTalk) pour y trouver un message d'alerte.
Confirmez que le contenu du message correspond au modèle Alert message que vous avez configuré.
Pour consulter les événements d'alerte historiques, ouvrez la console Prometheus. Consultez Afficher les alertes historiques.
Étapes suivantes
Créer et gérer un modèle de règle d'alerte — réutilisez les configurations d'alerte sur plusieurs instances Fleet.
Activer la surveillance de flotte — mettez en place les bases de la surveillance si ce n'est pas déjà fait.