Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Monitoring von Trident

Beitragende

Trident bietet eine Reihe von Prometheus Kennzahlen-Endpunkten zur Überwachung der Trident-Performance.

Überblick

Mit den von Trident bereitgestellten Metriken können Sie Folgendes tun:

  • Überwachen Sie den Zustand und die Konfiguration von Trident. Sie können prüfen, wie erfolgreich Vorgänge sind und ob sie wie erwartet mit den Back-Ends kommunizieren können.

  • Untersuchen Sie die Back-End-Nutzungsinformationen und erfahren Sie, wie viele Volumes auf einem Back-End bereitgestellt werden, sowie den belegten Speicherplatz usw.

  • Erstellt eine Zuordnung der Anzahl von Volumes, die über verfügbare Back-Ends bereitgestellt werden.

  • Verfolgen Sie die Leistung. Hier sehen Sie, wie lange Trident benötigt, um mit Back-Ends zu kommunizieren und Vorgänge auszuführen.

Hinweis Die Metriken von Trident sind standardmäßig auf dem Ziel-Port offengelegt 8001 Am /metrics endpunkt: Diese Metriken sind bei der Installation von Trident standardmäßig aktiviert.
Was Sie benötigen

Schritt 1: Definieren Sie ein Prometheus-Ziel

Sie sollten ein Prometheus Ziel definieren, um die Kennzahlen zu erfassen und Informationen über die von Trident gemanagten Back-Ends, die erstellten Volumes usw. zu erhalten. Dies "Blog" erklärt, wie Sie Prometheus und Grafana mit Trident verwenden können, um Metriken abzurufen. Im Blog erfahren Sie, wie Sie Prometheus als Betreiber in Ihrem Kubernetes-Cluster ausführen und einen Service Monitor erstellen können, um Trident-Kennzahlen zu erhalten.

Schritt: Erstellen Sie einen Prometheus ServiceMonitor

Um die Trident Kennzahlen zu verwenden, sollten Sie ein Prometheus ServiceMonitor erstellen, das überwacht trident-csi Service und wartet auf den metrics Port: Ein Beispiel für ServiceMonitor sieht so aus:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: trident-sm
  namespace: monitoring
  labels:
      release: prom-operator
spec:
  jobLabel: trident
  selector:
    matchLabels:
      app: controller.csi.trident.netapp.io
  namespaceSelector:
    matchNames:
    - trident
  endpoints:
  - port: metrics
    interval: 15s

Diese ServiceMonitor-Definition ruft vom Dienst zurückgegebene Kennzahlen trident-csi ab und sucht gezielt nach dem metrics Endpunkt des Dienstes. Daher ist Prometheus jetzt so konfiguriert, dass es die Kennzahlen von Trident versteht.

Zusätzlich zu den direkt aus Trident verfügbaren Kennzahlen legt Kubelet viele kubelet_volume_* Metriken über seinen eigenen Endpunkt für Kennzahlen dar. Kubelet kann Informationen über verbundene Volumes bereitstellen und Pods und andere interne Vorgänge, die er übernimmt. Siehe "Hier".

Schritt 3: Abfrage der Trident-Kennzahlen mit PromQL

PromQL ist gut geeignet, um Ausdrücke zu erstellen, die Zeitreihen- oder tabellarische Daten zurückgeben.

Im Folgenden finden Sie einige PromQL-Abfragen, die Sie verwenden können:

Abrufen des Integritätsinformationen zu Trident

  • Prozentsatz der HTTP 2XX-Antworten von Trident

(sum (trident_rest_ops_seconds_total_count{status_code=~"2.."} OR on() vector(0)) / sum (trident_rest_ops_seconds_total_count)) * 100
  • Prozentsatz der REST-Antworten von Trident über Statuscode

(sum (trident_rest_ops_seconds_total_count) by (status_code)  / scalar (sum (trident_rest_ops_seconds_total_count))) * 100
  • Durchschnittliche Dauer in ms der von Trident durchgeführten Operationen

sum by (operation) (trident_operation_duration_milliseconds_sum{success="true"}) / sum by (operation) (trident_operation_duration_milliseconds_count{success="true"})

Holen Sie sich Trident-Nutzungsinformationen

  • Mittlere Volumengröße

trident_volume_allocated_bytes/trident_volume_count
  • Gesamter Volume-Speicherplatz, der von jedem Backend bereitgestellt wird

sum (trident_volume_allocated_bytes) by (backend_uuid)

Individuelle Volume-Nutzung

Hinweis Dies ist nur aktiviert, wenn auch kubelet-Kennzahlen gesammelt werden.
  • Prozentsatz des verwendeten Speicherplatzes für jedes Volumen

kubelet_volume_stats_used_bytes / kubelet_volume_stats_capacity_bytes * 100

Informationen zur Trident AutoSupport Telemetrie

Standardmäßig sendet Trident im täglichen Rhythmus Prometheus Kennzahlen und grundlegende Back-End-Informationen an NetApp.

  • Um zu verhindern, dass Trident Prometheus-Metriken und grundlegende Backend-Informationen an NetApp sendet, übergeben Sie das --silence-autosupport Flag während der Trident-Installation.

  • Trident kann auch Container-Protokolle an NetApp-Support On-Demand senden über tridentctl send autosupport. Sie müssen Trident auslösen, um die Protokolle hochzuladen. Bevor Sie Protokolle senden, sollten Sie NetApp's akzeptierenhttps://www.netapp.com/company/legal/privacy-policy/["datenschutzrichtlinie"^].

  • Sofern nicht angegeben, ruft Trident die Protokolle der letzten 24 Stunden ab.

  • Sie können den Zeitrahmen für die Protokollaufbewahrung mit dem Flag angeben --since. Zum Beispiel: tridentctl send autosupport --since=1h. Diese Informationen werden gesammelt und über einen Container gesendet trident-autosupport, der zusammen mit Trident installiert wird. Sie können das Container-Bild unter abrufen "Trident AutoSupport".

  • Trident AutoSupport erfasst oder übermittelt keine personenbezogenen Daten oder personenbezogenen Daten. Sie wird mit einem geliefert "EULA" , das sich nicht für das Trident Container-Image selbst eignet. Weitere Informationen zum Engagement von NetApp für Datensicherheit und Vertrauen finden "Hier"Sie hier.

Ein Beispiel für eine Nutzlast, die von Trident gesendet wird, sieht wie folgt aus:

---
items:
- backendUUID: ff3852e1-18a5-4df4-b2d3-f59f829627ed
  protocol: file
  config:
    version: 1
    storageDriverName: ontap-nas
    debug: false
    debugTraceFlags:
    disableDelete: false
    serialNumbers:
    - nwkvzfanek_SN
    limitVolumeSize: ''
  state: online
  online: true
  • Die AutoSupport Meldungen werden an den AutoSupport Endpunkt von NetApp gesendet. Wenn Sie zum Speichern von Container-Images eine private Registrierung verwenden, können Sie das verwenden --image-registry Flagge.

  • Sie können auch Proxy-URLs konfigurieren, indem Sie die Installation YAML-Dateien erstellen. Dies kann mit erfolgen tridentctl install --generate-custom-yaml So erstellen Sie die YAML-Dateien und fügen die hinzu --proxy-url Argument für das trident-autosupport Container in trident-deployment.yaml.

Deaktivieren Sie Trident-Kennzahlen

Um**-Metriken von der Meldung zu deaktivieren, sollten Sie benutzerdefinierte YAML generieren (mit dem --generate-custom-yaml Markieren) und bearbeiten, um die zu entfernen --metrics Flagge wird für das aufgerufen `trident-main`Container: