Bereitstellen von Prometheus auf Arbeitslastclustern

In diesem Thema wird die Bereitstellung von Prometheus in einem Arbeitslastcluster erläutert. Die folgenden Verfahren gelten für vSphere-, AWS- (Amazon Web Services) und Azure-Bereitstellungen.

Prometheus

Bei Prometheus handelt es sich um ein Open Source-Toolkit für Systemüberwachung und -warnungen. Tanzu Kubernetes Grid enthält signierte Binärdateien für Prometheus, die Sie in Arbeitslastclustern zur Überwachung der Clusterintegrität und der Dienste bereitstellen können.

Voraussetzungen

Wichtig

Die Unterstützung für IPv6-Adressen in Tanzu Kubernetes Grid ist begrenzt. Weitere Informationen finden Sie unter Bereitstellen von Clustern auf IPv6 (nur vSphere). Wenn die Bereitstellung nicht für eine auf IPv6 beschränkte Netzwerkumgebung vorgesehen ist, müssen Sie IPv4-Adressen mithilfe der folgenden Schritte angeben.

Vorbereiten des Arbeitslastclusters für die Prometheus-Bereitstellung

So bereiten Sie den Cluster vor:

  1. Rufen Sie die Admin-Anmeldedaten des Arbeitslastclusters ab, in dem Sie Prometheus bereitstellen möchten. Beispiel:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. Legen Sie den Kontext von kubectl auf den Cluster fest. Beispiel:

    kubectl config use-context my-cluster-admin@my-cluster
    

(Optional) Aktivieren von Ingress für Prometheus

Zum Aktivieren von Ingress können Sie die folgenden optionalen Pakete installieren:

  1. Installieren Sie cert-manager. Informationen hierzu finden Sie unter Installieren von cert-manager für die Zertifikatsverwaltung.
  2. Installieren Sie Contour. Weitere Informationen finden Sie unter Installieren von Contour für die Ingress-Steuerung.

Fahren Sie unten mit der Bereitstellung von Prometheus im Arbeitslastcluster fort.

Bereitstellen von Prometheus im Arbeitslastcluster

So installieren Sie Prometheus:

  1. Wenn das standard-Paket-Repository noch nicht auf dem Cluster installiert ist, installieren Sie es:

    Hinweis

    Wenn Sie einen planbasierten Cluster (Legacy) als Ziel verwenden, überspringen Sie diesen Schritt. Für planbasierte Cluster wird das tanzu-standard-Paket-Repository automatisch in jedem Cluster im Namespace tanzu-package-repo-global aktiviert.

    tanzu package repository add tanzu-standard --url PACKAGE-REPOSITORY-ENDPOINT --namespace tkg-system
    

    Dabei ist PACKAGE-REPOSITORY-ENDPOINT die URL des Paket-Repositorys standard. Für diese Version lautet die URL projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1.

    Informationen zum Abrufen dieses Werts über die Tanzu CLI finden Sie unter Listen von Paketrepositorys oder in Tanzu Mission Control in der Liste Add-Ons (Addons) > Repositorys (Repositories) im Fensterbereich Cluster.

  2. Bestätigen Sie, dass das Prometheus-Paket in Ihrem Arbeitslastcluster verfügbar ist:

    tanzu package available list -A
    
  3. Rufen Sie die Version des verfügbaren Pakets ab:

    tanzu package available list prometheus.tanzu.vmware.com -A
    | Retrieving package versions for prometheus.tanzu.vmware.com...
     NAME                           VERSION                          RELEASED-AT           NAMESPACE
     prometheus.tanzu.vmware.com    2.27.0+vmware.1-tkg.1            2020-11-24T18:00:00Z  tanzu-package-repo-global
    

Bei der Bereitstellung von Prometheus können Sie folgende Aufgaben durchführen:

