Todos los ejemplos utilizan la función de Autodiscovery de Datadog, que permite definir plantillas de configuración para checks del Agent en conjuntos designados de contenedores. Para más información sobre Autodiscovery, consulta Empezando con contenedores: Autodiscovery.
La integración de Redis para todos los contenedores de Redis
En este escenario de ejemplo, tienes un entorno en contenedores en el que quieres establecer y configurar la integración de Datadog y Redis para todos los contenedores que coincidan con el nombre redis. Tienes un contenedor llamado redis y otro llamado my-custom-redis, y quieres configurar la integración de Redis para ambos contenedores.
La integración de Redis viene con la configuración automática predeterminada, pero debes especificar adicionalmente un parámetro password y configurar la recopilación de logs.
Hipotéticamente, si tuvieras que configurar esta integración en un host, podrías hacer referencia a redisdb.d/conf.yaml.example para los parámetros y crear un archivo conf.yaml que contenga lo siguiente:
Aquí, <PASSWORD> corresponde a la contraseña a utilizar para la conexión.
Para aplicar este configuración a tus contenedores de Redis: primero, almacena tu contraseña como una variable de entorno llamada REDIS_PASSWORD; luego:
En el manifiesto de tu pod:
Anotaciones de Autodiscovery v2 (para el Datadog Agent v7.36 o posterior)
Los siguientes comandos etcd crean una plantilla de con integración Redis con un parámetro de password personalizado:
etcdctl mkdir /datadog/check_configs/redis
etcdctl set /datadog/check_configs/redis/check_names '["redisdb"]'
etcdctl set /datadog/check_configs/redis/init_configs '[{}]'
etcdctl set /datadog/check_configs/redis/instances '[{"host": "%%host%%","port":"6379","password":"%%env_REDIS_PASSWORD%%"}]'
Fíjate que cada uno de los tres valores es una lista. Autodiscovery agrupa los elementos de la lista en configuraciones de integraciones basadas en índices de lista compartidos. En este caso, define la primera (y única) configuración de checks a partir de check_names[0], init_configs[0] y instances[0].
Como resultado, el Agent contiene un archivo redisdb.yaml con la configuración anterior en el directorio conf.d.
Nota: La integración de Redis viene con configuración automática por defecto, que tiene prioridad sobre la configuración establecida en el manifiesto del Datadog Operator. Debido a esto, el manifiesto de ejemplo proporcionado utiliza la variable DD_IGNORE_AUTOCONF para desactivar la configuración automática.
Como resultado, el Agent contiene un archivo redisdb.yaml con la configuración anterior en el directorio conf.d.
Nota: La integración de Redis viene con la configuración automática predeterminada, que tiene precedencia sobre la configuración establecida en los valores de Helm. Debido a esto, el ejemplo proporcionado utiliza datadog.ignoreAutoConfig para desactivar la configuración automática.
%%host%% se rellena dinámicamente con la dirección IP del contenedor.
%%env_REDIS_PASSWORD%% hace referencia a una variable de entorno denominada REDIS_PASSWORD vista por el proceso del Agent.
La integración de Apache integración y el check de HTTP en contenedores de Apache
En este escenario de ejemplo, tienes un entorno en contenedores en el que quieres establecer y configurar la integración de Datadog y Apache para todos los contenedores que coincidan con el nombre apache. También debes configurar un check de HTTP para probar dos endpoints, /website_1 y /website_2.
Hipotéticamente, si tuvieras que configurar esta integración en un host, podrías hacer referencia a las opciones de configuración en apache.d/conf.yaml.example y http_check.d/conf.yaml.example. Se crearían dos archivos conf.yaml:
etcdctl set /datadog/check_configs/apache/check_names '["apache", "http_check"]'
etcdctl set /datadog/check_configs/apache/init_configs '[{}, {}]'
etcdctl set /datadog/check_configs/apache/instances '[[{"apache_status_url": "http://%%host%%/server-status?auto", "min_collection_interval": 30}],[{"name": "<WEBSITE_1>", "url": "http://%%host%%/website_1", timeout: 1},{"name": "<WEBSITE_2>", "url": "http://%%host%%/website_2", timeout: 1}]]'
Nota: El orden de cada lista es importante. El Agent sólo puede generar la configuración del check de HTTP correctamente si todas las partes de su configuración tienen el mismo índice en las tres listas.
Nota: La integración de Apache viene con configuración automática por defecto, que tiene prioridad sobre la configuración establecida en el manifiesto del Datadog Operator. Debido a esto, el manifiesto de ejemplo proporcionado utiliza la variable DD_IGNORE_AUTOCONF para desactivar la configuración automática.
Nota: La integración de Apache viene con la configuración automática predeterminada, que tiene precedencia sobre la configuración establecida en los valores de Helm. Debido a esto, el ejemplo proporcionado utiliza datadog.ignoreAutoConfig para desactivar la configuración automática.