In diesem Thema wird die Bereitstellung der TKG-Erweiterung v1.3.1 für Prometheus beschrieben. Prometheus ist ein System- und Dienstüberwachungssystem. Es erfasst Metriken aus konfigurierten Zielen in bestimmten Intervallen, wertet Regelausdrücke aus, zeigt die Ergebnisse an und kann Warnungen auslösen, wenn eine Bedingung als wahr beobachtet wird. Alertmanager verarbeitet von Prometheus generierte Warnungen und leitet sie an die empfangenden Endpoints weiter. Stellen Sie die TKG-Erweiterung für Prometheus zum Erfassen und Anzeigen von Metriken für Tanzu Kubernetes-Cluster bereit.

Voraussetzungen für die Erweiterung

Beachten Sie die folgenden Anforderungen, bevor Sie die TKG-Erweiterung v1.3.1 für Prometheus mit Alertmanager für die Clusterüberwachung bereitstellen. Zusätzlich zu den allgemeinen Anforderungen erfordert die Prometheus-Überwachung eine persistente Standardspeicherklasse. Sie können entweder einen Cluster mit einer persistenten Standardspeicherklasse erstellen oder einen Cluster in der Prometheus-Konfigurationsdatei angeben, wenn Sie die Erweiterung bereitstellen. Weitere Informationen finden Sie unter Überprüfen der Anforderungen an persistenten Speicher für die TKG-Erweiterungen.

Bereitstellen der Prometheus-Erweiterung

Die TKG-Erweiterung für Prometheus installiert mehrere Container. Weitere Informationen finden Sie unter https://prometheus.io/.
Container Ressourcentyp Replikate Beschreibung
prometheus-alertmanager Bereitstellung 1 Verarbeitet Warnungen, die von Clientanwendungen wie dem Prometheus-Server gesendet werden.
prometheus-cadvisor DaemonSet 5 Analysiert und zeigt Ressourcennutzungs- und Leistungsdaten aus ausgeführten Containern an
prometheus-kube-state-metrics Bereitstellung 1 Überwacht Knotenstatus und -kapazität, Replikat-Set-Konformität, Pod-, Auftrags- und Cronjob-Status, Ressourcenanforderungen und Grenzwerte.
prometheus-node-exporter DaemonSet 5 Exporter für Hardware- und BS-Metriken, die von Kerneln verfügbar gemacht werden.
prometheus-pushgateway Bereitstellung 1 Dienst, der es Ihnen ermöglicht, Metriken von Aufträgen zu übertragen, die nicht entfernt werden können.
prometheus-server Bereitstellung 1 Bietet grundlegende Funktionen, einschließlich Scraping, Regelverarbeitung und Warnungen.
Die Erweiterung ist so konfiguriert, dass die Container aus der öffentlichen VMware-Registrierung unter https://projects.registry.vmware.com/ abgerufen werden. Wenn Sie eine private Registrierung verwenden, müssen Sie die Endpoint-URL in den Datenwerten und Erweiterungskonfigurationen entsprechend ändern. Weitere Informationen finden Sie unter Konfigurieren der Prometheus-Erweiterung.
  1. Überprüfen Sie, ob die Voraussetzungen für die Erweiterung erfüllt sind. Weitere Informationen finden Sie unter Voraussetzungen für die Erweiterung.
  2. Ändern Sie das Verzeichnis in die Prometheus-Erweiterung.
    cd /tkg-extensions-v1.3.1+vmware.1/extensions/monitoring/prometheus
  3. Erstellen Sie den tanzu-system-monitoring-Namespace und das Prometheus-Dienstkonto und die Rollenobjekte.
    kubectl apply -f namespace-role.yaml
  4. Erstellen Sie eine Prometheus-Datei mit Datenwerten.

    Die Beispieldatei mit Datenwerten enthält die Mindestkonfiguration.

    cp prometheus-data-values.yaml.example prometheus-data-values.yaml
  5. Konfigurieren Sie die Prometheus-Erweiterung, indem Sie prometheus-data-values.yaml aktualisieren. Unter Konfigurieren der Prometheus-Erweiterung finden Sie eine Beschreibung der Felder und Optionen.
    Wenn der Cluster nicht mit einer persistenten Standardspeicherklasse bereitgestellt wird, können Sie sie in der Datei mit den Datenwerten angeben. Stellen Sie außerdem sicher, dass der Namespace ausreichend Speicherplatz für die Anforderungen von dauerhaften Datenträgern aufweist.
    monitoring:
      prometheus_server:
        image:
          repository: projects.registry.vmware.com/tkg/prometheus
        pvc:
          storage_class: vwt-storage-policy
          storage: "8Gi"
      alertmanager:
        image:
          repository: projects.registry.vmware.com/tkg/prometheus
        pvc:
          storage_class: vwt-storage-policy
          storage: "8Gi"
    ...      
    
  6. Erstellen Sie den geheimen Prometheus-Schlüssel mithilfe der Datei prometheus-data-values.
    kubectl create secret generic prometheus-data-values --from-file=values.yaml=prometheus-data-values.yaml -n tanzu-system-monitoring
    

    Der geheime Schlüssel prometheus-data-values wird im Namespace tanzu-system-monitoring erstellt. Überprüfen Sie dies mit kubectl get secrets -n tanzu-system-monitoring.

  7. Stellen Sie die Prometheus-Erweiterung bereit.
    kubectl apply -f prometheus-extension.yaml

    Bei Erfolg wird die Prometheus-App erstellt: app.kappctrl.k14s.io/prometheus created.

  8. Überprüfen Sie den Status der Prometheus-App.
    kubectl get app prometheus -n tanzu-system-monitoring
    Der Status sollte sich von Reconciling in Reconcile succeeded ändern. Wenn der Status Reconcile failed lautet, finden Sie weitere Informationen unter „Fehlerbehebung“.
  9. Zeigen Sie detaillierte Informationen zur Prometheus-App an.
    kubectl get app prometheus -n tanzu-system-monitoring -o yaml
  10. Überprüfen Sie die Prometheus-DaemonSets.
    kubectl get daemonsets -n tanzu-system-monitoring
  11. Überprüfen Sie die Prometheus-Bereitstellungen.
    kubectl get deployments -n tanzu-system-monitoring