vSphere with Tanzu: Um das Prometheus-Paket in einem Arbeitslastcluster bereitzustellen, der von einem vSphere Supervisor Cluster erstellt wurde, müssen Sie es mit benutzerdefinierten Werten bereitstellen. Das Prometheus-Paket wurde für Arbeitslastcluster unter vSphere 7.0 U3 nicht validiert.

Bereitstellen von Prometheus mit Standardkonfigurationen

Nachdem Sie die Paketversion bestätigt und abgerufen haben, können Sie das Paket installieren.

  1. Installieren Sie das Prometheus-Paket mit den zugehörigen Standardwerten:

    tanzu package install prometheus \
    --package prometheus.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --namespace TARGET-NAMESPACE
    

    Dabei gilt:

    • TARGET-NAMESPACE ist der Namespace, in dem das Prometheus-Paket installiert werden soll. Beispielsweise der Namespace my-packages oder tanzu-cli-managed-packages.

      • Wenn das Flag --namespace nicht angegeben ist, verwendet die Tanzu CLI den Namespace default. Die Prometheus-Pods und alle anderen mit der Prometheus-Komponente verknüpften Ressourcen werden im Namespace tanzu-system-monitoring erstellt. Installieren Sie das Prometheus-Paket nicht in diesem Namespace.
      • Der angegebene Namespace muss bereits vorhanden sein, wie z. B. durch die Ausführung von kubectl create namespace my-packages.
    • AVAILABLE-PACKAGE-VERSION ist die Version, die Sie oben abgerufen haben, z. B. 2.27.0+vmware.1-tkg.1.

    Beispiel:

    tanzu package install prometheus --package prometheus.tanzu.vmware.com --namespace my-packages --version 2.27.0+vmware.1-tkg.1
    
    \ Installing package 'prometheus.tanzu.vmware.com'
    | Getting package metadata for 'prometheus.tanzu.vmware.com'
    | Creating service account 'prometheus-my-packages-sa'
    | Creating cluster admin role 'prometheus-my-packages-cluster-role'
    | Creating cluster role binding 'prometheus-my-packages-cluster-rolebinding'
    - Creating package resource
    \ Package install status: Reconciling
    
    Added installed package 'prometheus' in namespace 'my-packages'
    
  2. vSphere with Tanzu: Bei vSphere 8 und vSphere 7.0 U2 mit aktivierter vSphere with Tanzu-Funktion gibt der Befehl tanzu package install prometheus möglicherweise den Fehler Failed to get final advertise address: No private IP address found, and explicit IP not provided zurück.

    Um diesen Fehler zu beheben, erstellen Sie ein Paket-Overlay und wenden Sie es an, um die Komponente alertmanager neu zu konfigurieren:

    1. Erstellen Sie die Datei overlay-alertmanager.yaml mit:

      ---
      #@ load("@ytt:overlay", "overlay")
      
      #@overlay/match by=overlay.and_op(overlay.subset({"kind": "Deployment"}), overlay.subset({"metadata": {"name": "alertmanager"}}))
      ---
      spec:
        template:
          spec:
            containers:
              #@overlay/match by="name",expects="0+"
              - name: alertmanager
                args:
                  - --cluster.listen-address=
      
    2. Erstellen Sie einen geheimen Schlüssel aus dem Overlay:

      kubectl create secret generic alertmanager-overlay -n tanzu-package-repo-global -o yaml --dry-run=client --from-file=overlay-alertmanager.yaml | kubectl apply -f -
      
    3. Versehen Sie das Paket mit dem geheimen Schlüssel:

      kubectl annotate PackageInstall prometheus -n tanzu-package-repo-global ext.packaging.carvel.dev/ytt-paths-from-secret-name.1=alertmanager-overlay
      

Fahren Sie unten mit dem Überprüfen der Prometheus-Bereitstellungfort.

Bereitstellen von Prometheus mit benutzerdefinierten Werten

