dd-apm について
dd-apmは、PupコマンドラインでDatadog APMを扱うスキルです。トレースやサービス分析に加え、Kubernetes・Linuxの計装、サービス名の再マッピング、Data Streams Monitoringの手順へ案内します。
主な機能
- 01APM依頼を専用サブスキルへ振り分け
- 02サービス一覧とサービスマップの確認
- 03トレース検索とメトリクス確認
- 04サービス再マッピングとDSM設定の案内
活用シーン
- 01遅延または失敗したサービスのトレース調査
- 02サービス依存関係とリクエスト指標の確認
- 03KubernetesまたはLinuxでのAPM計装
- 04サービス名の再マッピングやキューフロー監視の有効化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ datadog-labs/ agent-skills --skill dd-apmインストール後、Claude Code で/dd-apmを入力して読み込まれたか確認します。
詳細
Datadog APM
分散トレーシング、サービスマップ、パフォーマンス分析。
ルーティング — まずお読みください
ユーザーのリクエストを、以下の項目に照らし合わせてください。各項目は同じ形式です。トリガー → 読み込むサブスキル → 避けるべきアンチパターン。リクエストが複数の項目に当てはまりそうな場合は、「重複時の判別」を参照してください。どれにも当てはまらない場合は、最後の「いずれにも該当しない場合」を参照してください。
Kubernetes APM のインストール/計装/オンボーディング — ユーザーが Kubernetes、K8s、EKS、GKE、AKS、kind、minikube、K3s、helm、DatadogAgent CR、kubectl、クラスター上の SSI、Pod インジェクション、または init コンテナに言及した場合がトリガーです。
今すぐ .claude/skills/dd-apm/k8s-ssi/agent-install/SKILL.md を読み、続けて .claude/skills/dd-apm/k8s-ssi/enable-ssi/SKILL.md、.claude/skills/dd-apm/k8s-ssi/verify-ssi/SKILL.md を読んでください。記憶に頼って進めないでください。
一見うまくいくように見えても、実際には何も起きないよくある誤った方法:
helm install datadog datadog/datadog— 標準のチャートは DatadogAgent CR を介した SSI をサポートしていません。- アプリに
ddtraceのインポートやddtrace-runを追加する — SSI はコードを一切変更せずに自動計装します。admission.datadoghq.com/enabledアノテーション — これはアドミッションコントローラーの設定インジェクションであり、SSI の init コンテナインジェクションではありません。
Linux APM のインストール/計装/オンボーディング — ユーザーが単一ホスト、VM、EC2 インスタンス、ベアメタル、RHEL/Ubuntu/Debian、systemd、またはオーケストレーターを使わない構成に言及した場合がトリガーです。
今すぐ .claude/skills/dd-apm/linux-ssi/agent-install/SKILL.md を読み、続けて .claude/skills/dd-apm/linux-ssi/enable-ssi/SKILL.md、.claude/skills/dd-apm/linux-ssi/verify-ssi/SKILL.md を読んでください。記憶に頼って進めないでください。
プレーンな
apt-get install datadog-agent(または yum 相当)でエージェントをインストールし、SSI も有効になると想定しないでください。 ホストの自動計装には、サブスキルで手順を説明している SSI フラグ付きのインストールスクリプトが必要です。
サービス名の変更/サービスのリマッピング — ユーザーがサービス名の変更、複数のサービス名の統合、サフィックスやプレフィックスの削除、または推測されたサービス名の整理に言及した場合がトリガーです。
今すぐ .claude/skills/dd-apm/service-remapping/SKILL.md を読んでください。記憶に頼って進めないでください。
Datadog でサービス名を変更するために、
tags.datadoghq.com/serviceラベルやDD_SERVICE環境変数を変更しないでください。 その方法ではロールアウトが必要で、新しいデータにしか適用されません。サービスのリマッピングルールを使えば、デプロイを変更せずに取り込み時点で名前を書き換えられます。
Data Streams Monitoring(DSM)/キューとパイプラインのモニタリング:ユーザーがデータストリーム、DSM、コンシューマーまたはキューの遅延、パイプラインのレイテンシ、キューをまたいだエンドツーエンドのレイテンシ、またはサービス間の Kafka/RabbitMQ/SQS/SNS/Kinesis/Pub/Sub フローのモニタリングに言及した場合がトリガーです。
今すぐ .claude/skills/dd-apm/enable-dsm/SKILL.md を読んでください。記憶に頼って進めないでください。
別の DSM エージェント、パッケージ、ライブラリをインストールしないでください。 DSM は APM がすでにインジェクションした Datadog SDK で動作し、サービスごとに 1 つの設定で有効化されます。また、APM Pro および Enterprise に含まれ、基本の APM 料金とは別に課金されることを事前にユーザーへ伝えずに、有効化しないでください。
重複時の判別
リクエストが上記の複数の項目に該当する可能性がある場合は、次の判定基準を使用してください。
| 手がかり | 振り分け先 |
|---|---|
| クラスターオーケストレーター(EKS/GKE/AKS/kind/K3s/minikube)が言及されている場合。「ノードが1つだけ」でも同様です | k8s-ssi |
| オーケストレーターを使用しない単一のホスト、VM、または EC2 | linux-ssi |
| 「1つにまとめるべき複数のサービス」 | service-remapping — 重複が実際にインストルメント化されたサービスなのか、推定されたエンティティ(DB、キュー、外部 API)なのかに基づいて、サブスキルがルールの種類を選択します |
| 「サービスが間違った名前で表示される」 | まずデプロイ時の DD_SERVICE を確認してください。正しく設定されていても名前が間違っている場合は → service-remapping。 |
| 「Kafka を監視したい」/「キューを監視したい」 | ブローカー/クラスターの健全性(Kafka Console、Agent チェック:https://docs.datadoghq.com/data_streams/kafka/setup/)を指しているのか、サービス間のメッセージフロー(enable-dsm)を指しているのか、確認してください |
| 「APM のボリューム/コスト/ノイズを減らしたい」 | まだ該当するサブスキルはありません。コマンドを提案する前に、サンプリング(取り込みトレース数の削減)と保持フィルター(インデックス化データの削減)のどちらを指しているのか、確認してください。 |
上記に該当しない場合
リクエストが上記の項目に該当しない場合は、以下のトレース検索、サービス分析、メトリクスの内容を読み進めてください。それでも該当しない場合は、ユーザーに確認を求めてください — ワークフローを作り出してはいけません。
要件
Datadog Labs Pup をインストールしてください。未インストールの場合は、Setup Pup を参照してください。
コマンド実行順序(トークン効率重視)
対象を絞ったコマンドでは、次の順序で実行してください。
- まずコンテキストを確認します(以前の出力、会話、保存済みの値)。
- 必要な値が不足している場合は、最初に調査コマンドを実行します。
- それでも曖昧な場合は、ユーザーに確認を求めます。
- その後、対象のコマンドを実行します。
- 失敗する可能性が高い、推測に基づくコマンドは避けてください。
クイックスタート
pup auth login
# Confirm env tag with the user first (do not assume production/prod/prd).
pup apm services list --env <env> --from 1h --to now
pup traces search --query "service:api-gateway" --from 1h
サービス
サービスの一覧表示
pup apm services list --env <env> --from 1h --to now
pup apm services stats --env <env> --from 1h --to now
サービスの統計情報
pup apm services stats --env <env> --from 1h --to now
サービスマップ
# View dependencies
pup apm flow-map --query "service:api-gateway&from=$(($(date +%s)-3600))000&to=$(date +%s)000" --env <env> --limit 10
トレース
トレースの検索
# By service
pup traces search --query "service:api-gateway" --from 1h
# Errors only
pup traces search --query "service:api-gateway status:error" --from 1h
# Slow traces (>1s)
pup traces search --query "service:api-gateway @duration:>1000ms" --from 1h
# With specific tag
pup traces search --query "service:api-gateway @http.url:/api/users" --from 1h
トレースの詳細
# No direct get command for a single trace ID.
# Use traces search with a narrow query and time window.
pup traces search --query "trace_id:<trace_id>" --from 1h
主要なメトリクス
| メトリクス | 測定対象 |
|---|---|
trace.http.request.hits | リクエスト数 |
trace.http.request.duration | レイテンシー |
trace.http.request.errors | エラー数 |
trace.http.request.apdex | ユーザー満足度 |
サービスレベル目標
APM を SLO にリンクします。
pup slos create --file slo.json
よく使うクエリ
| 目的 | クエリ |
|---|---|
| 最も遅いエンドポイント | avg:trace.http.request.duration{*} by {resource_name} |
| エラー率 | sum:trace.http.request.errors{*} / sum:trace.http.request.hits{*} |
| スループット | sum:trace.http.request.hits{*}.as_rate() |
トラブルシューティング
| 問題 | 対処方法 |
|---|---|
| トレースがない | ddtrace がインストールされていること、DD_TRACE_ENABLED=true であることを確認します |
| サービスが見つからない | DD_SERVICE 環境変数を確認します |
| トレースがリンクされない | トレースヘッダーが伝播していることを確認します |
| カーディナリティが高い | user_id/request_id をタグに含めないでください |