Nota: El check de Docker Daemon todavía se mantiene, pero solo funciona con el Agent v5.
Para utilizar la integración de Docker con el Agent v6 consulta la sección Agent v6 a continuación.
Información general
Configura este check del Agent para obtener métricas del servicio de Docker_daemon en tiempo real para lo siguiente:
Visualizar y monitoritorizar los estados de Docker_daemon.
Recibir notificaciones sobre las conmutaciones por error y eventos de Docker_daemon.
Configuración
Instalación
Para recopilar métricas de Docker sobre todos tus contenedores, ejecuta un Datadog Agent en cada host. Hay dos formas de ejecutar el Agent: directamente en cada host o en un contenedor de docker-dd-agent (recomendado).
Para cualquiera de las opciones, tus hosts necesitan una gestión de memoria de grupo activada para que el check de Docker tenga éxito. Consulta el repositorio de docker-dd-agent para saber cómo activarla.
Instalación del host
Asegúrate de que Docker se esté ejecutando en el host.
Añade el usuario del Agent al grupo de Docker: usermod -a -G docker dd-agent
Crea un archivo docker_daemon.yaml copiando el archivo de ejemplo en el directorio de Agent conf.d. Si tienes una instalación estándar de Docker en tu host, no debería haber nada que necesites cambiar para que la integración funcione.
Para activar otras integraciones, utiliza docker ps para identificar los puertos utilizados por las aplicaciones correspondientes.
Instalación del contenedor
Asegúrate de que Docker se esté ejecutando en el host.
En el comando anterior, puedes pasar tu clave de la API al Datadog Agent utilizando la marca de la variable de entorno -e de Docker. Otras variables son:
Variable
Descripción
API_KEY
Configura tu clave de la API de Datadog.
DD_HOSTNAME
Configura el nombre del host en el archivo datadog.confdel contenedor del Agent. Si no se configura esta variable, el contenedor del Agent utiliza valores predeterminados para el campo Name (tal y como se indica en el comando docker info) como el nombre del host del contenedor del Agent.
DD_URL
Configura la URL del servidor de entrada de Datadog al que el Agent envía los datos. Esto es útil cuando se utiliza el Agent como proxy.
LOG_LEVEL
Configura el nivel de detalle del registro (CRÍTICO, ERROR, ADVERTENCIA, INFORMACIÓN, DEPURAR). Por ejemplo, -e LOG_LEVEL=DEBUG configura el registro en el modo de depuración.
ETIQUETAS
Configura etiquetas (tags) del host como una cadena delimitada por comas. Están disponibles tanto etiquetas (tags) simples como etiquetas clave-valor, por ejemplo: -e etiquetas (tags)="simple-etiquetar, etiquetar-clave:etiquetar-valor".
EC2_TAGS
Activar esta función permite al Agent consultar y capturar el conjunto de etiquetas personalizadas utilizando la API de EC2 durante el inicio. Para activarla, utiliza -e EC2_TAGS=yes. Nota: Esta función requiere un rol IAM asociado a la instancia.
NON_LOCAL_TRAFFIC
Activar esta función permite informar StatsD desde cualquier IP externa. Para activarla, utiliza -e NON_LOCAL_TRAFFIC=yes. Esto se usa para informar métricas desde otros contenedores o sistemas. Consulta la configuración de red para obtener más detalles.
Define detalles de la configuración de proxy. Nota: PROXY_PASSWORD es obligatorio para pasar una contraseña de autenticación y no puede renombrarse. Para más información, consulta la documentación de proxy del Agent.
La imagen estándar de Docker está basada en Debian Linux, pero a partir del Datadog Agent v5.7, existe una imagen basada en Alpine Linux. La imagen de Alpine Linux es considerablemente más pequeña que la imagen tradicional basada en Debian. También hereda el diseño orientado a la seguridad de Alpine.
Para utilizar la imagen de Alpine Linux, añade -alpine a la etiqueta de la versión. Por ejemplo:
A partir de la versión 5.5.0 del Datadog Agent, la imagen de Docker sigue un nuevo patrón de versión. Esto permite a Datadog publicar cambios en la imagen de Docker del Datadog Agent, pero con la misma versión del Agent.
La versión de la imagen de Docker tiene el siguiente patrón: X.Y.Z donde X es la versión principal de la imagen de Docker, Y es la versión secundaria y Z representa la versión del Agent.
Por ejemplo, la primera versión de la imagen de Docker que incluye el Datadog Agent 5.5.0 es: 10.0.550
Contenedores personalizados e información adicional
Para obtener más información sobre la creación de contenedores personalizados de Docker con el Datadog Agent, la imagen basada en Alpine Linux, el control de versiones, etc., consulta el proyecto docker-dd-agent en Github.
El último check de Docker se denomina docker y está escrito en Go para aprovechar la nueva arquitectura interna. A partir de la versión 6.0, el Agent ya no carga el check docker_daemon, aunque siga disponible y se mantenga para el Agent v5. Todas las funciones se portan en la versión >6.0, excepto las obsoletas siguientes:
Las opciones ecs_tags, performance_tags y container_tags están obsoletas. Cada etiqueta relevante se recopila de modo predeterminado.
La opción collect_container_count para activar la métricadocker.container.count no es compatible. Deben utilizarse docker.containers.running y .stopped.
Algunas opciones se han movido de docker_daemon.yaml al archivo datadog.yaml principal:
collect_labels_as_tags ha pasado a llamarse docker_labels_as_tags y admite etiquetas de cardinalidad alta. Consulta los detalles en datadog.yaml.example.
exclude y include han pasado a denominarse ac_include y ac_exclude. Para que el filtrado sea coherente en todos los componentes del Agent, se ha suprimido el filtrado en etiquetas arbitrario. Los únicos filtros admitidos en etiquetas son image (nombre de la imagen) y name (nombre del contenedor). El filtrado de expresiones regulares sigue estando disponible; consulta datadog.yaml.example para ver ejemplos.
La opción docker_root se ha dividido en dos opciones: container_cgroup_root y container_proc_root.
exclude_pause_container se ha añadido para excluir los contenedores en pausa en Kubernetes y Openshift (el valor predeterminado es true). Esto evita eliminarlos de la lista por error.
Cambios adicionales:
La variable de entorno TAGS ha pasado a llamarse DD_TAGS.
El comando import convierte el antiguo docker_daemon.yaml en el nuevo docker.yaml. El comando también traslada las configuraciones necesarias de docker_daemon.yaml a datadog.yaml.
Datos recopilados
Métricas
Eventos
La integración de Docker produce los siguientes eventos:
Eliminar imagen
Expirar
Error
Fallo
Terminar
Sin memoria (oom)
Pausa
Reiniciar el contenedor
Reiniciar el Daemon
Actualización
Checks de servicio
Nota: Para utilizar docker.exit, añade collect_exit_codes: true en tu archivo Docker YAML y reinicia el Agent.