Fehlerbehebung bei der Prometheus-Bereitstellung

Wenn die Bereitstellung oder der Abgleich fehlschlägt, führen Sie kubectl get pods -A aus, um den Status der Pods anzuzeigen. Unter normalen Bedingungen sollten Sie sehen, dass die Pods den Status Running aufweisen. Wenn der Status ImagePullBackOff oder ImageCrashLoopBackOff lautet, kann das Container-Image möglicherweise nicht aus der Registrierung abgerufen werden. Überprüfen Sie die URL in den Datenwerten und den YAML-Dateien der Erweiterung und achten Sie darauf, dass sie korrekt sind.

Überprüfen Sie die Containerprotokolle, wobei name-XXXX der eindeutige Pod-Name ist, wenn Sie kubectl get pods -A ausführen:
kubectl logs pod/prometheus-alertmanager-XXXXX -c prometheus-alertmanager -n tanzu-system-monitoring
kubectl logs pod/prometheus-server-XXXXX -c prometheus-server -n tanzu-system-monitoring

Aktualisieren der Prometheus-Erweiterung

Aktualisieren Sie die Konfiguration für eine Prometheus-Erweiterung, die in einem Tanzu Kubernetes-Cluster bereitgestellt wird.

  1. Rufen Sie die Prometheus-Datenwerte vom geheimen Schlüssel ab.
    kubectl get secret prometheus-data-values -n tanzu-system-monitoring -o 'go-template={{ index .data "values.yaml" }}' | base64 -d > prometheus-data-values.yaml
    
  2. Aktualisieren Sie den geheimen Schlüssel mit den Prometheus-Datenwerten.
    kubectl create secret generic prometheus-data-values --from-file=values.yaml=prometheus-data-values.yaml -n tanzu-system-monitoring -o yaml --dry-run | kubectl replace -f-
    
    Die Prometheus-Erweiterung wird mit den aktualisierten Datenwerten abgeglichen.
    Hinweis: Standardmäßig synchronisiert kapp-controller die Apps alle 5 Minuten. Das Update sollte in 5 Minuten oder weniger wirksam werden. Wenn das Update sofort wirksam werden soll, ändern Sie syncPeriod in prometheus-extension.yaml in einen niedrigeren Wert und wenden Sie die Fluent Bit-Erweiterung mithilfe der kubectl apply -f prometheus-extension.yaml an.
  3. Überprüfen Sie den Zustand der Erweiterung.
    kubectl get app prometheus -n tanzu-system-monitoring

    Der Status sollte sich in Reconcile Succeeded ändern, sobald Prometheus aktualisiert wurde.

  4. Zeigen Sie den detaillierten Zustand an und führen Sie eine Fehlerbehebung durch.
    kubectl get app prometheus -n tanzu-system-monitoring -o yaml