So installieren Sie das Prometheus-Paket mit vom Benutzer bereitgestellten Werten:

  1. Erstellen Sie eine Konfigurationsdatei. Anhand dieser Datei wird das Prometheus-Paket konfiguriert.

    tanzu package available get prometheus.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
    

    Dabei ist PACKAGE-VERSION die Version des Prometheus-Pakets, das Sie installieren möchten, und FILE-PATH der Speicherort, an dem Sie die Konfigurationsdatei speichern möchten, z. B. prometheus-data-values.yaml. Mit dem obigen Befehl wird eine Konfigurationsdatei mit dem Namen prometheus-data-values.yaml erstellt, die die Standardwerte enthält. Beachten Sie, dass diese Datei in den vorherigen Versionen als prometheus-data-values.yaml bezeichnet wurde.

    Informationen zu Konfigurationsparametern, die in prometheus-data-values.yaml verwendet werden sollen, finden Sie nachfolgend unter Konfigurationsparameter des Prometheus-Pakets.

  2. vSphere with Tanzu: Wenn Sie Prometheus in einem Arbeitslastcluster bereitstellen, der von einem vSphere Supervisor-Cluster erstellt wurde, legen Sie einen Wert ungleich null für prometheus.pvc.storageClassName und alertmanager.pvc.storageClassName in der Datei prometheus-data-values.yaml fest:

    ingress:
      enabled: true
      virtual_host_fqdn: "prometheus.corp.tanzu"
      prometheus_prefix: "/"
      alertmanager_prefix: "/alertmanager/"
      prometheusServicePort: 80
      alertmanagerServicePort: 80
    prometheus:
      pvc:
        storageClassName: STORAGE-CLASS
    alertmanager:
      pvc:
        storageClassName: STORAGE-CLASS
    

    Dabei gilt: STORAGE-CLASS ist der Name der Speicherklasse des Clusters, wie von kubectl get storageclass zurückgegeben.

  3. Nachdem Sie notwendige Änderungen an der Datei prometheus-data-values.yaml vorgenommen haben, entfernen Sie alle enthaltenen Kommentare:

    yq -i eval '... comments=""' prometheus-data-values.yaml
    
  4. Stellen Sie das Paket bereit:

    tanzu package install prometheus \
    --package prometheus.tanzu.vmware.com \
    --version PACKAGE-VERSION \
    --values-file prometheus-data-values.yaml \
    --namespace TARGET-NAMESPACE
    

    Dabei gilt:

    • TARGET-NAMESPACE ist der Namespace, in dem Sie das Prometheus-Paket, die Prometheus-Paket-App und alle anderen Kubernetes-Ressourcen installieren möchten, die das Paket beschreiben. Beispielsweise der Namespace my-packages oder tanzu-cli-managed-packages. Wenn das Flag --namespace nicht angegeben ist, verwendet die Tanzu CLI den Namespace default. Die Prometheus-Pods und alle anderen mit der Prometheus-Komponente verknüpften Ressourcen werden im Namespace tanzu-system-monitoring erstellt. Installieren Sie das Prometheus-Paket nicht in diesem Namespace.
    • PACKAGE-VERSION ist die Version, die Sie oben abgerufen haben, z. B. 2.27.0+vmware.1-tkg.1.

Fahren Sie unten mit dem Überprüfen der Prometheus-Bereitstellungfort.

Überprüfen der Prometheus-Bereitstellung

