Datadog

Datadog APM 入門:アカウント作成・APIキー取得とエージェント設定ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

1. Datadog アカウント作成と API キー取得手順

Datadog の APM を利用する第一歩は、サービスに紐付く API キー を取得することです。このキーはエージェントや CI/CD パイプラインから Datadog へデータを送信するときに必須となります。

1‑1. アカウント登録の流れ

  1. 公式サイトへアクセス
    https://www.datadoghq.com/ のトップページで「Start free trial」をクリックします。
  2. メールアドレス・パスワードを入力
    会社名や利用目的は任意ですが、後続の設定画面で自動補完が有効になるため正確に入力しておくと便利です。
  3. メール認証
    受信した認証リンクを開き、アカウントを有効化します。

1‑2. API キーの確認方法

  1. ログイン後、左サイドメニューから Organization Settings → API Keys を選択。
  2. 「Create API key」ボタンを押し、キー名(例:apm-tracing-key)を入力して作成。
  3. 生成された文字列を コピー し、安全な場所に保存します。エージェント設定や CI/CD パイプラインで必ず使用してください。

重要:API キーは機密情報です。Git リポジトリや公開ディレクトリに絶対に置かないよう、シークレット管理ツール(例:AWS Secrets Manager、HashiCorp Vault)を併用しましょう。


2. Datadog Agent のインストール(Linux・Docker・Kubernetes)

APM データは Datadog Agent が受信し、Datadog に転送します。ここでは主要なデプロイ方法をそれぞれ解説します。

2‑1. Linux (apt / yum) でのインストール

Linux 系 OS(Ubuntu/Debian, RHEL/CentOS 等)向けの公式インストールスクリプトは、Datadog の GitHub リポジトリに常に最新バージョンが置かれています。以下のコマンドは 2024 年時点で推奨されている URL を使用しています。

  • ポイントDD_AGENT_MAJOR_VERSION=7 を明示することで、v7 系エージェントがインストールされます。
  • 確認方法systemctl status datadog-agent で「active (running)」となっていれば正常に起動しています。

2‑2. Docker コンテナでエージェントを起動

コンテナ環境では公式イメージ datadog/agent:7 を使うのが最もシンプルです。以下は最低構成の例です。

  • -p 8126:8126 はホスト側からエージェントのトレース受信ポートを公開します。
  • 環境変数は docker run -e、あるいは Docker Compose の environment: に記載してください。

2‑3. Kubernetes への Helm Chart デプロイ

Kubernetes クラスタでは公式 Helm chart が推奨されます。Chart は常に最新版が https://helm.datadoghq.com に公開されています。

values.yaml の抜粋

  • DaemonSet パターンと Sidecar パターンのどちらでも利用可能です。大規模クラスターでは DaemonSet が管理負荷を低減します。

3. APM 有効化と必須環境変数の設定

エージェントだけでなく、アプリケーション側にもいくつかの環境変数が必要です。ここでは代表的な変数と正しい書式・範囲をまとめます。

3‑1. APM を有効にする基本フラグ

環境変数 必須/任意 説明
DD_APM_ENABLED 必須 "true" に設定するとエージェントがポート 8126 でトレースを受信します。

注意DD_APM_ENABLED は大文字・全て英数字で記述し、値は文字列 "true"(または true)です。

3‑2. サービス情報系変数

環境変数 説明 設定例
DD_SERVICE アプリケーションのサービス名(必須) my-web-app
DD_ENV デプロイ環境(prod, staging, dev 等) production
DD_VERSION バージョンタグ(Git SHA、リリース番号等) v1.2.3

3‑3. トレースサンプリング率

公式ドキュメントで定義されている変数は DD_TRACE_SAMPLE_RATE です。0〜1 の小数で指定し、デフォルトは 1.0(全トレース)となります。

環境変数 有効範囲 設定例
DD_TRACE_SAMPLE_RATE 0.0〜1.0 の実数 0.5 (50% サンプリング)

障害例と対処法

  • 誤った変数名DD_APM_SAMPLE_RATE=2 と設定するとエージェントは無視し、トレースが送信されません。
  • 修正DD_TRACE_SAMPLE_RATE=0.5 のように小数で再設定し、Agent 再起動またはコンテナ再デプロイを行います。

3‑4. .env ファイル例

Dockerfile での継承は次のように記述します。


4. 言語別トレースライブラリ導入手順

