mcpField
D
datadog-logs

datadog-logs

github.com/composio-communityクラウド・DevOps17.1k455 回インストール14 週間前に更新
リポジトリ

datadog-logs について

datadog-logsは、Composio CLIからDatadogのログを検索するスキルです。エージェントによるエラーや遅延、デプロイの影響調査を支援し、集計やサービス横断の追跡、JSON出力を使った分析にも対応します。

主な機能

  1. 01ログの検索と絞り込み
  2. 02ファセット別のログ集計
  3. 03サービス横断のリクエスト追跡
  4. 04再利用可能なビューの保存
  5. 05JSON出力のローカル分析

活用シーン

  1. 01サービスのエラー急増の調査
  2. 02デプロイ前後のログ変化の比較
  3. 03複数サービスにまたがるリクエスト追跡
  4. 04日次インシデント要約の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/composio-community/awesome-codex-skills --skill datadog-logs

インストール後、Claude Code で/datadog-logsを入力して読み込まれたか確認します。

詳細

Datadog ログ

Composio CLI を使って Datadog のログをクエリし、スクリーンショットを貼り付けなくても、エージェントがフィルタリング、切り口の変更、要約を行えるようにします。

使用するタイミング

  • スパイク、エラーの急増、レイテンシの悪化を調査し、構造化された JSON を取得したい場合。
  • デプロイと、サービスや環境全体でのログ量の変化を関連付ける場合。
  • 毎日の「一晩で何が壊れたか」というダイジェストを作成する場合。

前提条件

curl -fsSL https://composio.dev/install | bash
composio login
composio link datadog       # prompts for site + API/APP keys

ツールを見つける

composio search "search logs" --toolkits datadog
composio search "aggregate logs" --toolkits datadog
composio tools list datadog

よく使われるスラッグ(--get-schema で確認してください):

  • DATADOG_SEARCH_LOGS
  • DATADOG_AGGREGATE_LOGS
  • DATADOG_LIST_ACTIVE_METRICS
  • DATADOG_GET_EVENT

フィルターの例

過去 15 分間における、特定のサービスのエラー
composio execute DATADOG_SEARCH_LOGS -d '{
  "filter": {
    "query": "service:checkout status:error env:prod",
    "from": "now-15m",
    "to": "now"
  },
  "page": { "limit": 100 },
  "sort": "-timestamp"
}'
エンドポイント別にエラー数を集計する
composio execute DATADOG_AGGREGATE_LOGS -d '{
  "filter": { "query": "service:checkout status:error", "from": "now-1h", "to": "now" },
  "group_by": [{ "facet": "@http.url_path", "limit": 20 }],
  "compute": [{ "aggregation": "count" }]
}'
サービス間で単一のリクエストを追跡する
composio execute DATADOG_SEARCH_LOGS -d '{
  "filter": { "query": "@trace_id:7f3a2b1c env:prod", "from": "now-1h", "to": "now" },
  "sort": "timestamp"
}'
再利用できるクエリを保存する
composio search "save log view" --toolkits datadog
composio execute DATADOG_CREATE_SAVED_VIEW -d '{
  "name": "checkout-errors-prod",
  "query": "service:checkout status:error env:prod"
}'

ローカル分析にパイプする

Datadog の出力は標準出力に JSON 形式で書き込まれるため、jq にパイプしてすばやく要約できます。

composio execute DATADOG_SEARCH_LOGS -d '{
  "filter": {"query":"service:api status:error","from":"now-30m","to":"now"},
  "page":{"limit":500}
}' | jq -r '.data[].attributes.message' | sort | uniq -c | sort -rn | head

複数ステップのワークフロー

composio run --file scripts/dd-incident.ts -- --service checkout を実行するには、scripts/dd-incident.ts として保存します。

const svc = process.argv[process.argv.indexOf("--service") + 1];

const errors = await execute("DATADOG_SEARCH_LOGS", {
  filter: { query: `service:${svc} status:error`, from: "now-1h", to: "now" },
  page: { limit: 200 }, sort: "-timestamp"
});

const topPaths = await execute("DATADOG_AGGREGATE_LOGS", {
  filter: { query: `service:${svc} status:error`, from: "now-1h", to: "now" },
  group_by: [{ facet: "@http.url_path", limit: 10 }],
  compute: [{ aggregation: "count" }]
});

console.log(JSON.stringify({ svc, sample: errors.data?.slice(0,5), topPaths }, null, 2));

毎日のダイジェストをスケジュールする

cron(またはトリガーには composio dev listen)を使ってワークフローを実行し、結果を Slack に転送します。

composio run --file scripts/dd-incident.ts -- --service checkout \
  | tee /tmp/digest.json

composio execute SLACK_SEND_MESSAGE -d "$(jq -n \
  --slurpfile d /tmp/digest.json \
  '{channel:"oncall", text: ($d[0] | tojson)}')"

トラブルシューティング

  • 結果が空 → env: タグと service: タグを確認してください。Datadog のインデックスはリージョンごとに分かれているため、composio link datadog の実行時に適切なサイトを設定してください。
  • 403 Forbidden → APP キーに logs_read がありません。該当スコープを指定してキーを再生成し、再リンクしてください。
  • クエリが遅い → from/to の範囲を狭めるか、facet フィルターを追加するか、生イベントを取得する代わりに DATADOG_AGGREGATE_LOGS を使ってください。
  • 不明なファセット → composio search "list log facets" --toolkits datadog を実行してください。

CLI の完全なリファレンス:docs.composio.dev/docs/cli

コメント