Información general

Las localizaciones privadas Synthetic incluyen un conjunto de opciones que puedes configurar para que cumplan los requisitos de tu entorno. Si ejecutas el comando help, encontrarás todas las opciones del worker de localización privada:

docker run --rm datadog/synthetics-private-location-worker --help
synthetics-private-location.exe --help

Personalización de tu localización privada

A continuación se enumeran los parámetros disponibles. Estas opciones de configuración para localizaciones privadas se pueden pasar como parámetros a la configuración de tu archivo JSON o como argumentos en el comando de lanzamiento, por ejemplo:

docker run --rm -v $PWD/<MY_WORKER_CONFIG_FILE_NAME>.json:/etc/datadog/synthetics-check-runner.json datadog/synthetics-private-location-worker:latest --logFormat=json
synthetics-private-location.exe --config=<PathToYourConfiguration> --logFormat=json

Los argumentos definidos en el comando de lanzamiento tienen prioridad sobre el archivo de configuración. Sin embargo, estas opciones no se almacenan y, en consecuencia, solo son aplicables a un lanzamiento determinado.

Principales opciones de configuración

Configuración del sitio Datadog

site
Tipo: Cadena
Por defecto: datadoghq.com
El sitio Datadog desde el que la localización privada extrae la configuración del test y envía los resultados del mismo. Tu site es .

Configuración de DNS

Puedes utilizar los siguientes parámetros para personalizar la resolución DNS en tus tests de API:

dnsUseHost
Tipo: Booleano
Por defecto: true
Utiliza primero la configuración de DNS local del host (por ejemplo, la configuración de tu archivo etc/resolv.conf``), y después los servidores DNS especificados en el parámetro dnsServer`.
dnsServer
Tipo: Matriz de cadenas
Por defecto: ["8.8.8.8","1.1.1.1"]
IP de servidores DNS que se deben utilizar en el orden indicado (por ejemplo, --dnsServer="8.8.4.4" --dnsServer="8.8.8.8").

En los tests de navegador, la resolución DNS la realiza directamente el navegador, que normalmente lee los servidores DNS del host. Como alternativa, puedes configurarlo a nivel de contenedor (por ejemplo, utilizando el indicador --dns en Docker o dnsConfig.nameservers en Kubernetes).

Configuración de proxy

Los siguientes parámetros pueden utilizarse para configurar un proxy para conectarse a Datadog:

proxyDatadog
Tipo: Cadena
Por defecto: none
URL de proxy utilizada por la localización privada para enviar solicitudes a Datadog (por ejemplo, --proxyDatadog=http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>).
proxyIgnoreSSLErrors
Tipo: Booleano
Por defecto: false
Descarta errores SSL cuando una localización privada está utilizando un proxy para enviar solicitudes a Datadog.
proxyEnableConnectTunnel
Tipo: Booleano
Por defecto: none
Habilita la tunelización HTTP CONNECT para proxies HTTP. Si esta opción no está configurada, la tunelización HTTP CONNECT sólo se utiliza para proxies HTTPS.

Nota: Las proxies de envío HTTP como Squid pueden requerir la solicitud HTTP CONNECT para establecer la conexión TCP inicial entre la localización privada y Datadog. Por lo tanto, el parámetro proxyEnableConnectTunnel debe configurarse como true. Sin embargo, las proxies inversas como HAProxy que dirigen una solicitud HTTP CONNECT a Datadog pueden no funcionar con esta opción habilitada.

Nota: El parámetro proxy está obsoleto y debe sustituirse por proxyDatadog.

Los siguientes parámetros se pueden utilizar para configurar un proxy predeterminado para utilizarlo en los tests de monitorización Synthetic:

proxyTestRequests
Tipo: Cadena
Por defecto: none
URL de proxy utilizada por la localización privada para enviar solicitudes de test al endpoint. Los archivos PAC son compatibles con la siguiente sintaxis: pac+https://... o pac+http://....

Configuración avanzada

concurrency
Tipo: Número
Por defecto: 10
Número máximo de tests ejecutados en paralelo.
maxNumberMessagesToFetch
Tipo: Número
Por defecto: 10
Número máximo de tests recuperados de Datadog.

Nota: Los contenedores de localizaciones privadas envían logs a stdout y stderr sin guardarlos en el contenedor.

Todas las opciones de configuración

--accessKey
Tipo: Cadena
Por defecto: none
Clave de acceso para la autenticación de la API Datadog.
--secretAccessKey
Tipo: Cadena
Por defecto: none
Clave de acceso secreta para la autenticación de la API Datadog.
--datadogApiKey
Tipo: Cadena
Por defecto: none
Clave de la API Datadog para enviar artefactos de tests de navegador (como capturas de pantalla).
--privateKey
Tipo: Matriz
Por defecto: none
Clave privada utilizada para descifrar configuraciones de test.
--publicKey
Tipo: Matriz
Por defecto: none
Clave pública utilizada por Datadog para cifrar los resultados de tests. Compuesta por --publicKey.pem.
--site
Tipo: Cadena
Por defecto: datadoghq.com
Sitio Datadog desde el que la localización privada extrae la configuración del test y envía los resultados del test. Tu sitio es .
--concurrency
Tipo: Número
Por defecto: 10
Número máximo de tests ejecutados en paralelo.
--maxNumberMessagesToFetch
Tipo: Número
Por defecto: 10
Número máximo de tests recuperados de Datadog.
--proxyDatadog
Tipo: Cadena
Por defecto: none
URL de proxy utilizada por la localización privada para enviar solicitudes a Datadog (por ejemplo, --proxyDatadog=http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>).
--disableFipsCompliance
Tipo: Booleano
Por defecto: false
Deshabilita la conformidad FIPS para una localización privada que utiliza ddog-gov.com. Por defecto, las localizaciones privadas que informan a ddog-gov.com se comunican con Datadog utilizando el cifrado conforme a FIPS. La comunicación cumple con el uso de FIPS 140-2 validado Módulo criptográfico - Certificado #4282. Esta opción es necesaria si estás utilizando una localización Windows privada que informa a ddog-gov.com.
--dumpConfig
Tipo: Booleano
Por defecto: none
Muestra los parámetros de configuración del worker sin secretos.
--enableStatusProbes
Tipo: Booleano
Habilita la disponibilidad y la preparación de las sondas de localizaciones privadas. Esto habilita dos endpoints: http://127.0.0.1:8080/liveness y http://127.0.0.1:8080/readiness.
--statusProbesPort
Tipo: Número
Por defecto: 8080
Anula el puerto para las sondas de estado de localizaciones privadas.
--config
Tipo: Cadena
Por defecto: /etc/datadog/synthetics-check-runner.json
Windows: C:\ProgramData\Datadog-Synthetics\worker-config.json
Ruta de acceso al archivo de configuración JSON.
--proxyTestRequests
Tipo: Cadena
Por defecto: none
URL de proxy utilizada por la localización privada para enviar solicitudes de test al endpoint. Los archivos PAC son compatibles con la siguiente sintaxis: pac+https://... o pac+http://....
--proxyIgnoreSSLErrors
Tipo: Booleano
Por defecto: false
Descarta errores SSL cuando una localización privada está utilizando un proxy para enviar solicitudes a Datadog.
--dnsUseHost
Tipo: Booleano
Por defecto: true
Primero utiliza la configuración DNS local del host (por ejemplo, la configuración de tu archivo etc/resolv.conf) y luego los servidores DNS especificados en el parámetro dnsServer.
--dnsServer
Tipo: Matriz de cadenas
Por defecto: ["8.8.8.8","1.1.1.1"]
IP de servidores DNS a utilizar en el orden dado (por ejemplo, --dnsServer="8.8.4.4" --dnsServer="8.8.8.8").
--variableOverride
Tipo: Cadena
Anula las variables utilizadas en los tests que se ejecutan en la localización privada. Formato: VARIABLE=value. Todas las variables importadas de esta forma están ofuscadas.
--environmentVariableOverride
Tipo: Cadena
Anula las variables utilizadas en los tests que se ejecutan en la localización privada con variables de entorno. Requiere que las variables de entorno sean importadas en el entorno contenedorizado. Con Docker, por ejemplo, docker run --env VARIABLE gcr.io/datadoghq/synthetics-private-location-worker --environmentVariableOverride VARIABLE. Todas las variables importadas de esta manera están ofuscadas.
--allowedIPRanges
Tipo: Matriz de cadenas
Por defecto: none
Concede acceso a IP o CIDR específicos entre los rangos de IP bloqueados a través de --enableDefaultBlockedIpRanges o blockedIPRanges (por ejemplo, "allowedIPRanges.4": "10.0.0.0/8"). Nota: allowedIPRanges tiene prioridad sobre blockedIPRanges.
--blockedIPRanges
Tipo: Matriz de cadenas
Por defecto: none
Bloquea el acceso a IP o CIDR específicos, además o no de los rangos de IP bloqueados al configurar el parámetro --enableDefaultBlockedIpRanges como true (por ejemplo, --blockedIPRanges.4="127.0.0.0/8" --blockedIPRanges.6="::1/128").
--enableDefaultBlockedIpRanges
Tipo: Booleano
Por defecto: false
Evita que los usuarios creen tests Synthetic en endpoints que están utilizando rangos de IP reservados (Registro de Direcciones de Propósito Especial de IANA IPv4 e IPv6), excepto aquellos explícitamente definidos con el parámetro --allowedIPRanges.
--nombresDominioPermitidos
Tipo: Matriz
Por defecto: none
Concede acceso a los nombres de dominio en tests. Tiene prioridad sobre –blockedDomainNames, por ejemplo: --allowedDomainNames="*.example.com".
--blockedDomainNames
Tipo: Matriz
Por defecto: none
Deniega el acceso a nombres de dominio en tests, por ejemplo: --blockedDomainNames="ejemplo.org" --blockedDomainNames="*.com".
--habilitarIPv6
Tipo: Booleano
Por defecto: false
Utiliza IPv6 para realizar tests. Nota: IPv6 en Docker sólo es compatible con un host Linux.
--version
Tipo: Booleano
Por defecto: none
Muestra el número de versión del worker.
--logFormat
Tipo: Cadena
Por defecto: pretty
Da un formato al resultado del log entre "compact", "pretty", "pretty-compact" y "json". Definir el formato del log como json permite que estos logs sean analizados automáticamente cuando son recopilados por Datadog.
--verbosidad
Tipo: Número
Por defecto: 3
Nivel de verbosidad desde 1 (sólo errores) hasta 4 (logs de depuración y superiores). La configuración de la verbosidad desde la línea de comandos se realiza con los argumentos -v, , -vvvv y -vvvv.

Nivel de verbosidadArgumento CLIOpción de configuración JSON
DEPURACIÓN-vvvv"verbosity": 4
INFORMACIÓN (por defecto)-vvv"verbosity": 3
ADVERTENCIA-vv"verbosity": 2
ERROR-v"verbosity": 1
--help
Tipo: Booleano
Por defecto: none
Muestra el resultado del comando de ayuda.

Variables de entorno

Las opciones de comandos también pueden definirse utilizando variables de entorno como DATADOG_API_KEY="...", DATADOG_WORKER_CONCURRENCY="15", DATADOG_DNS_USE_HOST="true". Para las opciones que aceptan múltiples argumentos, utiliza la notación de la matriz de cadenas JSON (DATADOG_TESTS_DNS_SERVER='["8.8.8.8", "1.1.1.1"]').

Variables de entorno compatibles:

DATADOG_ACCESS_KEY, DATADOG_API_KEY, DATADOG_PRIVATE_KEY, DATADOG_PUBLIC_KEY_PEM, DATADOG_SECRET_ACCESS_KEY, DATADOG_SITE, DATADOG_WORKER_CONCURRENCY, DATADOG_WORKER_LOG_FORMAT, DATADOG_WORKER_LOG_VERBOSITY, DATADOG_WORKER_MAX_NUMBER_MESSAGES_TO_FETCH, DATADOG_WORKER_PROXY, DATADOG_TESTS_DNS_SERVER, DATADOG_TESTS_DNS_USE_HOST, DATADOG_TESTS_PROXY, DATADOG_TESTS_PROXY_ENABLE_CONNECT_TUNNEL, DATADOG_TESTS_PROXY_IGNORE_SSL_ERRORS, DATADOG_ALLOWED_IP_RANGES_4, DATADOG_ALLOWED_IP_RANGES_6, DATADOG_BLOCKED_IP_RANGES_4, DATADOG_BLOCKED_IP_RANGES_6, DATADOG_ENABLE_DEFAULT_WINDOWS_FIREWALL_RULES, DATADOG_ALLOWED_DOMAIN_NAMES, DATADOG_BLOCKED_DOMAIN_NAMES, DATADOG_WORKER_ENABLE_STATUS_PROBES, DATADOG_WORKER_STATUS_PROBES_PORT

Referencias adicionales