Dela via


Samla in Argo CD-metricer med hjälp av hanterad Prometheus-tjänst

Argo CD är ett deklarativt GitOps-verktyg för kontinuerlig leverans för Kubernetes. Argo CD följer GitOps-mönstret för att använda Git-lagringsplatser som sanningskälla för att definiera önskade programtillstånd. Den automatiserar distributionen av önskade programtillstånd i de angivna målmiljöerna. Applikationsdistributioner kan spåra uppdateringar av grenar eller taggar, eller så kan de låsas till en specifik version av manifest vid en Git-commit.

Den här artikeln beskriver hur du konfigurerar Azure Monitor-hanterad tjänst för Prometheus-funktionen med Azure Kubernetes Service (AKS) och Azure Arc-aktiverade Kubernetes för att övervaka Argo CD genom att avläsa Prometheus-mätvärden.

Förutsättningar

  • Argo CD som körs på AKS eller på Kubernetes som är aktiverat med Azure Arc
  • Hanterad tjänst för Prometheus aktiverad på klustret. För mer information, se Enable Prometheus and Grafana.

Distribuera tjänstövervakare

Distribuera följande tjänstövervakningsverktyg för att konfigurera den hanterade tjänsten för Prometheus-tillägget så att den kan samla in Prometheus mätvärden från Argo CD-arbetsbelastningen.

Kommentar

Ange rätt etiketter i matchLabels för tjänstövervakarna om de inte matchar de konfigurerade i exemplet.

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

Kommentar

Om du vill konfigurera andra tjänster eller podövervakare, följ dessa instruktioner.

Distribuera regler

  1. Ladda ner mallfilen och parameterfilen för varningsregler.

  2. Redigera följande värden i parameterfilen.

    Parameter Värde
    azureMonitorWorkspace Resurs-ID för Azure Monitor-arbetsytan. Hämta det från JSON-vynÖversikt-sidan för Azure Monitor-arbetsytan.
    location Plats för Azure Monitor-arbetsytan. Hämta det från JSON-vynÖversikt-sidan för Azure Monitor-arbetsytan.
    clusterName Namnet på AKS-klustret. Hämta det från JSON-vynÖversikt-sidan för klustret.
    actionGroupId Resurs-ID för aviseringsåtgärdsgruppen. Hämta den från JSON-vynÖversikt-sidan för åtgärdsgruppen. Läs mer om åtgärdsgrupper.
  3. Distribuera mallen med hjälp av standardmetoder för att installera Azure Resource Manager-mallar. För vägledning, se Resource Manager-mallprover för Azure Monitor.

  4. Efter att du har distribuerat mallen kan du se reglerna i Azure-portalen, enligt beskrivningen i View Prometheus rule groups. Granska varningsgränserna för att säkerställa att de passar till din kluster och arbetsbelastningar. Uppdatera tröskelvärdena därefter.

    Kommentar

    Reglerna omfattar inte ett kluster. Om du vill begränsa reglerna till ett specifikt kluster, se Begränsa regler till ett specifikt kluster.

Du kan lära dig mer om Prometheus-varningar. Om du vill använda några andra open-source Prometheus varnings-/registreringsregler, använd az-prom-rules-converter för att skapa Azure-ekvivalenta Prometheus regler.

Importera Grafana-instrumentpanelen

Om du vill importera Grafana-instrumentpanelen för Argo CD (ID 14191) med hjälp av ID:t eller JSON följer du anvisningarna i Importera en instrumentpanel från Grafana Labs.

Felsökning

När tjänstövervakare har tillämpats korrekt följer du de här anvisningarna om du vill se till att tillägget hämtar målen för tjänstövervakaren.