Supported OS Linux Windows Mac OS

Versión de la integración1.1.0

Información general

Este check monitoriza Kubeflow a través del Datadog Agent.

Configuración

Esta integración se publica actualmente en modo de vista previa. Su disponibilidad está sujeta a cambios en el futuro.

Sigue las instrucciones a continuación para instalar y configurar este check para un Agent que se ejecuta en un host. Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.

Instalación

El check de Kubeflow está incluido en el paquete del Datadog Agent. No es necesaria ninguna instalación adicional en tu servidor.

Configuración

  1. Edita el archivo kubeflow.d/conf.yaml, en la carpeta conf.d/ en la raíz del directorio de configuración del Agent para empezar a recopilar tus datos de rendimiento de Kubeflow. Para ver todas las opciones de configuración disponibles, consulta el kubeflow.d/conf.yaml de ejemplo.

  2. Reinicia el Agent.

Recopilación de métricas

Asegúrate de que las métricas con formato Prometheus están expuestas para tu componentekubeflow. Para que el Agent empiece a recopilar métricas, los pods kubeflow deben estar anotados.

Kubeflow tiene endpoints de métricas a los que se puede acceder en el puerto 9090.

Para habilitar la exposición de métricas en Kubeflow a través de Prometheus, es posible que necesites habilitar la monitorización del servicio Prometheus para el componente en cuestión.

Puedes utilizar Kube-Prometheus-Stack o una instalación personalizada de Prometheus.

Cómo instalar Kube-Prometheus-Stack:
  1. Añade el repositorio Helm:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
  1. Instala el Chart:
helm install prometheus-stack prometheus-community/kube-prometheus-stack
  1. Expón el servicio Prometheus externamente:
kubectl port-forward prometheus-stack 9090:9090
Configura ServiceMonitors para componentes Kubeflow:

Necesitas configurar ServiceMonitors para que los componentes Kubeflow expongan sus métricas Prometheus. Si tu componente Kubeflow expone métricas Prometheus por defecto, sólo tendrás que configurar Prometheus para extraer estas métricas.

El ServiceMonitor tendría el siguiente aspecto:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: <kubeflow-component>-monitor
  labels:
    release: prometheus-stack
spec:
  selector:
    matchLabels:
      app: <kubeflow-component-name>
  endpoints:
  - port: http
    path: /metrics

Donde <kubeflow-component> debe sustituirse por pipelines, kserve o katib y <kubeflow-component-name> debe sustituirse por ml-pipeline, kserve o katib.

Nota: Las métricas enumeradas sólo pueden recopilarse si están disponibles (dependiendo de la versión). Algunas métricas sólo se generan cuando se realizan determinadas acciones.

El único parámetro necesario para configurar el check kubeflow es openmetrics_endpoint. Este parámetro debe definirse en la localización donde se exponen métricas con formato Prometheus. El puerto por defecto es 9090. En entornos contenedorizados, %%host%% debe utilizarse para la detección automática de hosts.

apiVersion: v1
kind: Pod
# (...)
metadata:
  name: '<POD_NAME>'
  annotations:
    ad.datadoghq.com/controller.checks: |
      {
        "kubeflow": {
          "init_config": {},
          "instances": [
            {
              "openmetrics_endpoint": "http://%%host%%:9090/metrics"
            }
          ]
        }
      }      
    # (...)
spec:
  containers:
    - name: 'controller'
# (...)

Validación

Ejecuta el subcomando de estado del Agent y busca kubeflow en la sección Checks.

Datos recopilados

Métricas

Eventos

La integración Kubeflow no incluye eventos.

Checks de servicio

Resolución de problemas

¿Necesitas ayuda? Consulta el servicio de asistencia de Datadog.

PREVIEWING: may/embedded-workflows