概要

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
種類: 文字列
デフォルト: datadoghq.com
プライベートロケーションがテストコンフィギュレーションをプルし、テスト結果をプッシュする Datadog サイト。site です。

DNS コンフィギュレーション

以下のパラメーターは API テストで DNS 解決をカスタマイズするために使用されます。

dnsUseHost
種類: ブール値
デフォルト: true
最初にホストのローカル DNS コンフィギュレーション (たとえば、etc/resolv.conf ファイルのコンフィギュレーション) を使用し、次に dnsServer パラメーターで指定した DNS サーバーを使用します。
dnsServer
種類: 文字列の配列
デフォルト: ["8.8.8.8","1.1.1.1"]
指定した順序で使用する DNS サーバーの IP (例: --dnsServer="8.8.4.4" --dnsServer="8.8.8.8")。

ブラウザテストの場合、DNS 解決はブラウザにより直接行われ、ホストから DNS サーバーが読み込まれます。また、コンテナレベルでこの構成を行うこともできます (例: Docker--dns フラグ、または KubernetesdnsConfig.nameservers を使用する) 。

プロキシ構成

次のパラメーターを使って、Datadog への接続に使用するプロキシを設定できます:

proxyDatadog
種類: 文字列
デフォルト: none
Datadog にリクエストを送信するためにプライベートロケーションで使用されるプロキシ URL (例: --proxyDatadog=http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>)。
proxyIgnoreSSLErrors
種類: ブール値
デフォルト: false
プライベートロケーションがプロキシを使用して Datadog にリクエストを送信している場合は、SSL エラーを破棄します。
proxyEnableConnectTunnel
タイプ: Boolean
デフォルト: none
HTTP プロキシ向けに HTTP CONNECT トンネリングを有効にします。このオプションを設定しない場合、HTTP CONNECT トンネリングは HTTPS プロキシでのみ使用されます。

: Squid のような HTTP フォワード プロキシでは、プライベート ロケーションと Datadog の間で初期 TCP 接続を確立するために HTTP CONNECT リクエストが必要になることがあります。そのため、proxyEnableConnectTunnel パラメーターを true に設定してください。ただし、HTTP CONNECT リクエストを Datadog に中継する HAProxy のようなリバース プロキシでは、このオプションを有効にすると動作しない場合があります。

注: proxy パラメーターは非推奨であるため、proxyDatadog に置き換える必要があります。

次のパラメーターを使って、Synthetic Monitoring テストで使用するデフォルトのプロキシを設定できます:

proxyTestRequests
タイプ: String
デフォルト: none
プライベート ロケーションがエンドポイントにテスト リクエストを送信する際に使用するプロキシ URL です。HTTP(S), SOCKS, および PAC ファイルに対応しており、次の構文を使用します: pac+http://..., pac+https://..., pac+file://..., pac+data:...
proxyTestRequestsBypassList
タイプ: Array of Strings
デフォルト: none
proxyTestRequests で定義したプロキシを使用しないホストの一覧です。例: --proxyTestRequestsBypassList="example.org" --proxyTestRequestsBypassList="*.com"

高度なコンフィギュレーション

concurrency
種類: 数字
デフォルト: 10
並列で実行されるテストの最大数。
maxNumberMessagesToFetch
タイプ: 数字
デフォルト: 10
Datadog から取得されるテストの最大数。
maxAPIDownloadBodySize
タイプ: Number
デフォルト: 52428800
ダウンロード時の HTTP ボディの最大サイズ (バイト) です。デフォルトは 50 MB (50 * 1024 * 1024) です。
maxAPIBodySizeIfProcessed
タイプ: Number
デフォルト: 5242880
アサーションで扱う HTTP ボディの最大サイズ (バイト) です。デフォルトは 5 MB (5 * 1024 * 1024) です。
apiRequestMaxTimeout
タイプ: Number
デフォルト: 60000
API テストの実行時間の上限 (ミリ秒) です。デフォルトは 1 分 (60 * 1000) です。

: プライベートロケーションのコンテナは、コンテナ内に保存せずに stdoutstderr へ出力します。

すべてのコンフィギュレーションオプション

