개요

신서틱(Synthetic) 비공개 위치에는 환경 요구 사항에 맞게 설정할 수 있는 옵션 세트가 제공됩니다. 비공개 위치 작업자에 대한 모든 옵션은 다음 help 명령을 실행하여 찾을 수 있습니다.

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

Datadog Helm 리포지토리의 예를 참조하세요.

비공개 위치 사용자 지정하기

사용 가능한 파라미터 옵션은 다음과 같습니다. 비공개 위치 설정 옵션은 JSON 설정 파일 파라미터 또는 실행 명령의 인수로써 다음의 예시와 같이 전달됩니다.

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

실행 명령에 설정된 인수는 설정 파일보다 우선합니다. 그러나 해당 옵션은 저장되지 않으므로 결과적으로 특정 실행 시에만 적용됩니다.

상위 설정 옵션

Datadog 사이트 설정

site
Type: String
Default: datadoghq.com
비공개 위치의 테스트 설정을 불러와 테스트 결과를 푸시하는 Datadog 사이트입니다. site입니다.

DNS 설정

다음 파라미터를 사용하여 API 테스트에서 DNS 확인을 사용자 지정할 수 있습니다.

dnsUseHost
Type: Boolean
Default: true
로컬 호스트 DNS 설정(예: etc/resolv.conf 파일의 설정)을 먼저 적용한 이후 dnsServer 파라미터에 지정된 DNS 서버를 사용합니다.
dnsServer
Type: Array of Strings
Default: ["8.8.8.8","1.1.1.1"]
지정된 순서로 사용할 DNS 서버 IP(예: --dnsServer="8.8.4.4" --dnsServer="8.8.8.8").

브라우저 테스트에서 DNS 확인은 브라우저에서 직접 수행하며, 대개 호스트의 DNS 서버를 읽습니다. 또는 컨테이너 수준에서 설정을 사용할 수 있습니다(예: 쿠버네티스(Kubernetes)--dns flag on Docker, or dnsConfig.nameservers를 사용).

프록시 설정

다음 파라미터를 사용해 프록시를 구성하여 Datadog에 연결할 수 있습니다.

proxyDatadog
Type: String
Default: none
비공개 위치에서 Datadog으로 요청을 보낼 때 사용하는 프록시 URL(예: --proxyDatadog=http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>).
proxyIgnoreSSLErrors
Type: Boolean
Default: false
비공개 위치에서 프록시를 사용하여 Datadog로 요청 전송 시 SSL 오류를 삭제합니다.
proxyEnableConnectTunnel
Type: Boolean
Default: none
HTTP 프록시를 위해 HTTP CONNECT 터널링을 활성화합니다. 이 옵션이 설정되어 있지 않으면 HTTP CONNECT 터널링은 HTTPS 프록시에만 사용됩니다.

참고: Squid와 같은 HTTP 포워드 프록시의 경우, 프라이빗 위치와 Datadog 간에 첫 TCP 연결을 하는데 HTTP CONNECT 요청이 필요할 수 있습니다. 따라서 proxyEnableConnectTunnel 파라미터를 true로 설정해야 합니다. 그러나 이 옵션이 활성화되어 있으면 HTTP CONNECT 요청을 Datadog로 보내는 리버스 프록시(예: HAProxy)가 작동하지 않을 수 있습니다.

참고: proxy 파라미터는 더 이상 지원되지 않으며 proxyDatadog으로 대체합니다.

Synthetic Monitoring 테스트에 사용할 기본 프록시를 구성할 때 다음 파라미터를 사용할 수 있습니다.

proxyTestRequests
Type: String
Default: none
프라이빗 위치에서 엔드포인트로 테스트 요청을 보낼 때 사용되는 프록시 URL. pac+http://..., pac+https://..., pac+file://..., 또는 pac+data:... 구문이 있는 HTTP(S), SOCKS, PAC 파일을 지원합니다.
proxyTestRequestsBypassList
Type: Array of Strings
Default: none
proxyTestRequests로 정의되지 않은 호스트가 사용되지 않은 호스트. 예: --proxyTestRequestsBypassList="example.org" --proxyTestRequestsBypassList="*.com".

