mcpField
D
dd-apm

dd-apm

github.com/datadog-labsクラウド・DevOps1802.0k 回インストール6 日前に更新
リポジトリ

dd-apm について

dd-apmは、PupコマンドラインでDatadog APMを扱うスキルです。トレースやサービス分析に加え、Kubernetes・Linuxの計装、サービス名の再マッピング、Data Streams Monitoringの手順へ案内します。

主な機能

  1. 01APM依頼を専用サブスキルへ振り分け
  2. 02サービス一覧とサービスマップの確認
  3. 03トレース検索とメトリクス確認
  4. 04サービス再マッピングとDSM設定の案内

活用シーン

  1. 01遅延または失敗したサービスのトレース調査
  2. 02サービス依存関係とリクエスト指標の確認
  3. 03KubernetesまたはLinuxでのAPM計装
  4. 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、または EC2linux-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 を参照してください。

コマンド実行順序(トークン効率重視)

対象を絞ったコマンドでは、次の順序で実行してください。

  1. まずコンテキストを確認します(以前の出力、会話、保存済みの値)。
  2. 必要な値が不足している場合は、最初に調査コマンドを実行します。
  3. それでも曖昧な場合は、ユーザーに確認を求めます。
  4. その後、対象のコマンドを実行します。
  5. 失敗する可能性が高い、推測に基づくコマンドは避けてください。

クイックスタート

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 をタグに含めないでください

参考資料/ドキュメント

コメント