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 misurazione Prometheus che è possibile utilizzare per monitorare le prestazioni Trident.

Panoramica

Le metriche fornite da Trident consentono di:

  • Tenere sotto controllo lo stato di salute e la configurazione di Trident. È possibile esaminare il successo delle operazioni e se è in grado di comunicare con i back-end come previsto.

  • Esaminare le informazioni sull'utilizzo del back-end e comprendere il numero di volumi sottoposti a provisioning su un back-end, la quantità di spazio consumato e così via.

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

  • Tenere traccia delle performance. È possibile esaminare il tempo necessario a 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 all' `/metrics`endpoint. Queste metriche sono abilitate per impostazione predefinita quando Trident è installato.
Di cosa hai bisogno

Fase 1: Definire un target Prometheus

È necessario definire un target Prometheus per raccogliere le metriche e ottenere informazioni sui backend gestiti da Trident, sui volumi creati 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 la creazione di un ServiceMonitor per ottenere le metriche Trident.

Fase 2: Creazione di un ServiceMonitor Prometheus

Per utilizzare le metriche Trident, è necessario creare un Prometheus ServiceMonitor che controlla il trident-csi servizio e ascolta sulla metrics porta. Un esempio di ServiceMonitor è simile al seguente:

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 dal trident-csi servizio e ricerca specificamente l' `metrics`endpoint del servizio. Di conseguenza, Prometheus è ora configurato per comprendere le metriche di Trident.

Oltre alle metriche disponibili direttamente da Trident, kubelet espone molte kubelet_volume_* metriche tramite il proprio endpoint di misurazione. Kubelet può fornire informazioni sui volumi collegati, sui pod e sulle altre operazioni interne gestite. Fare riferimento alla "qui".

Fase 3: Eseguire una query sulle metriche di Trident con PromQL

PromQL è utile per la creazione di espressioni che restituiscono dati di serie temporali o tabulari.

Di seguito sono riportate alcune query PromQL che è possibile utilizzare:

Ottieni informazioni sulla salute di 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 A RIPOSO 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"})

Ottenere informazioni sull'utilizzo di 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 di singoli volumi

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

kubelet_volume_stats_used_bytes / kubelet_volume_stats_capacity_bytes * 100

Ulteriori informazioni sulla telemetria di Trident AutoSupport

Per impostazione predefinita, Trident invia quotidianamente le metriche Prometheus e le informazioni di base di backend a NetApp.

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

  • Trident può inoltre inviare i log dei container al supporto NetApp on-demand tramite tridentctl send autosupport. Sarà necessario attivare Trident per caricare i suoi registri. Prima di inviare i log, è necessario accettare NetApp "direttiva sulla privacy".

  • Se non specificato, Trident recupera i registri dalle ultime 24 ore.

  • È possibile specificare il periodo di conservazione del registro con il --since flag. Ad esempio: tridentctl send autosupport --since=1h. Queste informazioni vengono raccolte e inviate tramite un trident-autosupport contenitore installato insieme a Trident. È possibile ottenere l'immagine contenitore in "Trident AutoSupport".

  • Trident AutoSupport non raccoglie né trasmette dati personali o di identificazione personale (PII). Viene fornito con un "EULA" che non è applicabile all'immagine contenitore Trident stessa. Puoi saperne di più sull'impegno di NetApp nei confronti della sicurezza e della fiducia dei dati "qui".

Un esempio di payload inviato da Trident è simile al seguente:

---
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 memorizzare immagini contenitore, è possibile utilizzare il --image-registry flag.

  • È inoltre possibile configurare gli URL proxy generando i file YAML di installazione. A tale scopo, è possibile utilizzare tridentctl install --generate-custom-yaml per creare i file YAML e aggiungere l' --proxy-url`argomento per il `trident-autosupport contenitore in trident-deployment.yaml.

Disattiva metriche Trident

Per disabilitare** le metriche da riportare, è necessario generare YAML personalizzati (utilizzando il --generate-custom-yaml flag) e modificarli per rimuovere il --metrics flag da richiamare per il trident-main contenitore.