Löschen der Prometheus-Erweiterung

Löschen Sie die Prometheus-Erweiterung aus einem Tanzu Kubernetes-Cluster.
Hinweis: Führen Sie die Schritte der Reihe nach aus. Löschen Sie nicht den Namespace, das Dienstkonto und die Rollenobjekte, bevor die Prometheus-App vollständig gelöscht wurde. Dies kann zu Systemfehlern führen.
Vorsicht: Sowohl Prometheus als auch Grafana verwenden denselben Namespace. Das Löschen des Namespace ist für jede dort bereitgestellte Erweiterung destruktiv. Wenn Grafana bereitgestellt ist, löschen Sie den Namespace nicht, bevor Sie Grafana löschen.
  1. Ändern Sie das Verzeichnis in die Prometheus-Erweiterung.
    cd /extensions/monitoring/prometheus/
  2. Löschen Sie die Prometheus-App.
    kubectl delete app prometheus -n tanzu-system-monitoring

    Erwartetes Ergebnis: app.kappctrl.k14s.io "prometheus" deleted.

  3. Stellen Sie sicher, dass die Prometheus-App gelöscht wurde.
    kubectl get app prometheus -n tanzu-system-monitoring

    Erwartetes Ergebnis: apps.kappctrl.k14s.io "prometheus" not found.

  4. Löschen Sie den tanzu-system-monitoring-Namespace und das Prometheus-Dienstkonto und die Rollenobjekte.
    Warnung: Führen Sie diesen Schritt nicht aus, wenn Grafana bereitgestellt wird.
    kubectl delete -f namespace-role.yaml
  5. Wenn Sie Prometheus erneut bereitstellen möchten, entfernen Sie die prometheus-data-values des geheimen Schlüssels.
    kubectl delete secret prometheus-data-values -n tanzu-system-monitoring

    Erwartetes Ergebnis: secret "prometheus-data-values" deleted.

Upgrade der Prometheus-Erweiterung

Wenn Sie eine vorhandene Prometheus-Erweiterung bereitgestellt haben, können Sie sie auf die neueste Version aktualisieren.
  1. Exportieren Sie die Prometheus-Configmap und speichern Sie sie als Sicherung.
    kubectl get configmap prometheus -n tanzu-system-monitoring -o 'go-template={{ index .data "prometheus.yaml" }}' > prometheus-configmap.yaml
    
  2. Löschen Sie die vorhandene Prometheus-Bereitstellung. Weitere Informationen hierzu finden Sie unter Löschen der Prometheus-Erweiterung.
  3. Stellen Sie die Prometheus-Erweiterung bereit. Weitere Informationen hierzu finden Sie unter Bereitstellen der Prometheus-Erweiterung.

Konfigurieren der Prometheus-Erweiterung

