Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Supervisar Trident

Colaboradores netapp-aruldeepa juliantap netapp-mwallis netapp-asubhas

Trident proporciona un conjunto de puntos finales de métricas de Prometheus que puede utilizar para supervisar el rendimiento de Trident.

Descripción general

Las métricas que proporciona Trident le permiten hacer lo siguiente:

  • Estar al tanto del estado y la configuración de Trident. Puede examinar la eficacia de las operaciones y si puede comunicarse con los back-ends como se esperaba.

  • Examine la información de uso del back-end, y comprenda cuántos volúmenes se aprovisionan en un entorno de administración y la cantidad de espacio consumido, etc.

  • Mantenga una asignación de la cantidad de volúmenes aprovisionados en los back-ends disponibles.

  • Seguimiento del rendimiento. Puede ver cuánto tiempo tarda Trident en comunicarse con los back-ends y realizar operaciones.

Nota Por defecto, las métricas de Trident se exponen en el puerto de destino. 8001 al /metrics punto final. Estas métricas están habilitadas por defecto cuando se instala Trident . Puedes configurar el consumo de métricas de Trident a través de HTTPS en el puerto 8444 también.
Lo que necesitará

Paso 1: Definir un objetivo Prometheus

Debes definir un objetivo de Prometheus para recopilar las métricas y obtener información sobre los backends que gestiona Trident , los volúmenes que crea, etc. Ver"Documentación del operador de Prometheus" .

Paso 2: Cree un Prometheus ServiceMonitor

Para usar las métricas de Trident, debe crear un Prometheus ServiceMonitor que vaya a ver el trident-csi el servicio y escucha el metrics puerto. Un ejemplo de ServiceMonitor tiene este aspecto:

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

Esta definición de ServiceMonitor recupera las métricas devueltas por el trident-csi servicio y específicamente busca el metrics punto final del servicio. Como resultado, Prometheus ahora está configurado para comprender las métricas de Trident.

Además de las métricas disponibles directamente desde Trident, kubelet expone muchas kubelet_volume_* métricas a través de su propio punto final de métricas. Kubelet puede proporcionar información sobre los volúmenes adjuntos y los pods y otras operaciones internas que realiza. Consulte "aquí".

Consumir métricas de Trident a través de HTTPS

Para consumir métricas de Trident a través de HTTPS (puerto 8444), debe modificar la definición de ServiceMonitor para incluir la configuración TLS. También necesitas copiar el trident-csi secreto de trident espacio de nombres al espacio de nombres donde se está ejecutando Prometheus. Puedes hacerlo utilizando el siguiente comando:

kubectl get secret trident-csi -n trident -o yaml | sed 's/namespace: trident/namespace: monitoring/' | kubectl apply -f -

Un ejemplo de ServiceMonitor para métricas HTTPS tiene el siguiente aspecto:

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:
    - interval: 15s
      path: /metrics
      port: https-metrics
      scheme: https
      tlsConfig:
        ca:
          secret:
            key: caCert
            name: trident-csi
        cert:
          secret:
            key: clientCert
            name: trident-csi
        keySecret:
          key: clientKey
          name: trident-csi
        serverName: trident-csi

Trident admite métricas HTTPS en todos los métodos de instalación: tridentctl, Helm chart y Operator:

  • Si estás utilizando el tridentctl install comando, puedes pasar el --https-metrics Bandera para habilitar las métricas HTTPS.

  • Si estás utilizando el gráfico de Helm, puedes configurarlo. httpsMetrics Parámetro para habilitar las métricas HTTPS.

  • Si utiliza archivos YAML, puede agregar el --https_metrics bandera a la trident-main contenedor en el trident-deployment.yaml archivo.

Paso 3: Consulte las métricas de Trident con PromQL

PromQL es adecuado para crear expresiones que devuelvan datos tabulares o de series temporales.

A continuación se muestran algunas consultas PromQL que se pueden utilizar:

Obtenga información de estado de Trident

  • Porcentaje de respuestas HTTP 2XX de Trident

(sum (trident_rest_ops_seconds_total_count{status_code=~"2.."} OR on() vector(0)) / sum (trident_rest_ops_seconds_total_count)) * 100
  • Porcentaje de respuestas REST de Trident a través del código de estado

(sum (trident_rest_ops_seconds_total_count) by (status_code)  / scalar (sum (trident_rest_ops_seconds_total_count))) * 100
  • Duración media en ms de operaciones realizadas por Trident

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

Obtenga la información de uso de Trident

  • Tamaño medio del volumen

trident_volume_allocated_bytes/trident_volume_count
  • Espacio total por volumen aprovisionado por cada backend

sum (trident_volume_allocated_bytes) by (backend_uuid)

Obtenga el uso de cada volumen

Nota Esto solo se habilita si también se recopilan las métricas Kubelet.
  • Porcentaje de espacio usado para cada volumen

kubelet_volume_stats_used_bytes / kubelet_volume_stats_capacity_bytes * 100

Más información sobre la telemetría de Trident AutoSupport

De forma predeterminada, Trident envía métricas de Prometheus e información básica de backend a NetApp en una cadencia diaria.

  • Para evitar que Trident envíe métricas de Prometheus e información básica de back-end a NetApp, pase el --silence-autosupport indicador durante la instalación de Trident.

  • Trident también puede enviar registros de contenedores al soporte de NetApp bajo demanda a través `tridentctl send autosupport`de . Deberá activar Trident para que cargue sus registros. Antes de enviar registros, debe aceptar NetApphttps://www.netapp.com/company/legal/privacy-policy/["política de privacidad"^].

  • A menos que se especifique, Trident recupera los registros de las últimas 24 horas.

  • Puede especificar el plazo de retención del registro con --since el indicador. Por ejemplo tridentctl send autosupport --since=1h: . Esta información se recopila y se envía a través de un trident-autosupport contenedor que se instala junto con Trident. Puede obtener la imagen del contenedor en "AutoSupport de Trident".

  • Trident AutoSupport no recopila ni transmite información personal identificable (PII) ni Información personal. Incluye una "CLUF" que no es aplicable a la propia imagen del contenedor de Trident. Puede obtener más información sobre el compromiso de NetApp con la seguridad y la confianza de los datos "aquí".

Un ejemplo de carga útil enviada por Trident tiene el siguiente aspecto:

---
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
  • Los mensajes de AutoSupport se envían al extremo AutoSupport de NetApp. Si está utilizando un Registro privado para almacenar imágenes contenedoras, puede utilizar --image-registry bandera.

  • También puede configurar direcciones URL proxy generando los archivos YLMA de instalación. Esto se puede hacer usando tridentctl install --generate-custom-yaml Para crear los archivos YAML y agregar --proxy-url argumento para trident-autosupport contenedor en trident-deployment.yaml.

Deshabilitar las métricas de Trident

Para desactivar las métricas de ser reportadas, debe generar YAMLs personalizados (utilizando la --generate-custom-yaml y editarlas para eliminar --metrics no se invoca el indicador para el `trident-main`contenedor.