Versión de la integración1.1.0
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
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.
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:
- Añade el repositorio Helm:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
- Instala el Chart:
helm install prometheus-stack prometheus-community/kube-prometheus-stack
- 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.