고급 설정

concurrency
Type: Number
Default: 10
병렬로 실행되는 최대 테스트 수입니다.
maxNumberMessagesToFetch
Type: Number
Default: 10
Datadog에서 불러온 최대 테스트 수입니다.
maxAPIDownloadBodySize
Type: Number
Default: 52428800
다운로드할 수 있는 최대 HTTP 본문 크기(바이트 단위). 기본값은 50 MB(50 * 1024 * 1024).
maxAPIBodySizeIfProcessed
Type: Number
Default: 5242880
어설션의 최대 HTTP 본문 크기(바이트 단위). 기본값은 5 MB(5 * 1024 * 1024).
apiRequestMaxTimeout
Type: Number
Default: 60000
API 테스트 실행의 최대 기간(밀리초 단위). 기본값은 1분(60 * 1000).

참고: 비공개 위치 컨테이너는 로그를 컨테이너에 저장하지 않고 stdoutstderr으로 출력합니다.

모든 설정 옵션

--accessKey
Type: String
Default: none
Datadog API 인증 액세스 키입니다.
--secretAccessKey
Type: String
Default: none
Datadog API 인증 비밀 액세스 키입니다.
--datadogApiKey
Type: String
Default: none
브라우저 테스트 아티팩트(스크린샷 등)를 전송할 Datadog API 키입니다.
--privateKey
Type: Array
Default: none
테스트 구성을 해독하는 데 사용되는 프라이빗 키입니다.
--publicKey
유형: 배열
기본값: none
Datadog이 테스트 결과를 암호화하는 데 사용하는 공개 키입니다. --publicKey.pem으로 구성됩니다.
--site
Type: String
Default: datadoghq.com
비공개 위치의 테스트 설정을 불러와 테스트 결과를 푸시하는 Datadog 사이트입니다. 고객님의 사이트는 입니다.
--concurrency
Type: Number
Default: 10
병렬로 실행되는 최대 테스트 수입니다.
--maxNumberMessagesToFetch
Type: Number
Default: 10
Datadog에서 불러온 최대 테스트 수입니다.
--proxyDatadog
Type: String
Default: none
비공개 위치에서 Datadog으로 요청을 보낼 때 사용하는 프록시 URL(예: --proxyDatadog=http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>).
--dumpConfig
Type: Boolean
Default: none
기밀 정보가 없는 작업자 설정 파라미터를 표시합니다.
--enableStatusProbes
Type: Boolean
비공개 위치 프로브의 준비 및 실시간 상태를 활성화합니다. http://127.0.0.1:8080/liveness, http://127.0.0.1:8080/readiness의 엔드포인트 두 개가 활성화됩니다.
--statusProbesPort
Type: Number
Default: 8080
비공개 위치 상태 프로브의 포트를 덮어씁니다.
--config
Type: String
Default: /etc/datadog/synthetics-check-runner.json
Windows: C:\ProgramData\Datadog-Synthetics\worker-config.json
JSON 구성 파일의 경로입니다.
--proxyTestRequests
Type: String
Default: none
비공개 위치에서 테스트 요청을 엔드포인트로 전송하는 데 사용하는 프록시 URL입니다. PAC 파일은 pac+https://... 또는 pac+http://... 구문으로 지원됩니다.
proxyTestRequestsBypassList
Type: Array of Strings
Default: none
proxyTestRequests로 정의되지 않은 호스트가 사용되지 않은 호스트. 예: --proxyTestRequestsBypassList="example.org" --proxyTestRequestsBypassList="*.com".
--proxyIgnoreSSLErrors
Type: Boolean
Default: false
비공개 위치에서 프록시를 사용하여 Datadog로 요청 전송 시 SSL 오류를 삭제합니다.
--dnsUseHost
Type: Boolean
Default: true
로컬 호스트 DNS 설정(예: etc/resolv.conf 파일의 설정)을 먼저 적용한 이후 dnsServer 파라미터에 지정된 DNS 서버를 사용합니다.
--dnsServer
Type: Array of Strings
Default: ["8.8.8.8","1.1.1.1"]
지정된 순서로 사용할 DNS 서버 IP(예: --dnsServer="8.8.4.4" --dnsServer="8.8.8.8").
--variableOverride
Type: String
비공개 위치에서 실행되는 테스트에 사용되는 변수를 덮어씁니다. 형식: VARIABLE=value. 해당 방법으로 가져온 모든 변수는 난독화됩니다.
--environmentVariableOverride
Type: String
프라이빗 위치에서 실행되는 테스트에 사용하는 변수를 환경 변수로 덮어씁니다. 컨테이너화된 환경에서 환경 변수를 불러와야 합니다. 예를 들어 도커(Docker) 를 사용하면 docker run --env VARIABLE gcr.io/datadoghq/synthetics-private-location-worker --environmentVariableOverride VARIABLE입니다. 본 방법으로 가져온 모든 변수는 난독화됩니다.
--retryAPIErrors
Type: Boolean
Default: false
API 테스트 오류를 재시도
--allowedIPRanges
Type: Array of Strings
Default: none
--enableDefaultBlockedIpRanges or blockedIPRanges (for example, "allowedIPRanges.4": "10.0.0.0/8"). Note: allowedIPRanges has precedence over blockedIPRanges를 통해서 차단된 IP 범위 중 특정 IP 및/또는 CIDR에 접근 권한을 부여합니다.
--blockedIPRanges
Type: Array of Strings
Default: none
--enableDefaultBlockedIpRanges parameter to true (for example, --blockedIPRanges.4="127.0.0.0/8" --blockedIPRanges.6="::1/128".) 설정 시 차단된 IP 범위에서 추가로 특정 IP 및/또는 CIDR에 대한 접근을 차단하거나 차단하지 않습니다.
--enableDefaultBlockedIpRanges
Type: Boolean
Default: false
--allowedIPRanges 파라미터로 명시적으로 설정된 경우를 제외하고, 점유한 IP 범위(IANA IPv4IPv6 특수 목적 어드레스 레지스트리)를 사용하는 엔드포인트에서 사용자가 신서틱(Synthetic) 테스트를 생성하지 못하게 합니다.
--allowedDomainNames
Type: Array
Default: none
테스트 중인 도메인 이름에 대한 접근 권한을 부여합니다. blockedDomainNames보다 우선합니다. 예: --allowedDomainNames="*.example.com".
--blockedDomainNames
Type: Array
Default: none
테스트 중인 도메인 이름에 대한 액세스를 거부합니다. 예: --blockedDomainNames="example.org" --blockedDomainNames="*.com".
--enableIPv6
Type: Boolean
Default: false
IPv6를 사용하여 테스트를 수행합니다. 알림: 도커 IPv6는 Linux 호스트에서만 지원됩니다.
--version
Type: Boolean
Default: none
작업자 버전 넘버를 표시합니다.
--logFormat
Type: String
Default: pretty
"compact", "pretty", "pretty-compact", "json" 간의 로그 형식 출력값입니다. 로그 형식을 json로 지정하면 Datadog이 로그 수집 시 해당 로그가 자동 파싱됩니다.
--verbosity
Type: Number
Default: 3
1 (오류만 해당)부터 4 (디버그 로그 이상)까지의 상세도 수준입니다. 명령줄에서 상세도 수준은 -v, -vv, -vvv, and -vvvv 인수를 사용하여 설정합니다.

상세도 수준CLI 인수JSON 설정 옵션
DEBUG-vvvv"verbosity": 4
INFO (default)-vvv"verbosity": 3
WARNING-vv"verbosity": 2
ERROR-v"verbosity": 1
--help
Type: Boolean
Default: none
도움 명령어의 출력값을 표시합니다.

환경 변수

명령 옵션은 DATADOG_API_KEY="...", DATADOG_WORKER_CONCURRENCY="15", DATADOG_TESTS_DNS_USE_HOST="true"와 같은 환경 변수를 사용하여 설정할 수도 있습니다. 여러 인수를 허용하는 옵션의 경우 JSON 문자열 배열(DATADOG_TESTS_DNS_SERVER='["8.8.8.8", "1.1.1.1"]')을 사용합니다.

지원하는 환경 변수:

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

참고 자료