Die Prometheus-Konfiguration ist in /extensions/monitoring/prometheus/prometheus-data-values.yaml festgelegt.
Tabelle 1. Prometheus-Konfigurationsparameter
Parameter Beschreibung Typ Standard
monitoring.namespace Namespace, in dem Prometheus bereitgestellt wird string tanzu-system-monitoring
monitoring.create_namespace Das Flag gibt an, ob der durch monitoring.namespace angegebene Namespace erstellt werden soll. Boolean false
monitoring.prometheus_server.config.prometheus_yaml Konfigurationsdetails der Kubernetes-Clusterüberwachung, die an Prometheus übergeben werden sollen yaml-Datei prometheus.yaml
monitoring.prometheus_server.config.alerting_rules_yaml Detaillierte Warnungsregeln, die in Prometheus definiert sind yaml-Datei alerting_rules.yaml
monitoring.prometheus_server.config.recording_rules_yaml Detaillierte Aufzeichnungsregeln, die in Prometheus definiert sind yaml-Datei recording_rules.yaml
monitoring.prometheus_server.service.type Diensttyp, um Prometheus verfügbar zu machen. Unterstützte Werte: ClusterIP string ClusterIP
monitoring.prometheus_server.enable_alerts.kubernetes_api Aktivieren der SLO-Warnung für die Kubernetes-API in Prometheus Boolean true
monitoring.prometheus_server.sc.aws_type AWS-Typ, der für StorageClass auf AWS definiert ist string gp2
monitoring.prometheus_server.sc.aws_fsType AWS-Dateisystemtyp, der für StorageClass auf AWS definiert ist string ext4
monitoring.prometheus_server.sc.allowVolumeExpansion Legt fest, ob die Volume-Erweiterung für StorageClass auf AWS zulässig ist Boolean true
monitoring.prometheus_server.pvc.annotations Anmerkungen zur Speicherklasse Zuordnung {}
monitoring.prometheus_server.pvc.storage_class Für die Beanspruchung eines persistenten Volumes zu verwendende Speicherklasse. Standardmäßig ist diese null und es wird der Standard-Provisioner verwendet string null
monitoring.prometheus_server.pvc.accessMode Definieren Sie den Zugriffsmodus für die Beanspruchung eines dauerhaften Volumes. Unterstützte Werte: ReadWriteOnce, ReadOnlyMany, ReadWriteMany string ReadWriteOnce
monitoring.prometheus_server.pvc.storage Definition der Speichergröße für die Beanspruchung eines persistenten Volumes string 8Gi
monitoring.prometheus_server.deployment.replicas Anzahl an Prometheus-Replikas integer 1
monitoring.prometheus_server.image.repository Speicherort des Repositorys mit dem Prometheus-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg/prometheus
monitoring.prometheus_server.image.name Name des Prometheus-Images string Prometheus
monitoring.prometheus_server.image.tag Prometheus-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v2.17.1_vmware.1
monitoring.prometheus_server.image.pullPolicy Prometheus-Image-Pull-Richtlinie string IfNotPresent
monitoring.alertmanager.config.slack_demo Slack-Benachrichtigungskonfiguration für Alertmanager string
slack_demo:
  name: slack_demo
  slack_configs:
  - api_url: https://hooks.slack.com
    channel: '#alertmanager-test'
monitoring.alertmanager.config.email_receiver E-Mail-Benachrichtigungskonfiguration für Alertmanager string
email_receiver:
  name: email-receiver
  email_configs:
  - to: [email protected]
    send_resolved: false
    from: [email protected]
    smarthost: smtp.eample.com:25
    require_tls: false
monitoring.alertmanager.service.type Diensttyp, um Alertmanager verfügbar zu machen. Unterstützte Werte: ClusterIP string ClusterIP
monitoring.alertmanager.image.repository Speicherort des Repositorys mit dem Alertmanager-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg/prometheus
monitoring.alertmanager.image.name Name des Alertmanager-Images string alertmanager
monitoring.alertmanager.image.tag Alertmanager-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v0.20.0_vmware.1
monitoring.alertmanager.image.pullPolicy Alertmanager-Image-Pull-Richtlinie string IfNotPresent
monitoring.alertmanager.pvc.annotations Anmerkungen zur Speicherklasse Zuordnung {}
monitoring.alertmanager.pvc.storage_class Für die Beanspruchung eines persistenten Volumes zu verwendende Speicherklasse. Standardmäßig ist diese null und es wird der Standard-Provisioner verwendet. string null
monitoring.alertmanager.pvc.accessMode Definieren Sie den Zugriffsmodus für die Beanspruchung eines dauerhaften Volumes. Unterstützte Werte: ReadWriteOnce, ReadOnlyMany, ReadWriteMany string ReadWriteOnce
monitoring.alertmanager.pvc.storage Definition der Speichergröße für die Beanspruchung eines persistenten Volumes string 2Gi
monitoring.alertmanager.deployment.replicas Anzahl an alertmanager-Replikas integer 1
monitoring.kube_state_metrics.image.repository Repository mit dem kube-state-metircs-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg/prometheus
monitoring.kube_state_metrics.image.name Name des kube-state-metircs-Images string kube-state-metrics
monitoring.kube_state_metrics.image.tag kube-state-metrics-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v1.9.5_vmware.1
monitoring.kube_state_metrics.image.pullPolicy Kube-state-metrics-Image-Pull-Richtlinie string IfNotPresent
monitoring.kube_state_metrics.deployment.replicas Anzahl an kube-state-metrics-Replikas integer 1
monitoring.node_exporter.image.repository Repository mit dem node-exporter-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg/prometheus
monitoring.node_exporter.image.name Name des node-exporter-Images string node-exporter
monitoring.node_exporter.image.tag node-exporter-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v0.18.1_vmware.1
monitoring.node_exporter.image.pullPolicy node-exporter-Image-Pull-Richtlinie string IfNotPresent
monitoring.node_exporter.hostNetwork Wenn dieser Wert auf hostNetwork: true festgelegt ist, kann der Pod den Netzwerk-Namespace und die Netzwerkressourcen des Knotens verwenden. Boolean false
monitoring.node_exporter.deployment.replicas Anzahl an node-exporter-Replikas integer 1
monitoring.pushgateway.image.repository Repository mit dem pushgateway-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg/prometheus
monitoring.pushgateway.image.name Name des pushgateway-Images string pushgateway
monitoring.pushgateway.image.tag pushgateway-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v1.2.0_vmware.1
monitoring.pushgateway.image.pullPolicy Pushgateway-Image-Pull-Richtlinie string IfNotPresent
monitoring.pushgateway.deployment.replicas Anzahl der Pushgateway-Replikate integer 1
monitoring.cadvisor.image.repository Repository mit dem cadvisor-Image. Als Standardwert wird die öffentliche VMware-Registrierung verwendet. Ändern Sie diesen Wert, wenn Sie ein privates Repository verwenden (z. B. Air-Gap-Umgebung). string projects.registry.vmware.com/tkg/prometheus
monitoring.cadvisor.image.name Name des Cadvisor-Images string cadvisor
monitoring.cadvisor.image.tag cadvisor-Image-Tag. Dieser Wert muss möglicherweise aktualisiert werden, wenn Sie ein Upgrade der Version durchführen. string v0.36.0_vmware.1
monitoring.cadvisor.image.pullPolicy Cadvisor-Image-Pull-Richtlinie string IfNotPresent
monitoring.cadvisor.deployment.replicas Anzahl an Cadvisor-Replikas integer 1
monitoring.ingress.enabled Ingress für Prometheus und Alertmanager aktivieren/deaktivieren Boolean

