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-pl-worker.exe --help

Consulta el ejemplo en el repositorio Helm de Datadog.

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 -d --restart always -v $PWD/<MY_WORKER_CONFIG_FILE_NAME>.json:/etc/datadog/synthetics-check-runner.json datadog/synthetics-private-location-worker:latest --logFormat=json
synthetics-pl-worker.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 del 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
Predeterminado: none
URL proxy utilizada por la ubicación privada para enviar solicitudes de test al endpoint. Admite archivos HTTP(S), SOCKS y PAC con la siguiente sintaxis: pac+http://..., pac+https://..., pac+file://... o pac+data:....
proxyTestRequestsBypassList
Tipo: matriz de cadenas
Predeterminado: none
Hosts para los que no se utiliza el proxy definido con proxyTestRequests, por ejemplo: --proxyTestRequestsBypassList="example.org" --proxyTestRequestsBypassList="*.com".

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.
maxAPIDownloadBodySize
Tipo: número
Predeterminado: 52428800
Tamaño máximo del cuerpo HTTP para una descarga, en bytes. Por defecto es 50 MB (50 * 1024 * 1024).
maxAPIBodySizeIfProcessed
Tipo: número
Predeterminado: 5242880
Tamaño máximo del cuerpo HTTP para una aserción, en bytes. Por defecto es 5 MB (5 * 1024 * 1024).
apiRequestMaxTimeout
Tipo: número
Predeterminado: 60000
Duración máxima de la ejecución del test de la API, en milisegundos. Por defecto es un minuto (60 * 1000).

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
Predeterminado: none
Clave de acceso secreta para la autenticación de la API de Datadog.
--datadogApiKey
Tipo: cadena
Predeterminado: none
Clave de API de Datadog para enviar artefactos de tests de navegador (como capturas de pantalla).
--privateKey
Tipo: matriz
Predeterminado: 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>).
--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://....
proxyTestRequestsBypassList
Tipo: matriz de cadenas
Predeterminado: none
Hosts para los que no se utiliza el proxy definido con proxyTestRequests, por ejemplo: --proxyTestRequestsBypassList="example.org" --proxyTestRequestsBypassList="*.com".
--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 Ubicación privada con variables de entorno. Requiere que las variables de entorno sean importadas en el entorno del contenedor. Con Docker, por ejemplo, docker run --env VARIABLE gcr.io/datadoghq/synthetics-private-location-worker --environmentVariableOverride VARIABLE. Todas las variables importadas de esta forma están enmascaradas.
--retryAPIErrors
Tipo: booleano
Predeterminado: false
Reintenta cualquier error en los tests de API
--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 establecerse utilizando variables de entorno como DATADOG_API_KEY="...", DATADOG_WORKER_CONCURRENCY="15", DATADOG_TESTS_DNS_USE_HOST="true". Para las opciones que aceptan múltiples argumentos, utiliza la notación de 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