Condividi tramite


Raccogliere le metriche di Argo CD usando il servizio gestito per Prometheus

Argo CD è uno strumento di recapito continuo GitOps dichiarativo per Kubernetes. Argo CD segue il modello GitOps di usare repository Git come origine della verità per definire gli stati dell'applicazione desiderati. Automatizza la distribuzione degli stati dell'applicazione desiderati negli ambienti di destinazione specificati. Le distribuzioni di applicazioni possono tenere traccia degli aggiornamenti ai rami o ai tag oppure possono essere aggiunte a una versione specifica di manifesti in un commit Git.

Questo articolo descrive come configurare la funzionalità del servizio gestito per Prometheus di Monitoraggio di Azure con il servizio Azure Kubernetes (AKS) e Kubernetes abilitato per Azure Arc per monitorare Argo CD scorporando le metriche di Prometheus.

Prerequisiti

  • Argo CD in esecuzione nel servizio Azure Kubernetes o in Kubernetes abilitato per Azure Arc
  • Servizio gestito per Prometheus abilitato nel cluster. Per altre informazioni, vedere Abilitare Prometheus e Grafana.

Distribuire monitoraggi dei servizi

Distribuire i monitoraggi dei servizi seguenti per configurare il componente aggiuntivo servizio gestito per Prometheus per scorporare le metriche di Prometheus dal carico di lavoro di Argo CD.

Nota

Specificare le etichette corrette in matchLabels per i monitoraggi dei servizi, se non corrispondono a quelle configurate nell'esempio.

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

Nota

Se si vogliono configurare altri monitoraggi di servizi o pod, seguire queste istruzioni.

Distribuire regole

  1. Scaricare il file modello e il file dei parametri per le regole di avviso.

  2. Modificare i valori seguenti nel file di parametri.

    Parametro Valore
    azureMonitorWorkspace ID risorsa per l'area di lavoro Azure Monitor. Recuperarlo dalla Vista JSON nella pagina Panoramica per l'area di lavoro di Monitoraggio di Azure.
    location Posizione dell'area di lavoro di Monitoraggio di Azure. Recuperarlo dalla Vista JSON nella pagina Panoramica per l'area di lavoro di Monitoraggio di Azure.
    clusterName Nome del cluster AKS. Recuperarlo dalla Vista JSON nella pagina Panoramica per il cluster.
    actionGroupId ID risorsa per il gruppo di azioni di avviso. Recuperarlo dalla vista JSON nella pagina Panoramica per il gruppo di azioni. Altre informazioni sui gruppi di azioni.
  3. Distribuire il modello usando qualsiasi metodo standard per l'installazione di modelli di Azure Resource Manager. Per indicazioni, vedere Esempi di modelli di Resource Manager per Monitoraggio di Azure.

  4. Dopo aver distribuito il modello, è possibile visualizzare le regole nel portale di Azure, come descritto in Visualizzare i gruppi di regole prometheus. Esaminare le soglie di avviso per assicurarsi che siano adatte al cluster e ai carichi di lavoro. Aggiornare le soglie di conseguenza.

    Nota

    Le regole non hanno come ambito un cluster. Per definire l'ambito delle regole in un cluster specifico, vedere Limitazione delle regole a un cluster specifico.

Puoi scoprire di più sugli avvisi di Prometheus. Se si desidera utilizzare altre regole di avviso/registrazione Prometheus open-source, impiegare az-prom-rules-converter per creare regole Prometheus equivalenti in Azure.

Importare il dashboard di Grafana

Per importare il dashboard di Grafana per Argo CD (ID 14191) usando l'ID o JSON, seguire le istruzioni in Importare un dashboard da Grafana Labs.

Risoluzione dei Problemi

Quando i monitoraggi dei servizi vengono applicati correttamente, per assicurarsi che il componente aggiuntivo prelevi le destinazioni di monitoraggio dei servizi, seguire queste istruzioni.