false

Zur Verwendung von Ingress setzen Sie dieses Feld auf true und stellen Sie Contour bereit. Aktualisieren Sie für den Zugriff auf Prometheus Ihre lokalen /etc/hosts mit einem Eintrag, der prometheus.system.tanzu einer IP-Adresse des Worker-Knotens zuordnet.

monitoring.ingress.virtual_host_fqdn Hostname für den Zugriff auf Prometheus und Alertmanager string prometheus.system.tanzu
monitoring.ingress.prometheus_prefix Pfadpräfix für Prometheus string /
monitoring.ingress.alertmanager_prefix Pfadpräfix für Alertmanager string /alertmanager/
monitoring.ingress.tlsCertificate.tls.crt Optionales Zertifikat für Ingress, wenn Sie Ihr eigenes TLS-Zertifikat verwenden möchten. Standardmäßig wird ein selbstsigniertes Zertifikat generiert string Generiertes Zertifikat
monitoring.ingress.tlsCertificate.tls.key Optionaler privater Zertifikatsschlüssel für Ingress, wenn Sie Ihr eigenes TLS-Zertifikat verwenden möchten. string Generierter Zertifikatsschlüssel
Tabelle 2. Konfigurierbare Felder für Prometheus_Server-Configmap
Parameter Beschreibung Typ Standard
evaluation_interval Häufigkeit, mit der Regeln ausgewertet werden Dauer 1 m
scrape_interval Häufigkeit des Scrapens von Zielen Dauer 1 m
scrape_timeout Dauer bis zum Timeout einer Scrape-Anforderung Dauer 10 s
rule_files Regeldateien geben eine Liste von Globs an. Regeln und Warnungen werden aus allen übereinstimmenden Dateien gelesen yaml-Datei
scrape_configs Eine Liste mit Scraper-Konfigurationen. Liste
job_name Der Jobname, der scraped-Metriken standardmäßig zugewiesen ist string
kubernetes_sd_configs Liste der Kubernetes-Diensterkennungskonfigurationen. Liste
relabel_configs Liste der Konfigurationen für die erneute Beschriftung des Ziels. Liste
Aktion Durchzuführende Aktion basierend auf dem regex-Abgleich. string
regex Regulärer Ausdruck, mit dem der extrahierte Wert übereinstimmen soll. string
source_labels Die Quellbezeichnungen wählen Werte aus vorhandenen Bezeichnungen aus. string
scheme Konfiguriert das für Anforderungen verwendete Protokollschema. string
tls_config Konfiguriert die TLS-Einstellungen der Scraper-Anforderung. string
ca_file CA-Zertifikat zur Validierung des API-Serverzertifikats. Dateiname
insecure_skip_verify Deaktivieren Sie die Validierung des Serverzertifikats. Boolean
bearer_token_file Optionale Authentifizierungsinformationen zur Bearer-Token-Datei. Dateiname
replacement Ersatzwert, mit dem ein Regex ersetzt wird, wenn der reguläre Ausdruck stimmt. string
target_label Bezeichnung, in die der resultierende Wert in einer Ersatzaktion geschrieben wird. string
Tabelle 3. Konfigurierbare Felder für Alertmanager-Configmap
Parameter Beschreibung Typ Standard
resolve_timeout ResolveTimeout ist der Standardwert, der von alertmanager verwendet wird, wenn EndsAt nicht in der Warnung enthalten ist Dauer 5 m
smtp_smarthost Der SMTP-Host, über den E-Mails gesendet werden. Dauer 1 m
slack_api_url Die Slack-Webhook-URL. string global.slack_api_url
pagerduty_url Die Pagerduty-URL, an die API-Anforderungen gesendet werden. string global.pagerduty_url
Vorlagen Dateien, aus denen benutzerdefinierte Benachrichtigungsvorlagendefinitionen gelesen werden Dateipfad
group_by Warnungen, nach Bezeichnung gruppiert string
group_interval Festgelegte Wartezeit, bevor eine Benachrichtigung zu neuen Warnungen gesendet wird, die zu einer Gruppe hinzugefügt werden Dauer 5 m
group_wait Wie lange zunächst auf das Senden einer Benachrichtigung für eine Gruppe von Warnungen gewartet werden soll Dauer 30 s
repeat_interval Wie lange gewartet werden soll, bis eine Benachrichtigung erneut gesendet wird, wenn sie bereits erfolgreich für eine Warnung gesendet wurde Dauer 4 h
Empfänger Eine Liste der Benachrichtigungsempfänger. Liste
Schweregrad Schweregrad des Vorfalls string
Kanal Der Kanal oder Benutzer, an den Benachrichtigungen gesendet werden sollen. string
html Der HTML-Textkörper der E-Mail-Benachrichtigung. string
Text Der Textkörper der E-Mail-Benachrichtigung. string
send_resolved Ob behobene Warnungen gemeldet werden sollen oder nicht. Dateiname
email_configs Konfigurationen für E-Mail-Integration Boolean
Anmerkungen auf Pods ermöglichen die Feinsteuerung des Scraping-Vorgangs. Diese Anmerkungen müssen Teil der Pod-Metadaten sein. Sie haben keine Auswirkung, wenn sie auf andere Objekte wie z. B. Dienste oder DaemonSets festgelegt sind.
Tabelle 4. Prometheus-Pod-Anmerkungen
Pod-Anmerkung Beschreibung
prometheus.io/scrape Mit der Standardkonfiguration werden alle Pods entfernt. Wenn sie auf „false“ festgelegt ist, schließt diese Anmerkung den Pod vom Scraping-Vorgang aus.
prometheus.io/path Wenn der Metrikpfad nicht "/metrics" ist, definieren Sie ihn mit dieser Anmerkung.
prometheus.io/port Scrapen Sie den Pod auf dem angegebenen Port anstatt auf den deklarierten Ports des Pods (der Standard ist ein Ziel ohne Port, wenn keiner angegeben ist).
Das unten aufgeführte DaemonSet-Manifest weist Prometheus an, alle seine Pods auf Port 9102 zu scrapen.
apiVersion: apps/v1beta2 # for versions before 1.8.0 use extensions/v1beta1
kind: DaemonSet
metadata:
  name: fluentd-elasticsearch
  namespace: weave
  labels:
    app: fluentd-logging
spec:
  selector:
    matchLabels:
      name: fluentd-elasticsearch
  template:
    metadata:
      labels:
        name: fluentd-elasticsearch
      annotations:
        prometheus.io/scrape: 'true'
        prometheus.io/port: '9102'
    spec:
      containers:
      - name: fluentd-elasticsearch
        image: gcr.io/google-containers/fluentd-elasticsearch:1.20