Nach der Bereitstellung von Prometheus können Sie überprüfen, ob die Bereitstellung erfolgreich durchgeführt wurde:

  1. Bestätigen Sie, dass das Prometheus-Paket installiert wurde. Beispiel:

    tanzu package installed list -A
    / Retrieving installed packages...
    NAME            PACKAGE-NAME                       PACKAGE-VERSION                STATUS                   NAMESPACE
    cert-manager    cert-manager.tanzu.vmware.com      1.1.0+vmware.1-tkg.2           Reconcile succeeded      my-packages
    prometheus      prometheus.tanzu.vmware.com        2.27.0+vmware.1-tkg.1          Reconcile succeeded      my-packages
    antrea          antrea.tanzu.vmware.com                                           Reconcile succeeded      tkg-system
    metrics-server  metrics-server.tanzu.vmware.com                                   Reconcile succeeded      tkg-system
    vsphere-cpi     vsphere-cpi.tanzu.vmware.com                                      Reconcile succeeded      tkg-system
    vsphere-csi     vsphere-csi.tanzu.vmware.com                                      Reconcile succeeded      tkg-system
    

    Das prometheus-Paket und die prometheus -App werden in dem Namespace installiert, den Sie beim Ausführen des Befehls tanzu package install angeben.

  2. Bestätigen Sie, dass die prometheus-App erfolgreich abgeglichen wurde:

    kubectl get apps -A
    

    Beispiel:

    NAMESPACE     NAME                                DESCRIPTION           SINCE-DEPLOY   AGE
    my-packages   cert-manager                        Reconcile succeeded   74s            29m
    my-packages   prometheus                          Reconcile succeeded   20s            33m
    tkg-system    antrea                              Reconcile succeeded   70s            3h43m
    [...]
    

    Lautet der Status nicht Reconcile succeeded, zeigen Sie die vollständigen Statusdetails der App prometheus an. Die Anzeige des vollständigen Status kann Sie bei der Behebung des Problems unterstützen:

    kubectl get app prometheus --namespace PACKAGE-NAMESPACE -o yaml
    

    Dabei gilt: PACKAGE-NAMESPACE ist der Namespace, in dem Sie das Paket installiert haben.

  3. Bestätigen Sie, dass die neuen Dienste ausgeführt werden, indem Sie alle im Cluster ausgeführten Pods auflisten.

    kubectl get pods -A
    

    Im Namespace tanzu-system-monitoring sollten die in einem Pod ausgeführten Dienste prometheus, alertmanager, node_exporter, pushgateway, cadvisor und kube_state_metrics angezeigt werden:

    NAMESPACE               NAME                                    READY   STATUS    RESTARTS   AGE
    [...]
    tanzu-system-monitoring   alertmanager-d6bb4d94d-7fgmb                             1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-cadvisor-pgfck                                1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-kube-state-metrics-868b5b749d-9w5f2           1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-node-exporter-97x6c                           1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-node-exporter-dnrkk                           1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-pushgateway-84cc9b85c6-tgmv6                  1/1     Running   0          35m
    tanzu-system-monitoring   prometheus-server-6479964fb6-kk9g2                       2/2     Running   0          35m
    [...]
    

Die Prometheus-Pods und alle anderen mit der Prometheus-Komponente verknüpften Ressourcen werden in dem Namespace erstellt, den Sie in prometheus-data-values.yaml bereitgestellt haben. Wenn Sie den Standard-Namespace verwenden, werden die Pods und Komponenten im Namespace tanzu-system-monitoring erstellt.

Konfigurationsparameter des Prometheus-Pakets

Es gibt zwei Möglichkeiten, Konfigurationsparameter des Prometheus-Pakets anzuzeigen:

Überprüfen des Paketschemas

So rufen Sie das Paketschema ab:

tanzu package available get prometheus.tanzu.vmware.com/2.27.0+vmware.1-tkg.1 -n AVAILABLE-PACKAGE-NAMESPACE --values-schema

Mithilfe dieses Befehls werden die Konfigurationsparameter des Prometheus-Pakets und die zugehörigen Standardwerte aufgelistet. Sie können die Ausgabe zum Aktualisieren der Datei prometheus-data-values.yml verwenden, die oben unter Bereitstellen von Prometheus mit benutzerdefinierten Werten erstellt wurde.

Überprüfen von Konfigurationsparametern

In der folgenden Tabelle werden die Konfigurationsparameter des Prometheus-Pakets aufgelistet und deren Standardwerte beschrieben.

