Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Monitor Trident

Collaboratori netapp-aruldeepa

Trident fornisce un set di endpoint di metriche Prometheus che puoi utilizzare per monitorare le prestazioni Trident .

Panoramica

Le metriche fornite da Trident consentono di fare quanto segue:

  • Tieni d'occhio lo stato di salute e la configurazione di Trident. È possibile verificare il successo delle operazioni e se è possibile comunicare con i backend come previsto.

  • Esaminare le informazioni sull'utilizzo del backend e comprendere quanti volumi sono forniti su un backend, la quantità di spazio consumata e così via.

  • Mantenere una mappatura della quantità di volumi forniti sui backend disponibili.

  • Prestazioni in pista. Puoi dare un'occhiata a quanto tempo impiega Trident per comunicare con i backend ed eseguire le operazioni.

Nota Per impostazione predefinita, le metriche di Trident sono esposte sulla porta di destinazione 8001 al /metrics punto finale. Queste metriche sono abilitate per impostazione predefinita quando Trident è installato.
Cosa ti servirà

Fase 1: definire un obiettivo Prometheus

Dovresti definire un target Prometheus per raccogliere le metriche e ottenere informazioni sui backend gestiti Trident , sui volumi che crea e così via. Questo "blog" spiega come utilizzare Prometheus e Grafana con Trident per recuperare le metriche. Il blog spiega come eseguire Prometheus come operatore nel cluster Kubernetes e come creare un ServiceMonitor per ottenere le metriche Trident .

Passaggio 2: creare un Prometheus ServiceMonitor

Per utilizzare le metriche Trident , è necessario creare un Prometheus ServiceMonitor che monitora il trident-csi servizio e ascolta sul metrics porta. Un esempio di ServiceMonitor si presenta così:

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

Questa definizione di ServiceMonitor recupera le metriche restituite da trident-csi servizio e cerca specificamente il metrics endpoint del servizio. Di conseguenza, Prometheus è ora configurato per comprendere le metriche di Trident.

Oltre alle metriche disponibili direttamente da Trident, kubelet espone molti kubelet_volume_* metriche tramite il proprio endpoint metrico. Kubelet può fornire informazioni sui volumi collegati, sui pod e sulle altre operazioni interne che gestisce. Fare riferimento a "Qui" .

Passaggio 3: interrogare le metriche Trident con PromQL

PromQL è utile per creare espressioni che restituiscono serie temporali o dati tabulari.

Ecco alcune query PromQL che puoi utilizzare:

Ottieni informazioni sulla salute Trident

  • Percentuale di risposte HTTP 2XX da Trident

(sum (trident_rest_ops_seconds_total_count{status_code=~"2.."} OR on() vector(0)) / sum (trident_rest_ops_seconds_total_count)) * 100
  • Percentuale di risposte REST da Trident tramite codice di stato

(sum (trident_rest_ops_seconds_total_count) by (status_code)  / scalar (sum (trident_rest_ops_seconds_total_count))) * 100
  • Durata media in ms delle operazioni eseguite da Trident

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

Ottieni informazioni sull'utilizzo Trident

  • Dimensione media del volume

trident_volume_allocated_bytes/trident_volume_count
  • Spazio totale del volume fornito da ciascun backend

sum (trident_volume_allocated_bytes) by (backend_uuid)

Ottieni l'utilizzo del volume individuale

Nota Questa opzione è abilitata solo se vengono raccolte anche le metriche kubelet.
  • Percentuale di spazio utilizzato per ogni volume

kubelet_volume_stats_used_bytes / kubelet_volume_stats_capacity_bytes * 100

Scopri di più sulla telemetria di Trident AutoSupport

Per impostazione predefinita, Trident invia le metriche di Prometheus e le informazioni di base del backend a NetApp con cadenza giornaliera.

  • Per impedire a Trident di inviare metriche Prometheus e informazioni di base sul backend a NetApp, passare il --silence-autosupport bandiera durante l'installazione Trident .

  • Trident può anche inviare i log dei container al supporto NetApp su richiesta tramite tridentctl send autosupport . Sarà necessario attivare Trident per caricare i suoi registri. Prima di inviare i log, dovresti accettare i termini e le condizioni di NetApphttps://www.netapp.com/company/legal/privacy-policy/["politica sulla riservatezza"^] .

  • Se non diversamente specificato, Trident recupera i log delle ultime 24 ore.

  • È possibile specificare l'intervallo di tempo di conservazione del registro con --since bandiera. Per esempio: tridentctl send autosupport --since=1h . Queste informazioni vengono raccolte e inviate tramite un trident-autosupport contenitore installato accanto a Trident. È possibile ottenere l'immagine del contenitore su "Trident AutoSupport" .

  • Trident AutoSupport non raccoglie né trasmette informazioni di identificazione personale (PII) o informazioni personali. Viene fornito con un "Contratto di licenza con l'utente finale" ciò non è applicabile all'immagine del contenitore Trident stesso. Puoi scoprire di più sull'impegno di NetApp per la sicurezza e l'affidabilità dei dati "Qui" .

Un esempio di payload inviato da Trident si presenta così:

---
items:
  - backendUUID: ff3852e1-18a5-4df4-b2d3-f59f829627ed
    protocol: file
    config:
      version: 1
      storageDriverName: ontap-nas
      debug: false
      debugTraceFlags: null
      disableDelete: false
      serialNumbers:
        - nwkvzfanek_SN
      limitVolumeSize: ""
    state: online
    online: true
  • I messaggi AutoSupport vengono inviati all'endpoint AutoSupport di NetApp. Se si utilizza un registro privato per archiviare le immagini dei contenitori, è possibile utilizzare --image-registry bandiera.

  • È anche possibile configurare gli URL proxy generando i file YAML di installazione. Questo può essere fatto utilizzando tridentctl install --generate-custom-yaml per creare i file YAML e aggiungere il --proxy-url argomento per la trident-autosupport contenitore in trident-deployment.yaml .

Disabilita le metriche Trident

Per disabilitare la segnalazione delle metriche, dovresti generare YAML personalizzati (utilizzando --generate-custom-yaml flag) e modificarli per rimuovere il --metrics flag dall'essere invocato per il trident-main contenitore.