Partager via


Collecter les métriques Argo CD à l’aide du service géré pour Prometheus

Argo CD est un outil de livraison continue GitOps déclaratif pour Kubernetes. Argo CD suit le modèle GitOps d’utilisation de référentiels Git comme source de vérité pour définir les états d’application souhaités. Il automatise le déploiement des états d’application souhaités dans les environnements cibles spécifiés. Les déploiements d'applications peuvent suivre les mises à jour des branches ou des balises, ou être épinglés à une version spécifique des manifestes lors d'un commit Git.

Cet article explique comment configurer le service managé Azure Monitor pour Prometheus avec Azure Kubernetes Service (AKS) et Kubernetes avec Azure Arc pour surveiller Argo CD en supprimant les métriques Prometheus.

Prérequis

  • Argo CD exécuté sur AKS ou Azure Kubernetes avec Arc
  • Service managé pour Prometheus activé sur le cluster. Pour plus d’informations, consultez Activer Prometheus et Grafana.

Déployer des moniteurs de service

Déployez les moniteurs de service suivants pour configurer le service managé pour le module complémentaire Prometheus afin de récupérer les métriques Prometheus à partir de la charge de travail Argo CD.

Remarque

Spécifiez les étiquettes appropriées pour les moniteurs de service s’ils ne correspondent pas aux étiquettes matchLabels configurées dans l’exemple.

apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: azmon-argocd-metrics
spec:
  labelLimit: 63
  labelNameLengthLimit: 511
  labelValueLengthLimit: 1023
  selector:
    matchLabels:
     app.kubernetes.io/name: argocd-metrics
  namespaceSelector:
    any: true
  endpoints:
  - port: metrics
---
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: azmon-argocd-repo-server-metrics
spec:
  labelLimit: 63
  labelNameLengthLimit: 511
  labelValueLengthLimit: 1023
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-repo-server
  namespaceSelector:
    any: true
  endpoints:
  - port: metrics
---
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: azmon-argocd-server-metrics
spec:
  labelLimit: 63
  labelNameLengthLimit: 511
  labelValueLengthLimit: 1023
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-server-metrics
  namespaceSelector:
    any: true
  endpoints:
  - port: metrics

Remarque

Si vous souhaitez configurer d’autres moniteurs de service ou de pod, suivez ces instructions.

Déployer des règles

  1. Téléchargez le fichier de modèle et le fichier de paramètres pour les règles d’alerte.

  2. Modifiez les valeurs suivantes dans le fichier de paramètres.

    Paramètre Valeur
    azureMonitorWorkspace ID de ressource de l’espace de travail Azure Monitor. Récupérez-le à partir de la vue JSON dans la page Vue d’ensemble de l’espace de travail Azure Monitor.
    location Emplacement de l’espace de travail Azure Monitor. Récupérez-le à partir de la vue JSON dans la page Vue d’ensemble de l’espace de travail Azure Monitor.
    clusterName Nom du cluster AKS. Récupérez-le à partir de la vue JSON sur la page Vue d’ensemble du cluster.
    actionGroupId ID de ressource pour le groupe d’actions d’alerte. Récupérez-le à partir de la vue JSON sur la page Vue d’ensemble du groupe d’actions. En savoir plus sur les groupes d’actions.
  3. Déployez le modèle à l’aide de n’importe quelle méthode standard pour installer des modèles Azure Resource Manager. Pour obtenir des conseils, consultez les exemples de modèles Resource Manager pour Azure Monitor.

  4. Après avoir déployé le modèle, vous pouvez afficher les règles dans le portail Azure, comme décrit dans Afficher les groupes de règles Prometheus. Passez en revue les seuils d’alerte pour vous assurer qu’ils conviennent à votre cluster et vos charges de travail. Mettez à jour les seuils en conséquence.

    Remarque

    Les règles ne sont pas limitées à un cluster. Si vous souhaitez étendre les règles à un cluster spécifique, consultez Limitation des règles à un cluster spécifique.

Vous pouvez en savoir plus sur les alertes Prometheus. Si vous souhaitez utiliser d’autres règles d’alerte/enregistrement Prometheus open source, utilisez az-prom-rules-converter pour créer les règles Prometheus équivalentes à Azure.

Importer le tableau de bord Grafana

Pour importer le tableau de bord Grafana pour Argo CD (ID 14191) à l’aide de l’ID ou du code JSON, suivez les instructions fournies dans Importer un tableau de bord à partir de Grafana Labs.

Résolution des problèmes

Lorsque les moniteurs de service sont correctement appliqués, si vous souhaitez vous assurer que le module complémentaire récupère les cibles du moniteur de service, suivez ces instructions.