Sie können die folgenden Konfigurationswerte in der Datei prometheus-data-values.yml festlegen, die oben unter Bereitstellen von Prometheus mit benutzerdefinierten Werten erstellt wurde.

Parameter Beschreibung Typ Standard
namespace Namespace, in dem Prometheus bereitgestellt wird. Zeichenfolge tanzu-system-monitoring
prometheus.deployment.replicas Anzahl der Prometheus-Replikate. Zeichenfolge 1
prometheus.deployment.containers.args Prometheus-Containerargumente. Sie können diesen Parameter so konfigurieren, dass die Aufbewahrungszeit geändert wird. Informationen zum Konfigurieren von Prometheus-Speicherparametern finden Sie in der Prometheus-Dokumentation. Hinweis Längere Aufbewahrungszeiten erfordern mehr Speicherkapazität als kürzere Aufbewahrungszeiten. Unter Umständen muss die Beanspruchungsgröße für dauerhafte Volumes erhöht werden, wenn die Aufbewahrungszeit erheblich verlängert wird. Liste Nicht verfügbar
prometheus.deployment.containers.resources Anforderungen und Grenzwerte für Prometheus-Containerressourcen. Zuordnung {}
prometheus.deployment.podAnnotations Pod-Anmerkungen der Prometheus-Bereitstellungen. Zuordnung {}
prometheus.deployment.podLabels Pod-Bezeichnungen der Prometheus-Bereitstellungen. Zuordnung {}
prometheus.deployment.configMapReload.containers.args Argumente für Configmap-reload-Container. Liste Nicht verfügbar
prometheus.deployment.configMapReload.containers.resources Anforderungen und Grenzwerte für Configmap-reload-Containerressourcen. Zuordnung {}
prometheus.service.type Diensttyp zur Bereitstellung von Prometheus. Unterstützte Werte: ClusterIP. Zeichenfolge ClusterIP
prometheus.service.port Port des Prometheus-Diensts. Ganzzahl 80
prometheus.service.targetPort Zielport des Prometheus-Diensts. Ganzzahl 9090
prometheus.service.labels Bezeichnungen des Prometheus-Diensts. Zuordnung {}
prometheus.service.annotations Anmerkungen des Prometheus-Diensts. Zuordnung {}
prometheus.pvc.annotations Anmerkungen der Speicherklasse. Zuordnung {}
prometheus.pvc.storageClassName Speicherklasse, die für die Anforderung eines dauerhaften Datenträgers verwendet werden soll. Standardmäßig ist dieser Wert null, und der Standardbereitsteller wird verwendet. Zeichenfolge null
prometheus.pvc.accessMode Definition des Zugriffsmodus für die Anforderung eines dauerhaften Datenträgers. Unterstützte Werte: ReadWriteOnce, ReadOnlyMany, ReadWriteMany. Zeichenfolge ReadWriteOnce
prometheus.pvc.storage Definition der Speichergröße für die Anforderung eines dauerhaften Datenträgers. Zeichenfolge 150Gi
prometheus.config.prometheus_yml Informationen zur globalen Prometheus-Konfiguration finden Sie in der Prometheus-Dokumentation. YAML-Datei prometheus.yaml
prometheus.config.alerting_rules_yml Informationen zu den Prometheus-Warnungsregeln finden Sie in der Prometheus-Dokumentation. YAML-Datei alerting_rules.yaml
prometheus.config.recording_rules_yml Informationen zu den Prometheus-Aufzeichnungsregeln finden Sie in der Prometheus-Dokumentation. YAML-Datei recording_rules.yaml
prometheus.config.alerts_yml An dieser Stelle werden zusätzliche Prometheus-Warnungsregeln konfiguriert. YAML-Datei alerts_yml.yaml
prometheus.config.rules_yml An dieser Stelle werden zusätzliche Prometheus-Aufnahmeregeln konfiguriert. YAML-Datei rules_yml.yaml
alertmanager.deployment.replicas Anzahl der Alertmanager-Replikate. Ganzzahl 1
alertmanager.deployment.containers.resources Anforderung und Grenzwerte für Alertmanager-Containerressourcen. Zuordnung {}
alertmanager.deployment.podAnnotations Pod-Anmerkungen der Alertmanager-Bereitstellungen. Zuordnung {}
alertmanager.deployment.podLabels Pod-Bezeichnungen der Alertmanager-Bereitstellungen. Zuordnung {}
alertmanager.service.type Diensttyp zur Bereitstellung von Alertmanager. Unterstützte Werte: ClusterIP. Zeichenfolge ClusterIP
alertmanager.service.port Port des Alertmanager-Diensts. Ganzzahl 80
alertmanager.service.targetPort Zielport des Alertmanager-Diensts. Ganzzahl 9093
alertmanager.service.labels Bezeichnungen des Alertmanager-Diensts. Zuordnung {}
alertmanager.service.annotations Anmerkungen des Alertmanager-Diensts. Zuordnung {}
alertmanager.pvc.annotations Anmerkungen der Speicherklasse. Zuordnung {}
alertmanager.pvc.storageClassName Speicherklasse, die für die Anforderung eines dauerhaften Datenträgers verwendet werden soll. Standardmäßig ist dieser Wert null, und der Standardbereitsteller wird verwendet. Zeichenfolge null
alertmanager.pvc.accessMode Definition des Zugriffsmodus für die Anforderung eines dauerhaften Datenträgers. Unterstützte Werte: ReadWriteOnce, ReadOnlyMany, ReadWriteMany. Zeichenfolge ReadWriteOnce
alertmanager.pvc.storage Definition der Speichergröße für die Anforderung eines dauerhaften Datenträgers. Zeichenfolge 2Gi
alertmanager.config.alertmanager_yml Informationen zur globalen YAML-Konfiguration für Alertmanager finden Sie in der Prometheus-Dokumentation. YAML-Datei alertmanager_yml
kube_state_metrics.deployment.replicas Anzahl der kube-state-metrics-Replikate. Ganzzahl 1
kube_state_metrics.deployment.containers.resources Anforderungen und Grenzwerte für kube-state-metrics-Containerressourcen. Zuordnung {}
kube_state_metrics.deployment.podAnnotations Pod-Anmerkungen der kube-state-metrics-Bereitstellungen. Zuordnung {}
kube_state_metrics.deployment.podLabels Pod-Bezeichnungen der kube-state-metrics-Bereitstellungen. Zuordnung {}
kube_state_metrics.service.type Diensttyp zur Bereitstellung von kube-state-metrics. Unterstützte Werte: ClusterIP. Zeichenfolge ClusterIP
kube_state_metrics.service.port Port des kube-state-metrics-Diensts. Ganzzahl 80
kube_state_metrics.service.targetPort Zielport des kube-state-metrics-Diensts. Ganzzahl 8080
kube_state_metrics.service.telemetryPort Telemetrieport des kube-state-metrics-Diensts. Ganzzahl 81
kube_state_metrics.service.telemetryTargetPort Telemetriezielport des kube-state-metrics-Diensts. Ganzzahl 8081
kube_state_metrics.service.labels Bezeichnung des kube-state-metrics-Diensts. Zuordnung {}
kube_state_metrics.service.annotations Anmerkungen des kube-state-metrics-Diensts. Zuordnung {}
node_exporter.daemonset.replicas Anzahl der node-exporter-Replikate. Ganzzahl 1
node_exporter.daemonset.containers.resources Anforderungen und Grenzwerte für node-exporter-Containerressourcen. Zuordnung {}
node_exporter.daemonset.hostNetwork Hostnetzwerk für diesen Pod angefordert. Boolescher Wert false
node_exporter.daemonset.podAnnotations Pod-Anmerkungen der node-exporter-Bereitstellungen. Zuordnung {}
node_exporter.daemonset.podLabels Pod-Bezeichnungen der node-exporter-Bereitstellungen. Zuordnung {}
node_exporter.service.type Diensttyp zur Bereitstellung von node-exporter. Unterstützte Werte: ClusterIP. Zeichenfolge ClusterIP
node_exporter.service.port Port des node-exporter-Diensts. Ganzzahl 9100
node_exporter.service.targetPort Zielport des node-exporter-Diensts. Ganzzahl 9100
node_exporter.service.labels Bezeichnungen des node-exporter-Diensts. Zuordnung {}
node_exporter.service.annotations Anmerkungen des node-exporter-Diensts. Zuordnung {}
pushgateway.deployment.replicas Anzahl der pushgateway-Replikate. Ganzzahl 1
pushgateway.deployment.containers.resources Anforderungen und Grenzwerte für pushgateway-Containerressourcen. Zuordnung {}
pushgateway.deployment.podAnnotations Pod-Anmerkungen der pushgateway-Bereitstellungen. Zuordnung {}
pushgateway.deployment.podLabels Pod-Bezeichnungen der pushgateway-Bereitstellungen. Zuordnung {}
pushgateway.service.type Diensttyp zur Bereitstellung von pushgateway. Unterstützte Werte: ClusterIP. Zeichenfolge ClusterIP
pushgateway.service.port Port des pushgateway-Diensts. Ganzzahl 9091
pushgateway.service.targetPort Zielport des pushgateway-Diensts. Ganzzahl 9091
pushgateway.service.labels Bezeichnungen des pushgateway-Diensts. Zuordnung {}
pushgateway.service.annotations Anmerkungen des pushgateway-Diensts. Zuordnung {}
cadvisor.daemonset.replicas Anzahl der cadvisor-Replikate. Ganzzahl 1
cadvisor.daemonset.containers.resources Anforderungen und Grenzwerte für cadvisor-Containerressourcen. Zuordnung {}
cadvisor.daemonset.podAnnotations Pod-Anmerkungen der cadvisor-Bereitstellungen. Zuordnung {}
cadvisor.daemonset.podLabels Pod-Bezeichnungen der cadvisor-Bereitstellungen. Zuordnung {}
ingress.enabled Aktivieren/Deaktivieren von Ingress für Prometheus und alertmanager. Boolean false
ingress.virtual_host_fqdn Hostname für den Zugriff auf Prometheus und alertmanager. Zeichenfolge prometheus.system.tanzu
ingress.prometheus_prefix Pfadpräfix für Prometheus. Zeichenfolge /
ingress.alertmanager_prefix Pfadpräfix für alertmanager. Zeichenfolge /alertmanager/
ingress.prometheusServicePort Port des Prometheus-Diensts, an den der Datenverkehr weitergeleitet wird. Ganzzahl 80
ingress.alertmanagerServicePort Port des alertmanager-Diensts, an den der Datenverkehr weitergeleitet wird. Ganzzahl 80
ingress.tlsCertificate.tls.crt Optionales Zertifikat für Ingress bei Verwendung des eigenen TLS-Zertifikats. Standardmäßig wird ein selbstsigniertes Zertifikat erzeugt. Hinweis: tls.crt ist ein nicht verschachtelter Schlüssel. Zeichenfolge Generated cert
ingress.tlsCertificate.tls.key Optionaler privater Zertifikatsschlüssel für Ingress bei Verwendung des eigenen TLS-Zertifikats.
Hinweis: tls.key ist ein nicht verschachtelter Schlüssel.
Zeichenfolge Generated cert key
ingress.tlsCertificate.ca.crt Optionales CA-Zertifikat. Hinweis: ca.crt ist ein nicht verschachtelter Schlüssel. Zeichenfolge CA certificate


Aktualisieren einer ausgeführten Prometheus-Bereitstellung

Um nach der Bereitstellung Änderungen an der Konfiguration des Prometheus-Pakets vorzunehmen, aktualisieren Sie Ihr bereitgestelltes Prometheus-Paket:

  1. Aktualisieren Sie die Prometheus-Konfiguration in der Datei prometheus-data-values.yaml.

  2. Aktualisieren Sie das installierte Paket:

    tanzu package installed update prometheus \
    --version 2.27.0+vmware.1-tkg.1 \
    --values-file prometheus-data-values.yaml \
    --namespace my-packages
    

    Erwartete Ausgabe:

    | Updating package 'prometheus'
    - Getting package install for 'prometheus'
    | Updating secret 'prometheus-my-packages-values'
    | Updating package install for 'prometheus'
    
     Updated package install 'prometheus' in namespace 'my-packages'
    

Das Prometheus-Paket wird mit dem neuen Wert oder den von Ihnen hinzugefügten Werten abgeglichen. Es kann bis zu fünf Minuten dauern, bis kapp-controller die Änderungen übernommen hat.

Informationen zum Aktualisieren finden Sie unter Aktualisieren eines Pakets.

Löschen einer Prometheus-Bereitstellung

Führen Sie folgenden Befehl aus, um das Prometheus-Paket in Ihrem Cluster zu entfernen:

tanzu package installed delete prometheus --namespace my-packages

Informationen zum Löschen finden Sie unter Löschen eines Pakets.

Konfigurieren von Benachrichtigungen in Alert Manager

Um Benachrichtigungen für Alert Manager zu konfigurieren, bearbeiten Sie den Abschnitt alertmanager.config.alertmanager_yml in der Datei prometheus-data-values.yml.

Informationen zum Konfigurieren von Benachrichtigungen, wie z. B. Slack oder E-Mail, finden Sie unter Konfiguration in der Prometheus-Dokumentation.

Zugriff auf das Prometheus-Dashboard

Ingress ist standardmäßig nicht auf Prometheus aktiviert. Dies liegt daran, dass der Zugriff auf das Prometheus-Dashboard nicht authentifiziert ist. So greifen Sie auf das Prometheus-Dashboard zu:

  1. Stellen Sie Contour im Cluster bereit.

    Informationen zum Bereitstellen von Contour finden Sie unter Installieren von Contour für die Ingress-Steuerung.

  2. Kopieren Sie den Abschnitt ingress.enabled unten in die Datei prometheus-data-values.yaml.

    ingress:
      enabled: false
      virtual_host_fqdn: "prometheus.system.tanzu"
      prometheus_prefix: "/"
      alertmanager_prefix: "/alertmanager/"
      prometheusServicePort: 80
      alertmanagerServicePort: 80
      #! [Optional] The certificate for the ingress if you want to use your own TLS certificate.
      #! We will issue the certificate by cert-manager when it's empty.
      tlsCertificate:
        #! [Required] the certificate
        tls.crt:
        #! [Required] the private key
        tls.key:
        #! [Optional] the CA certificate
        ca.crt:
    
  3. Aktualisieren Sie ingress.enabled von false in true.

  4. Erstellen Sie einen DNS-Datensatz, um prometheus.system.tanzu der Adresse des Envoy-Lastausgleichsdiensts zuzuordnen.

    Informationen zum Abrufen der Adresse des Envoy-Lastausgleichsdiensts finden Sie unter Installieren von Contour für die Ingress-Steuerung.

  5. Greifen Sie auf das Prometheus-Dashboard zu, indem Sie in einem Browser zu https://prometheus.system.tanzu navigieren.

    Prometheus-Dashboard

Nächste Schritte

Das Prometheus-Paket wird jetzt ausgeführt und entfernt Daten aus Ihrem Cluster. Informationen zum Visualisieren der Daten in Grafana-Dashboards finden Sie unter Bereitstellen von Grafana auf Arbeitslastclustern.

check-circle-line exclamation-circle-line close-line
Scroll to top icon