- はじめに
- エージェント
- インテグレーション
- Watchdog
- イベント
- ダッシュボード
- モバイルアプリケーション
- インフラストラクチャー
- サーバーレス
- メトリクス
- ノートブック
- アラート設定
- APM & Continuous Profiler
- CI Visibility
- RUM & セッションリプレイ
- データベース モニタリング
- ログ管理
- セキュリティプラットフォーム
- Synthetic モニタリング
- ネットワークモニタリング
- 開発者
- API
- アカウントの管理
- データセキュリティ
- ヘルプ
テスト結果を Datadog に報告するには、Datadog Agent が必要です。
CI 環境で Agent をセットアップする方法は 2 つあります。
オンプレミスの CI プロバイダー上でテストを実行している場合は、Agent のインストール手順に従って各ワーカーノードに Datadog Agent をインストールします。
CI プロバイダーがコンテナベースのエグゼキューターを使用している場合は、ビルド内の localhost
が Datadog Agent が実行されている基底のワーカーノードではなく、コンテナ自体を参照するため、すべてのビルド (デフォルトは localhost
) の DD_AGENT_HOST
環境変数をビルドコンテナ内からアクセス可能なエンドポイントに設定します。
Kubernetes エグゼキューターを使用している場合、Datadog は Admission Controller を使用することをお勧めします。これにより、ビルドポッドの DD_AGENT_HOST
環境変数が自動的に設定されてローカルの Datadog Agent と通信します。
基底のワーカーノードにアクセスできない SaaS CI プロバイダーを使用している場合は、コンテナ内の Datadog Agent をビルドサービスとして実行します。このメソッドは、各ワーカーノードへの Datadog Agent のインストールというオプションがない場合に、コンテナベースのエグゼキューターを使用するオンプレミス CI プロバイダーでも使用できます。
単純な結果フォワーダーとして機能するコンテナとして Datadog Agent を実行するには、Docker イメージ gcr.io/datadoghq/agent:latest
と次の環境変数を使用します。
DD_API_KEY
(必須)DD_INSIDE_CI
(必須)false
true
DD_HOSTNAME
(必須)none
さらに、選択したサイトを使用するように Datadog サイトを構成します ():
DD_SITE
(必須)datadoghq.com
次のセクションでは、Agent を実行し、テスト情報を報告するよう構成するために必要となる CI プロバイダー固有の手順をご説明します。
Azure Pipelines で Datadog Agent を実行するには、resources
セクションで新しいコンテナを定義し、それを service
コンテナとして宣言しているジョブと関連付けます:
azure-pipeline.yml
variables:
ddApiKey: $(DD_API_KEY)
resources:
containers:
- container: dd_agent
image: gcr.io/datadoghq/agent:latest
ports:
- 8126:8126
env:
DD_API_KEY: $(ddApiKey)
DD_INSIDE_CI: "true"
DD_HOSTNAME: "none"
jobs:
- job: test
services:
dd_agent: dd_agent
steps:
- script: make test
azure-pipeline.yml
variables:
ddApiKey: $(DD_API_KEY)
resources:
containers:
- container: dd_agent
image: gcr.io/datadoghq/agent:latest
ports:
- 8126:8126
env:
DD_API_KEY: $(ddApiKey)
DD_INSIDE_CI: "true"
DD_HOSTNAME: "none"
DD_SITE: "datadoghq.eu"
jobs:
- job: test
services:
dd_agent: dd_agent
steps:
- script: make test
Datadog API キーを、キー DD_API_KEY
と合わせてプロジェクト環境変数に追加します。
GitLab で Agent を実行するには、 services
下で Agent コンテナを定義します:
.gitlab-ci.yml
variables:
DD_API_KEY: $DD_API_KEY
DD_INSIDE_CI: "true"
DD_HOSTNAME: "none"
DD_AGENT_HOST: "datadog-agent"
test:
services:
- name: gcr.io/datadoghq/agent:latest
script:
- make test
.gitlab-ci.yml
variables:
DD_API_KEY: $DD_API_KEY
DD_INSIDE_CI: "true"
DD_HOSTNAME: "none"
DD_AGENT_HOST: "datadog-agent"
DD_SITE: "datadoghq.eu"
test:
services:
- name: gcr.io/datadoghq/agent:latest
script:
- make test
Datadog API キーを、キー DD_API_KEY
と合わせてプロジェクト環境変数に追加します。
GitHub Actions で Agent を実行するには、services
下で Agent コンテナを定義します:
jobs:
test:
services:
datadog-agent:
image: gcr.io/datadoghq/agent:latest
ports:
- 8126:8126
env:
DD_API_KEY: ${{ secrets.DD_API_KEY }}
DD_INSIDE_CI: "true"
DD_HOSTNAME: "none"
steps:
- run: make test
jobs:
test:
services:
datadog-agent:
image: gcr.io/datadoghq/agent:latest
ports:
- 8126:8126
env:
DD_API_KEY: ${{ secrets.DD_API_KEY }}
DD_INSIDE_CI: "true"
DD_HOSTNAME: "none"
DD_SITE: "datadoghq.eu"
steps:
- run: make test
Datadog API キーを、キー DD_API_KEY
と合わせてプロジェクト環境変数に追加します。
CircleCI で Agent を実行するには、テストを実行する前に datadog/agent CircleCI orb を使用して Agent コンテナを起動し、結果が Datadog に送信されたことを確認してから停止します。
例:
.circleci/config.yml
version: 2.1
orbs:
datadog-agent: datadog/agent@0
jobs:
test:
docker:
- image: circleci/<language>:<version_tag>
steps:
- checkout
- datadog-agent/setup
- run: make test
- datadog-agent/stop
workflows:
test:
jobs:
- test
.circleci/config.yml
version: 2.1
orbs:
datadog-agent: datadog/agent@0
jobs:
test:
docker:
- image: circleci/<language>:<version_tag>
environment:
DD_SITE: "datadoghq.eu"
steps:
- checkout
- datadog-agent/setup
- run: make test
- datadog-agent/stop
workflows:
test:
jobs:
- test
Datadog API キーを、キー DD_API_KEY
と合わせてプロジェクト環境変数に追加します。
お使いの CI プロバイダーの種類にかかわらず、Docker Compose を使用してテストを実行している場合、Datadog Agent はひとつのサービスとして実行されます:
docker-compose.yml
version: '3'
services:
datadog-agent:
image: "gcr.io/datadoghq/agent:latest"
environment:
- DD_API_KEY
- DD_INSIDE_CI=true
- DD_HOSTNAME=none
ports:
- 8126/tcp
tests:
build: .
environment:
- DD_AGENT_HOST=datadog-agent
docker-compose.yml
version: '3'
services:
datadog-agent:
image: "gcr.io/datadoghq/agent:latest"
environment:
- DD_API_KEY
- DD_INSIDE_CI=true
- DD_HOSTNAME=none
- DD_SITE=datadoghq.eu
ports:
- 8126/tcp
tests:
build: .
environment:
- DD_AGENT_HOST=datadog-agent
代わりに、Agent コンテナとテストコンテナ間で同じネットワークのネームスペースを共有します:
docker-compose.yml
version: '3'
services:
datadog-agent:
image: "gcr.io/datadoghq/agent:latest"
environment:
- DD_API_KEY
- DD_INSIDE_CI=true
- DD_HOSTNAME=none
tests:
build: .
network_mode: "service:datadog-agent"
docker-compose.yml
version: '3'
services:
datadog-agent:
image: "gcr.io/datadoghq/agent:latest"
environment:
- DD_API_KEY
- DD_INSIDE_CI=true
- DD_HOSTNAME=none
- DD_SITE=datadoghq.eu
tests:
build: .
network_mode: "service:datadog-agent"
この場合、DD_AGENT_HOST
は必要ありません。デフォルトで localhost
に設定されています。
その後、DD_API_KEY
環境変数に Datadog API キーを入力してテストを実行します。
DD_API_KEY=<YOUR_DD_API_KEY> docker-compose up \
--build --abort-on-container-exit \
tests
注: この場合、必要となるすべての CI プロバイダーの環境変数を追加する必要があります。こうすることで、コンテナテストで記載の通り、各テスト結果にビルド情報が追加されます。
お役に立つドキュメント、リンクや記事:
選択した Datadog サイト () は、現時点ではサポートされていません。