Versión de la integración5.1.0
Obtén métricas de CoreDNS en tiempo real para visualizar y monitorizar fallos DNS y aciertos o fallos de caché.
Configuración
A partir de la versión 1.11.0, esta integración basada en OpenMetrics cuenta con un modo más reciente (que se activa configurando openmetrics_endpoint
para que apunte al endpoint de destino) y un modo heredado (que se activa configurando prometheus_url
). Para obtener todas las funciones más actualizadas, Datadog recomienda activar el modo más reciente. Para obtener más información, consulta Versiones más recientes y heredadas de integraciones basadas en OpenMetrics.
El último modo del check de CoreDNS requiere Python 3, envía métricas de .bucket
y también envía muestras del histograma .sum
y .count
como tipo de recuento monotónico. Antes, estas métricas se enviaban como tipo gauge
en el modo heredado. Para ver la lista de métricas disponibles en cada modo, consulta el archivometadata.csv
.
Para los hosts que no puedan utilizar Python 3, o si previamente has implementado este modo de integración, consulta el ejemplo de configuración del modo legacy
. Para los usuarios de Autodiscovery que dependen del archivo coredns.d/auto_conf.yaml
, este habilita por defecto la opción prometheus_url
del modo legacy
del check. Consulta el coredns.d/auto_conf.yaml de ejemplo, para ver las opciones de configuración por defecto, y el coredns.d/conf.yaml.example de ejemplo, para ver todas las opciones de configuración disponibles.
Instalación
El check de CoreDNS está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tus servidores.
Configuración
Docker
Para configurar este check para un Agent que se ejecuta en un contenedor:
Recopilación de métricas
Configura plantillas de integraciones de Autodiscovery como etiquetas (labels) Docker en el contenedor de tu aplicación:
LABEL "com.datadoghq.ad.check_names"='["coredns"]'
LABEL "com.datadoghq.ad.init_configs"='[{}]'
LABEL "com.datadoghq.ad.instances"='[{"openmetrics_endpoint":"http://%%host%%:9153/metrics", "tags":["dns-pod:%%host%%"]}]'
Para activar el modo heredado de este check basado en OpenMetrics, sustituye openmetrics_endpoint
por prometheus_url
:
LABEL "com.datadoghq.ad.instances"='[{"prometheus_url":"http://%%host%%:9153/metrics", "tags":["dns-pod:%%host%%"]}]'
Notas:
- El archivo
coredns.d/auto_conf.yaml
enviado activa la opción prometheus_url
por defecto del modo heredado. - La etiqueta (tag)
dns-pod
realiza un seguimiento de la IP del pod DNS de destino. Las otras etiquetas (tags) están relacionadas con el Datadog Agent que sondea la información utilizando la detección de servicios. - Las anotaciones de detección de servicios deben realizarse en el pod. En caso de despliegue, añade las anotaciones a los metadatos de las especificaciones de la plantilla. No las añadas en el nivel de especificación externo.
Recopilación de logs
La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de Docker.
Luego, configura integraciones de logs como etiquetas Docker:
LABEL "com.datadoghq.ad.logs"='[{"source":"coredns","service":"<SERVICE_NAME>"}]'
Kubernetes
Para Configurar este check para un Agent que se ejecuta en Kubernetes:
Recopilación de métricas
Configura plantillas de integraciones Autodiscovery como anotaciones de pod en tu contenedor de aplicación. Las plantillas también se pueden configurar con un archivo, un configmap o un almacén de clave-valor.
Anotaciones v1 (para el Datadog Agent v7.36 o anterior)
apiVersion: v1
kind: Pod
metadata:
name: coredns
annotations:
ad.datadoghq.com/coredns.check_names: '["coredns"]'
ad.datadoghq.com/coredns.init_configs: '[{}]'
ad.datadoghq.com/coredns.instances: |
[
{
"openmetrics_endpoint": "http://%%host%%:9153/metrics",
"tags": ["dns-pod:%%host%%"]
}
]
labels:
name: coredns
spec:
containers:
- name: coredns
Anotaciones v2 (para el Datadog Agent v7.36 o posterior)
apiVersion: v1
kind: Pod
metadata:
name: coredns
annotations:
ad.datadoghq.com/coredns.checks: |
{
"coredns": {
"init_config": {},
"instances": [
{
"openmetrics_endpoint": "http://%%host%%:9153/metrics",
"tags": ["dns-pod:%%host%%"]
}
]
}
}
labels:
name: coredns
spec:
containers:
- name: coredns
Para activar el modo heredado de este check basado en OpenMetrics, sustituye openmetrics_endpoint
por prometheus_url
:
Anotaciones v1 (para el Datadog Agent v7.36 o anterior)
ad.datadoghq.com/coredns.instances: |
[
{
"prometheus_url": "http://%%host%%:9153/metrics",
"tags": ["dns-pod:%%host%%"]
}
]
Anotaciones v2 (para el Datadog Agent v7.36 o posterior)
"instances": [
{
"prometheus_url": "http://%%host%%:9153/metrics",
"tags": ["dns-pod:%%host%%"]
}
]
Notas:
- El archivo
coredns.d/auto_conf.yaml
enviado activa la opción prometheus_url
por defecto del modo heredado. - La etiqueta (tag)
dns-pod
realiza un seguimiento de la IP del pod DNS de destino. Las otras etiquetas (tags) están relacionadas con el Datadog Agent que sondea la información utilizando la detección de servicios. - Las anotaciones de detección de servicios deben realizarse en el pod. En caso de despliegue, añade las anotaciones a los metadatos de las especificaciones de la plantilla. No las añadas en el nivel de especificación externo.
Recopilación de logs
La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de Kubernetes.
Luego, configura las integraciones de logs como anotaciones de pod. Esto también se puede configurar con un archivo, un mapa de configuración o un almacén de clave-valor.
Anotaciones v1/v2
apiVersion: v1
kind: Pod
metadata:
name: coredns
annotations:
ad.datadoghq.com/coredns.logs: '[{"source": "coredns", "service": "<SERVICE_NAME>"}]'
labels:
name: coredns
ECS
Para configurar este check para un Agent que se ejecuta en ECS:
Recopilación de métricas
Configura plantillas de integraciones de Autodiscovery como etiquetas (labels) Docker en el contenedor de tu aplicación:
{
"containerDefinitions": [{
"name": "coredns",
"image": "coredns:latest",
"dockerLabels": {
"com.datadoghq.ad.check_names": "[\"coredns\"]",
"com.datadoghq.ad.init_configs": "[{}]",
"com.datadoghq.ad.instances": "[{\"openmetrics_endpoint\":\"http://%%host%%:9153/metrics\", \"tags\":[\"dns-pod:%%host%%\"]}]"
}
}]
}
Para activar el modo heredado de este check basado en OpenMetrics, sustituye openmetrics_endpoint
por prometheus_url
:
"com.datadoghq.ad.instances": "[{\"prometheus_url\":\"http://%%host%%:9153/metrics\", \"tags\":[\"dns-pod:%%host%%\"]}]"
Notas:
- El archivo
coredns.d/auto_conf.yaml
enviado activa la opción prometheus_url
por defecto del modo heredado. - La etiqueta (tag)
dns-pod
realiza un seguimiento de la IP del pod DNS de destino. Las otras etiquetas (tags) están relacionadas con el Datadog Agent que sondea la información utilizando la detección de servicios. - Las anotaciones de detección de servicios deben realizarse en el pod. En caso de despliegue, añade las anotaciones a los metadatos de las especificaciones de la plantilla. No las añadas en el nivel de especificación externo.
Recopilación de logs
La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de ECS.
Luego, configura integraciones de logs como etiquetas Docker:
{
"containerDefinitions": [{
"name": "coredns",
"image": "coredns:latest",
"dockerLabels": {
"com.datadoghq.ad.logs": "[{\"source\":\"coredns\",\"service\":\"<SERVICE_NAME>\"}]"
}
}]
}
Validación
Ejecuta el subcomando de status
del Agent y busca coredns
en la sección Checks.
Datos recopilados
Métricas
Eventos
El check de CoreDNS no incluye eventos.
Checks de servicio
Solucionar problemas
¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.
Referencias adicionales
Documentación útil adicional, enlaces y artículos: