Freigeben über


Sammeln Sie Argo-CD-Metriken mithilfe eines verwalteten Dienstes für Prometheus.

Argo CD ist ein deklaratives GitOps-Continuous Delivery-Tool für Kubernetes. Argo CD folgt dem GitOps-Muster der Verwendung von Git-Repositorys als Wahrheitsquelle für die Definition der gewünschten Anwendungszustände. Sie automatisiert die Bereitstellung der gewünschten Anwendungszustände in den angegebenen Zielumgebungen. Anwendungsbereitstellungen können Updates für Verzweigungen oder Tags nachverfolgen oder an eine bestimmte Version von Manifesten bei einem Git-Commit angeheftet werden.

In diesem Artikel wird beschrieben, wie Sie den verwalteten Azure Monitor-Dienst für Prometheus mit Azure Kubernetes Service (AKS) und mit Azure Arc-fähigem Kubernetes konfigurieren, um Argo CD durch Abfragen von Prometheus-Metriken zu überwachen.

Voraussetzungen

  • Argo CD, ausgeführt auf AKS oder Azure Arc-fähigen Kubernetes
  • Verwalteter Dienst für Prometheus im Cluster aktiviert. Weitere Informationen finden Sie unter Enable Prometheus und Grafana.

Bereitstellen von Dienstmonitoren

Stellen Sie die folgenden Dienstmonitore bereit, um den verwalteten Dienst für Prometheus-Add-On so zu konfigurieren, dass Prometheus-Metriken aus der Argo CD-Workload verschrottet werden.

Hinweis

Geben Sie die richtigen Bezeichnungen matchLabels in für die Dienstmonitore an, wenn sie nicht mit den konfigurierten Bezeichnungen im Beispiel übereinstimmen.

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

Hinweis

Wenn Sie andere Dienst- oder Podmonitore konfigurieren möchten, befolgen Sie diese Anweisungen.

Bereitstellen von Regeln

  1. Laden Sie die Vorlagendatei und die Parameterdatei für Warnungsregeln herunter.

  2. Bearbeiten Sie die folgenden Werte in der Parameterdatei.

    Parameter Wert
    azureMonitorWorkspace Ressourcen-ID für den Azure Monitor-Arbeitsbereich. Rufen Sie sie aus der JSON-Ansicht auf der Übersichtsseite für den Azure Monitor-Arbeitsbereich ab.
    location Standort des Azure Monitor-Arbeitsbereichs. Rufen Sie sie aus der JSON-Ansicht auf der Übersichtsseite für den Azure Monitor-Arbeitsbereich ab.
    clusterName Name des AKS-Clusters. Rufen Sie sie aus der JSON-Ansicht auf der Seite "Übersicht" für den Cluster ab.
    actionGroupId Ressourcen-ID für die Warnungsaktionsgruppe. Rufen Sie sie aus der JSON-Ansicht auf der Seite "Übersicht" für die Aktionsgruppe ab. Erfahren Sie mehr über Aktionsgruppen.
  3. Stellen Sie die Vorlage mithilfe von Standardmethoden zum Installieren von Azure Resource Manager-Vorlagen bereit. Anleitungen finden Sie unter Ressourcen-Manager-Vorlagenbeispiele für Azure Monitor.

  4. Nachdem Sie die Vorlage bereitgestellt haben, können Sie die Regeln im Azure-Portal anzeigen, wie in "Prometheus-Regelgruppen anzeigen" beschrieben. Überprüfen Sie die Warnungsschwellenwerte, um sicherzustellen, dass sie Ihrem Cluster und Ihren Workloads entsprechen. Aktualisieren Sie die Schwellenwerte entsprechend.

    Hinweis

    Die Regeln sind nicht auf einen Cluster beschränkt. Wenn Sie die Regeln auf einen bestimmten Cluster beschränken möchten, lesen Sie " Einschränken von Regeln auf einen bestimmten Cluster".

Weitere Informationen zu Prometheus-Warnungen finden Sie hier. Wenn Sie andere Open-Source Prometheus-Warnungs-/Aufzeichnungsregeln verwenden möchten, verwenden Sie az-prom-rules-converter , um die Azure-äquivalenten Prometheus-Regeln zu erstellen.

Importieren des Grafana-Dashboards

Um das Grafana-Dashboard für Argo CD (ID 14191) mithilfe der ID oder JSON zu importieren, befolgen Sie die Anweisungen unter Importieren eines Dashboards aus Grafana Labs.

Fehlersuche

Wenn die Dienstmonitore erfolgreich angewendet werden und Sie sicherstellen möchten, dass das Add-On die Ziele des Dienstmonitors erfasst, befolgen Sie diese Anweisungen.