mcpField
D
datadog-automation

datadog-automation

github.com/davepoonクラウド・DevOps3.7k118 回インストール今日更新
リポジトリ

datadog-automation について

datadog-automationは、ComposioのDatadogツールキットとRube MCPを通じて、Datadogの監視・オブザーバビリティ操作を自動化するスキルです。メトリクスやログの検索、モニターとダッシュボードの管理、イベント、ダウンタイム、ホスト、トレースを扱います。

主な機能

  1. 01メトリクスの照会とログ検索
  2. 02モニターの作成と管理
  3. 03ダッシュボードの表示と更新
  4. 04イベントの投稿とダウンタイムの設定
  5. 05ホスト一覧とトレースの取得

活用シーン

  1. 01メトリクスの傾向やエラーログの調査
  2. 02モニターの作成やミュート
  3. 03ダッシュボードレイアウトの更新
  4. 04メンテナンス用ダウンタイムの設定

MCP 対応

Rube MCPを介してComposioのDatadogツールキットを利用します。有効なDatadog接続が必要で、最新のツールスキーマを先に取得する手順です。

インストール

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill datadog-automation

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

詳細

Rube MCP による Datadog の自動化

Rube MCP を通じて、Composio の Datadog ツールキットを利用し、Datadog の監視およびオブザーバビリティの運用を自動化します。

ツールキットのドキュメント:composio.dev/toolkits/datadog

前提条件

  • Rube MCP が接続されている必要があります(RUBE_SEARCH_TOOLS を利用可能)
  • datadog ツールキットを使用した RUBE_MANAGE_CONNECTIONS 経由の有効な Datadog 接続
  • 最新のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. datadog ツールキットを指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合、返された認証リンクに従って Datadog 認証を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. メトリクスのクエリと調査

用途:メトリクスデータをクエリしたい場合、または利用可能なメトリクスを一覧表示したい場合

ツールの順序:

  1. DATADOG_LIST_METRICS - 利用可能なメトリクス名を一覧表示します[任意]
  2. DATADOG_QUERY_METRICS - メトリクスの時系列データをクエリします[必須]

主なパラメーター:

  • query:Datadog のメトリクスクエリ文字列(例:avg:system.cpu.user{host:web01})
  • from:開始タイムスタンプ(Unix エポック秒)
  • to:終了タイムスタンプ(Unix エポック秒)
  • q:メトリクス一覧表示用の検索文字列

注意点:

  • クエリ構文は Datadog のメトリクスクエリ形式に従います:aggregation:metric_name{tag_filters}
  • from と to は Unix エポック秒のタイムスタンプです。ミリ秒ではありません
  • 有効な集計方法:avg、sum、min、max、count
  • タグフィルターには波括弧を使用します:{host:web01,env:prod}
  • 時間範囲は、メトリクスタイプに対する Datadog の保持制限を超えないようにしてください
2. ログの検索と分析

用途:ログエントリを検索したい場合、またはログインデックスを一覧表示したい場合

ツールの順序:

  1. DATADOG_LIST_LOG_INDEXES - 利用可能なログインデックスを一覧表示します[任意]
  2. DATADOG_SEARCH_LOGS - クエリとフィルターを使ってログを検索します[必須]

主なパラメーター:

  • query:Datadog のログクエリ構文を使用したログ検索クエリ
  • from:開始時刻(ISO 8601 または Unix タイムスタンプ)
  • to:終了時刻(ISO 8601 または Unix タイムスタンプ)
  • sort:並べ替え順('asc' または 'desc')
  • limit:返すログエントリの数

注意点:

  • ログクエリには Datadog のログ検索構文を使用します:service:web status:error
  • 検索対象は、設定された保持期間内に保持されているログに限られます
  • 大量の結果にはページネーションが必要です。カーソル/ページトークンを確認してください
  • ログインデックスはルーティングと保持を制御します。インデックスが分かっている場合は、それでフィルターしてください
3. モニターの管理

用途:モニターの作成、更新、ミュート、または確認をしたい場合