--accessKey
タイプ: 文字列
デフォルト: none
Datadog API 認証用のアクセスキー。
--secretAccessKey
タイプ: String
デフォルト: none
Datadog API 認証に使用するシークレット アクセス キーです。
--datadogApiKey
タイプ: String
デフォルト: none
ブラウザ テストのアーティファクト (スクリーンショットなど) を送信するための Datadog API キーです。
--privateKey
タイプ: Array
デフォルト: none
テスト設定の復号に使用する秘密鍵です。
--publicKey
タイプ: 配列
デフォルト: none
Datadog がテスト結果の暗号化に使用する公開キー。--publicKey.pem で構成されます。
--site
タイプ: 文字列
デフォルト: datadoghq.com
プライベートロケーションがテスト構成をプルし、テスト結果をプッシュする Datadog サイト。あなたのサイトは です。
--concurrency
タイプ: 数字
デフォルト: 10
並列で実行されるテストの最大数。
--maxNumberMessagesToFetch
タイプ: 数字
デフォルト: 10
Datadog からフェッチされるテストの最大数。
--proxyDatadog
タイプ: 文字列
デフォルト: none
プライベートロケーションが Datadog にリクエストを送信するために使用するプロキシ URL (例: --proxyDatadog=http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT>)。
--dumpConfig
タイプ: ブール値
デフォルト: none
シークレットなしでワーカーの構成パラメーターを表示します。
--enableStatusProbes
タイプ: ブール値
プライベートロケーションプローブの readiness と liveness を有効にします。これは 2 つのエンドポイント、http://127.0.0.1:8080/livenesshttp://127.0.0.1:8080/readiness を有効にします。
--statusProbesPort
タイプ: 数字
デフォルト: 8080
プライベートロケーションのステータスプローブのポートをオーバーライドします。
--config
タイプ: String
デフォルト: /etc/datadog/synthetics-check-runner.json
Windows: C:\ProgramData\Datadog-Synthetics\worker-config.json
JSON 構成ファイルへのパスです。
--proxyTestRequests
: 文字列
デフォルト: none
エンドポイントにテストリクエストを送信するためにプライベートロケーションで使用されるプロキシ URL。PAC ファイルは pac+https://... または pac+http://... の構文でサポートされています。
proxyTestRequestsBypassList
タイプ: Array of Strings
デフォルト: none
proxyTestRequests で定義したプロキシを使用しないホストの一覧です。例: --proxyTestRequestsBypassList="example.org" --proxyTestRequestsBypassList="*.com"
--proxyIgnoreSSLErrors
タイプ: ブール値
デフォルト: false
プライベートロケーションが Datadog へのリクエスト送信にプロキシを使用している場合、SSL エラーを破棄します。
--dnsUseHost
タイプ: ブール値
デフォルト: true
最初にホストのローカル DNS の構成 (例えば、etc/resolv.conf ファイルの構成) を使用し、次に dnsServer パラメーターで指定された DNS サーバーを使用します。
--dnsServer
タイプ: 文字列の配列
デフォルト: ["8.8.8.8","1.1.1.1"]
指定された順序で使用する DNS サーバー IP (例: --dnsServer="8.8.4.4" --dnsServer="8.8.8.8")。
--variableOverride
タイプ: 文字列
プライベートロケーションで実行するテストで使用する変数をオーバーライドします。フォーマットは VARIABLE=value です。 この方法でインポートされた変数はすべて難読化されます。
--environmentVariableOverride
タイプ: String
プライベート ロケーションで実行するテストで使用される変数を、環境変数で上書きします。この機能を使うには、コンテナ化された環境に環境変数を取り込んでおく必要があります。 たとえば Docker では、docker run --env VARIABLE gcr.io/datadoghq/synthetics-private-location-worker --environmentVariableOverride VARIABLE のように実行します。 この方法で取り込んだ変数はすべて難読化されます。
--retryAPIErrors
タイプ: Boolean
デフォルト: false
API テストで発生したエラーをすべて再試行します。
--allowedIPRanges
タイプ: 文字列の配列
デフォルト: none
--enableDefaultBlockedIpRanges または blockedIPRanges によってブロックされた IP 範囲のうち、特定の IP および/または CIDR へのアクセスを許可します (例えば、"allowedIPRanges.4": "10.0.0.0/8")。注: allowedIPRangesblockedIPRanges よりも優先されます。
--blockedIPRanges
タイプ: 文字列の配列
デフォルト: none
--enableDefaultBlockedIpRanges パラメーターを true に設定したときにブロックされる IP 範囲に加えて (または加えずに)、特定の IP および/または CIDR へのアクセスをブロックします (例: --blockedIPRanges.4="127.0.0.0/8" --blockedIPRanges.6="::1/128")。
--enableDefaultBlockedIpRanges
: ブール値
デフォルト: false
--allowedIPRanges パラメーターで明示的に設定されたものを除いて、予約された IP 範囲 (IANA IPv4 および IPv6 Special-Purpose Address Registry) を使用しているエンドポイントでユーザーが Synthetic テストを作成できないようにします。
--allowedDomainNames
タイプ: 配列
デフォルト: none
テスト中のドメイン名へのアクセスを許可します。–blockedDomainNames よりも優先されます。例: --allowedDomainNames="*.example.com"
--blockedDomainNames
タイプ: 配列
デフォルト: none
テスト中のドメイン名へのアクセスを拒否します。例: --blockedDomainNames="example.org" --blockedDomainNames="*.com"
--enableIPv6
タイプ: ブール値
デフォルト: false
IPv6 を使用してテストを実施します。: Docker の IPv6 は Linux ホストでのみサポートされています。
--version
タイプ: ブール値
デフォルト: none
ワーカーのバージョン番号を表示します。
--logFormat
タイプ: 文字列
デフォルト: pretty
ログ出力を "compact""pretty""pretty-compact""json" からフォーマットします。ログのフォーマットを json に設定することで、Datadog がログを収集する際に、これらのログが自動的にパースされるようにできます。
--verbosity
タイプ: Number
デフォルト: 3
詳細度レベルは 1 (エラーのみ) から 4 (デバッグ ログ以上) までです。コマンド ラインから詳細度を設定するには、-v, -vv, -vvv, -vvvv の各引数を使用します。

詳細度レベルCLI 引数JSON 設定オプション
DEBUG-vvvv"verbosity": 4
INFO (デフォルト)-vvv"verbosity": 3
WARNING-vv"verbosity": 2
ERROR-v"verbosity": 1
--help
タイプ: ブール値
デフォルト: none
help コマンドの出力を表示します。

環境変数

コマンド オプションは、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

参考資料