以下は主要言語(Java、Python、Node.js)における最小構成のインストール・設定例です。全て公式ドキュメント(https://docs.datadoghq.com/ja/tracing/)に準拠しています。

4‑1. Java (-javaagent)

Java アプリは起動オプションに Datadog Java Agent を追加するだけで自動インスツルメントが有効になります。

  • -Ddd.* 系プロパティは環境変数と同等に扱われます。
  • 必要に応じて DD_TRACE_SAMPLE_RATE も JVM オプションで上書き可能です。

4‑2. Python (ddtrace)

Python 用 SDK は pip でインストールし、ラッパーコマンド ddtrace-run を使うだけでトレースが開始します。

  • Flask や Django は自動的にインスツルメントされます。
  • DD_TRACE_ENABLED が省略された場合はデフォルトで有効です。

4‑3. Node.js (dd-trace)

Node.js 用 SDK はコード内で一度だけ初期化すれば、HTTP リクエストや主要な DB クライアントを自動計測します。

  • DD_TRACE_SAMPLE_RATE を環境変数で設定すれば、コード変更なしでサンプリング率を調整できます。

5. Docker / Kubernetes 環境向けベストプラクティスとエージェントサイドカー

コンテナ化されたサービスでは 通信経路の可視化設定の一元管理 が鍵になります。以下に実務で推奨されるパターンをまとめました。

5‑1. Docker デプロイ時の変数継承とポート設計

Docker Compose の例です。アプリコンテナはエージェントコンテナと同一ネットワークに配置し、DD_AGENT_HOST でエージェントのホスト名を指します。

  • ベストプラクティス:ポート 8126 の外部公開は最低限に抑え、内部ネットワークだけで通信させることでセキュリティリスクを低減します。

5‑2. Kubernetes における Sidecar と DaemonSet の選択基準

パターン 特徴 推奨シーン
Sidecar 各 Pod にエージェントコンテナを同梱。Pod 単位で設定可能。 マルチテナントクラスター、Pod ごとに異なる API キーが必要な場合
DaemonSet ノード単位でエージェントをデプロイ。一括管理が容易。 大規模クラスタ、リソース共有が前提の場合

Sidecar 設定例(アノテーション利用)

DaemonSet 設定例(Helm values)

  • ポイント:Kubernetes の自動インスツルメントは ad.datadoghq.com/* アノテーションでサービス名や環境を付与でき、コード修正なしでトレースが取得できます。

6. トレース確認方法とよくある障害・対処法

設定完了後は Datadog UI で実際にトレースが届いているか検証します。ここでは確認手順と代表的な障害シナリオをまとめました。

6‑1. Datadog UI での APM ダッシュボード確認手順

  1. 左サイドメニュー → APM → Services を開く。
  2. 作成した DD_SERVICE が一覧に表示されていることを確認する。
  3. 該当サービス名をクリックし、Traces タブで最近のトレースが可視化できれば成功です。

エージェント状態の確認:トレースが見えない場合は Infrastructure → Agent へ移動し、対象ノードの「APM」ステータスが OK かどうかをチェックします。以前記載されていた「APM > Infrastructure > Agent Checks」は UI の変更に伴い正しくありません。

6‑2. 典型的な障害と対処法

障害例 主な原因 修正手順
8126 ポートが閉塞 エージェント未起動、もしくはファイアウォール/NetworkPolicy が遮断 systemctl status datadog-agent でエージェント状態確認。K8s の場合は NetworkPolicy に port: 8126 を許可
サンプリング率設定ミス (DD_APM_SAMPLE_RATE=2) 変数名が誤り、かつ範囲外の数値を指定 正しい変数 DD_TRACE_SAMPLE_RATE=0.5(0〜1)に修正し、エージェント/コンテナ再起動
環境変数の大小文字不一致 (dd_service vs DD_SERVICE) Datadog は大文字のみ認識 .env, Dockerfile, Helm values すべてで大文字統一。
エージェントが旧バージョン (v6) v7 未満では APM が無効化 apt-get install datadog-agent=7.*、または公式インストールスクリプトを再実行して v7 へアップグレード
API キーが間違っている シークレット管理ミスや変数展開エラー 正しいキーを DD_API_KEY に設定し、環境変数の参照方法(${DD_API_KEY} vs $DD_API_KEY)を確認

6‑3. 障害発生時のトラブルシューティング手順

  1. エージェントログ確認
    bash
    journalctl -u datadog-agent -f | grep -i apm
  2. ネットワーク疎通テスト(Docker/K8s)
    bash
    curl -v http://localhost:8126/status # 正常なら {"status":"ok"}
  3. 環境変数一覧の再確認
    bash
    env | grep DD_
  4. Datadog UI の「Agent Checks」タブでエラーメッセージを取得(最新 UI は Infrastructure → Agent)。

まとめ

  • アカウント作成 → API キー取得 → エージェント導入 が APM 設定の基本フローです。
  • 環境変数はすべて大文字で統一し、DD_TRACE_SAMPLE_RATE(0〜1)を正しく設定してください。
  • Linux・Docker・Kubernetes それぞれに最適なインストール手順とベストプラクティスがあります。特に Kubernetes では Sidecar と DaemonSet の選択が運用コストに直結します。
  • トレースの可視化は APM → Services で確認し、エージェント状態は Infrastructure → Agent でチェックしてください。
  • 障害が起きたらログ・ポート・環境変数を順に検証すれば多くの場合即座に解決できます。

このガイドに沿って設定すれば、Datadog APM の導入・運用がスムーズに進むはずです。質問や独自の構成要件がある場合は公式ドキュメント(https://docs.datadoghq.com/ja/tracing/)を随時参照してください。

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Datadog