ツールの順序:

  1. DATADOG_LIST_MONITORS - フィルターを指定してすべてのモニターを一覧表示します[必須]
  2. DATADOG_GET_MONITOR - 特定のモニターの詳細を取得します[任意]
  3. DATADOG_CREATE_MONITOR - 新しいモニターを作成します[任意]
  4. DATADOG_UPDATE_MONITOR - モニターの設定を更新します[任意]
  5. DATADOG_MUTE_MONITOR - モニターを一時的に停止します[任意]
  6. DATADOG_UNMUTE_MONITOR - ミュートされたモニターを再度有効にします[任意]

主なパラメーター:

  • monitor_id:数値のモニター ID
  • name:モニターの表示名
  • type:モニタータイプ('metric alert'、'service check'、'log alert'、'query alert' など)
  • query:アラート条件を定義するモニタークエリ
  • message:@メンションを含む通知メッセージ
  • tags:タグ文字列の配列
  • thresholds:アラートのしきい値(critical、warning、ok)

注意点:

  • モニターの type はクエリタイプと一致している必要があります。一致しない場合、作成に失敗します
  • message では通知用の @メンションを使用できます(例:@slack-channel、@pagerduty)
  • しきい値はモニタータイプによって異なります。メトリクスモニターには最低限 critical が必要です
  • モニターをミュートしても通知が抑制されるだけで、モニターによる評価は継続されます
  • モニター ID は数値の整数です
4. ダッシュボードを管理する

使用する場面:ダッシュボードの一覧表示、閲覧、更新、削除を行いたい場合

ツールの手順:

  1. DATADOG_LIST_DASHBOARDS - すべてのダッシュボードを一覧表示します[必須]
  2. DATADOG_GET_DASHBOARD - ダッシュボードの定義全体を取得します[任意]
  3. DATADOG_UPDATE_DASHBOARD - ダッシュボードのレイアウトまたはウィジェットを更新します[任意]
  4. DATADOG_DELETE_DASHBOARD - ダッシュボードを削除します(取り消し不可)[任意]

主なパラメーター:

  • dashboard_id:ダッシュボード識別子の文字列
  • title:ダッシュボードのタイトル
  • layout_type:'ordered'(グリッド)または 'free'(自由配置)
  • widgets:ウィジェット定義オブジェクトの配列
  • description:ダッシュボードの説明

注意点:

  • ダッシュボード ID は英数字の文字列(例:'abc-def-ghi')であり、数値ではありません
  • 作成後に layout_type は変更できません。ダッシュボードを再作成する必要があります
  • ウィジェット定義は複雑なネストされたオブジェクトです。構造を把握するには、まず既存のダッシュボードを取得してください
  • DELETE は恒久的な操作であり、取り消しはできません
5. イベントを作成し、ダウンタイムを管理する

使用する場面:イベントの投稿や、メンテナンスダウンタイムのスケジュール設定を行いたい場合

ツールの手順:

  1. DATADOG_LIST_EVENTS - 既存のイベントを一覧表示します[任意]
  2. DATADOG_CREATE_EVENT - 新しいイベントを投稿します[必須]
  3. DATADOG_CREATE_DOWNTIME - メンテナンスダウンタイムをスケジュールします[任意]

イベントの主なパラメーター:

  • title:イベントのタイトル
  • text:イベント本文(Markdown をサポート)
  • alert_type:イベントの重大度('error'、'warning'、'info'、'success')
  • tags:タグ文字列の配列

ダウンタイムの主なパラメーター:

  • scope:ダウンタイムの対象となるタグのスコープ(例:host:web01)
  • start:開始時刻(Unix エポック)
  • end:終了時刻(Unix エポック。無期限にする場合は省略)
  • message:ダウンタイムの説明
  • monitor_id:ダウンタイムの対象となる特定のモニター(任意。スコープに基づいて指定する場合は省略)

注意点:

  • イベントの text は、@メンションを含む Datadog の Markdown 形式をサポートします
  • ダウンタイムのスコープには、host:web01、env:staging のようなタグ構文を使用します
  • end を省略すると、無期限のダウンタイムになります。メンテナンスでは必ず終了時刻を設定してください
  • ダウンタイムの monitor_id を指定すると、対象が単一のモニターに限定されます。スコープを指定すると、一致するすべてのモニターが対象になります
6. ホストとトレースを管理する

使用する場面:インフラストラクチャのホスト一覧を表示したり、分散トレースを調査したりする場合

ツールの手順:

  1. DATADOG_LIST_HOSTS - レポートを送信しているすべてのホストを一覧表示します[必須]
  2. DATADOG_GET_TRACE_BY_ID - 特定の分散トレースを取得します[任意]

主なパラメーター:

  • filter:ホスト検索フィルター文字列
  • sort_field:フィールドでホストを並べ替えます(例:'name'、'apps'、'cpu')
  • sort_dir:並べ替え順('asc' または 'desc')
  • trace_id:トレース検索に使用する分散トレース ID

注意点:

  • ホスト一覧には、保持期間内に Datadog へレポートを送信したすべてのホストが含まれます
  • トレース ID は長い数値文字列です。完全に一致していることを確認してください
  • レポートの送信を停止したホストは、設定された期間が経過してから削除されます

よくあるパターン

モニターのクエリ構文

メトリクスアラート:

avg(last_5m):avg:system.cpu.user{env:prod} > 90

ログアラート:

logs("service:web status:error").index("main").rollup("count").last("5m") > 10
タグによるフィルタリング
  • タグは key:value 形式です:host:web01、env:prod、service:api
  • 複数のタグ:{host:web01,env:prod}(AND 条件)
  • ワイルドカード:host:web*
ページネーション
  • エンドポイントに応じて、page と page_size、またはオフセットベースのページネーションを使用します
  • レスポンスの合計件数を確認し、次のページがあるか判断します
  • すべての結果を取得するまで続けます

既知の注意点

タイムスタンプ:

  • ほとんどのエンドポイントでは Unix エポック秒を使用します(ミリ秒ではありません)
  • ISO 8601 を受け付けるエンドポイントもあります。ツールのスキーマを確認してください
  • 時間範囲は妥当な長さにしてください(数年分のデータは避けてください)

クエリ構文:

  • メトリクスのクエリ:aggregation:metric{tags}
  • ログのクエリ:field:value の組み合わせ
  • モニターのクエリはタイプによって異なります。Datadog のドキュメントを確認してください

レート制限:

  • Datadog API にはエンドポイントごとのレート制限があります
  • 429 レスポンスが返された場合は、バックオフを実装してください
  • 可能な場合は、操作をバッチ処理してください

クイックリファレンス

タスクツールスラッグ主なパラメーター
メトリクスをクエリするDATADOG_QUERY_METRICSquery, from, to
メトリクスを一覧表示するDATADOG_LIST_METRICSq
ログを検索するDATADOG_SEARCH_LOGSquery, from, to, limit
ログインデックスを一覧表示するDATADOG_LIST_LOG_INDEXES(none)
モニターを一覧表示するDATADOG_LIST_MONITORStags
モニターを取得するDATADOG_GET_MONITORmonitor_id
モニターを作成するDATADOG_CREATE_MONITORname, type, query, message
モニターを更新するDATADOG_UPDATE_MONITORmonitor_id
モニターをミュートするDATADOG_MUTE_MONITORmonitor_id
モニターのミュートを解除するDATADOG_UNMUTE_MONITORmonitor_id
ダッシュボードを一覧表示するDATADOG_LIST_DASHBOARDS(none)
ダッシュボードを取得するDATADOG_GET_DASHBOARDdashboard_id
ダッシュボードを更新するDATADOG_UPDATE_DASHBOARDdashboard_id, title, widgets
ダッシュボードを削除するDATADOG_DELETE_DASHBOARDdashboard_id
イベントを一覧表示するDATADOG_LIST_EVENTSstart, end
イベントを作成するDATADOG_CREATE_EVENTtitle, text, alert_type
ダウンタイムを作成するDATADOG_CREATE_DOWNTIMEscope, start, end
ホストを一覧表示するDATADOG_LIST_HOSTSfilter, sort_field
トレースを取得するDATADOG_GET_TRACE_BY_IDtrace_id

Composio 提供

コメント