datadog-automation について
Rube MCP 上の Composio Datadog ツールキットを通じて、監視とオブザーバビリティの作業を自動化するワークフロースキルです。データ照会に加え、モニター、ダッシュボード、イベント、ダウンタイム、ホスト、トレースの操作と安全上の注意を扱います。
主な機能
- 01メトリクスの照会とログ検索
- 02モニターの作成、確認、ミュート
- 03ダッシュボードの表示と更新
- 04イベント投稿とダウンタイム設定
- 05ホスト一覧とトレース取得
活用シーン
- 01メトリクスの傾向やアプリケーションエラーの調査
- 02モニター設定の確認や調整
- 03サービス用ダッシュボードの準備
- 04終了時刻を定めたメンテナンス停止の設定
MCP 対応
Rube MCP と Composio の Datadog ツールキットを利用します。照会や変更の前に最新のツール定義を取得し、認証済みで有効な Datadog 接続を確認するようクライアントに案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill datadog-automationインストール後、Claude Code で/datadog-automationを入力して読み込まれたか確認します。
詳細
Rube MCP を介した Datadog の自動化
Rube MCP を介して、Composio の Datadog ツールキットを使用し、Datadog の監視およびオブザーバビリティの運用を自動化します。
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
- ツールキット
datadogを指定したRUBE_MANAGE_CONNECTIONSによる Datadog の有効な接続 - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
Rube MCP を取得する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。エンドポイントを追加しても Datadog の認証は行われません。ホストがサポートする認証済み接続を使用してください。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確かめます- ツールキット
datadogを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Datadog の認証を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
読み取りまたは状態の変更を行う前に、Datadog のサイト/組織、環境、サービス、時間範囲を確認してください。ログやトレースには認証情報や個人データが含まれる場合があるため、出力を制限し、機密情報をマスキングしてください。モニターやイベントのメッセージは Slack/PagerDuty の宛先に通知を送る場合があるため、送信やメンションには明示的なスコープの許可が必要です。ダウンタイムやミュートはアラートを抑制するため、承認された範囲のうち最も限定的なものを、期限を設けて使用し、解除されたことを確認してください。置換や削除の前にダッシュボード定義を保存し、書き込みの成否が不明な場合は、再試行する前に状態を確認してください。メトリクスやログがないこと、またはサンプリングされたトレースは、正常性の証明にはなりません。保持期間、サンプリング、クエリのカバレッジを報告してください。現在の API バージョンによってダウンタイムの形式やダッシュボードの動作は異なる場合があるため、検出したスキーマを使用してください。
1. メトリクスのクエリと調査
使用する場面:ユーザーがメトリクスデータのクエリや、利用可能なメトリクスの一覧表示を希望する場合
ツールの実行順序:
DATADOG_LIST_METRICS- 利用可能なメトリクス名を一覧表示します[任意]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. ログの検索と分析
使用する場面:ユーザーがログエントリの検索や、ログインデックスの一覧表示を希望する場合
ツールの実行順序:
DATADOG_LIST_LOG_INDEXES- 利用可能なログインデックスを一覧表示します[任意]DATADOG_SEARCH_LOGS- クエリとフィルターを使ってログを検索します[必須]
主なパラメーター:
query:Datadog のログクエリ構文を使ったログ検索クエリfrom:開始時刻(ISO 8601 または Unix タイムスタンプ)to:終了時刻(ISO 8601 または Unix タイムスタンプ)sort:並べ替え順('asc' または 'desc')limit:返すログエントリ数
注意点:
- ログクエリは Datadog のログ検索構文を使用します:
service:web status:error - 検索対象は、設定された保持期間内に保持されているログに限られます
- 大量の検索結果にはページネーションが必要です。カーソル/ページトークンを確認してください
- ログインデックスはルーティングと保持を制御します。分かっている場合は、インデックスで絞り込んでください
3. モニターを管理する
使用する場面:ユーザーがモニターの作成、更新、一時停止、確認を希望する場合
ツールの手順:
DATADOG_LIST_MONITORS- フィルターを指定してすべてのモニターを一覧表示します[必須]DATADOG_GET_MONITOR- 特定のモニターの詳細を取得します[任意]DATADOG_CREATE_MONITOR- 新しいモニターを作成します[任意]DATADOG_UPDATE_MONITOR- モニターの設定を更新します[任意]DATADOG_MUTE_MONITOR- モニターを一時的に停止します[任意]DATADOG_UNMUTE_MONITOR- 一時停止中のモニターを再び有効にします[任意]
主なパラメーター:
monitor_id:数値のモニター IDname:モニターの表示名type:モニターの種類('metric alert'、'service check'、'log alert'、'query alert' など)query:アラート条件を定義するモニタークエリmessage:@メンションを含む通知メッセージtags:タグ文字列の配列thresholds:アラートのしきい値(critical、warning、ok)
注意点:
- モニターの
typeはクエリの種類と一致する必要があります。一致しない場合、作成に失敗します messageでは通知に @メンションを使用できます(例:@slack-channel、@pagerduty)- しきい値はモニターの種類によって異なります。メトリクスモニターには最低でも
criticalが必要です - モニターを一時停止すると通知は抑制されますが、モニターによる評価は続行されます
- モニター ID は数値の整数です
4. ダッシュボードを管理する
使用する場面:ユーザーがダッシュボードの一覧表示、確認、更新、削除を希望する場合
ツールの手順:
DATADOG_LIST_DASHBOARDS- すべてのダッシュボードを一覧表示します[必須]DATADOG_GET_DASHBOARD- ダッシュボードの完全な定義を取得します[任意]DATADOG_UPDATE_DASHBOARD- ダッシュボードのレイアウトやウィジェットを更新します[任意]DATADOG_DELETE_DASHBOARD- ダッシュボードを削除します(取り消し不可)[任意]
主なパラメーター:
dashboard_id:ダッシュボードの識別子文字列title:ダッシュボードのタイトルlayout_type:'ordered'(グリッド)または 'free'(自由配置)widgets:ウィジェット定義オブジェクトの配列description:ダッシュボードの説明
注意点:
- ダッシュボード ID は英数字の文字列(例:'abc-def-ghi')で、数値ではありません
- 作成後に
layout_typeは変更できません。変更するにはダッシュボードを再作成する必要があります - ウィジェット定義は複雑なネストされたオブジェクトです。構造を把握するため、まず既存のダッシュボードを取得してください
- DELETE は取り消せません。元に戻す方法はありません
5. イベントを作成し、ダウンタイムを管理する
使用する場面:ユーザーがイベントの投稿やメンテナンス用ダウンタイムのスケジュール設定を希望する場合
ツールの手順:
DATADOG_LIST_EVENTS- 既存のイベントを一覧表示します[任意]DATADOG_CREATE_EVENT- 新しいイベントを投稿します[必須]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. ホストとトレースを管理する
使用する場面:インフラストラクチャのホスト一覧を取得したい場合、または分散トレースを調査したい場合
ツールの実行順序:
DATADOG_LIST_HOSTS- レポートを送信しているすべてのホストを一覧表示します[必須]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_METRICS | query, from, to |
| メトリクスを一覧表示する | DATADOG_LIST_METRICS | q |
| ログを検索する | DATADOG_SEARCH_LOGS | query, from, to, limit |
| ログインデックスを一覧表示する | DATADOG_LIST_LOG_INDEXES | (none) |
| モニターを一覧表示する | DATADOG_LIST_MONITORS | tags |
| モニターを取得する | DATADOG_GET_MONITOR | monitor_id |
| モニターを作成する | DATADOG_CREATE_MONITOR | name, type, query, message |
| モニターを更新する | DATADOG_UPDATE_MONITOR | monitor_id |
| モニターをミュートする | DATADOG_MUTE_MONITOR | monitor_id |
| モニターのミュートを解除する | DATADOG_UNMUTE_MONITOR | monitor_id |
| ダッシュボードを一覧表示する | DATADOG_LIST_DASHBOARDS | (none) |
| ダッシュボードを取得する | DATADOG_GET_DASHBOARD | dashboard_id |
| ダッシュボードを更新する | DATADOG_UPDATE_DASHBOARD | dashboard_id, title, widgets |
| ダッシュボードを削除する | DATADOG_DELETE_DASHBOARD | dashboard_id |
| イベントを一覧表示する | DATADOG_LIST_EVENTS | start, end |
| イベントを作成する | DATADOG_CREATE_EVENT | title, text, alert_type |
| ダウンタイムを作成する | DATADOG_CREATE_DOWNTIME | scope, start, end |
| ホストを一覧表示する | DATADOG_LIST_HOSTS | filter, sort_field |
| トレースを取得する | DATADOG_GET_TRACE_BY_ID | trace_id |
使用する場面
このスキルは、概要に記載されたワークフローやアクションを実行する場合に適用できます。
制限事項
- このスキルは、タスクが上記の説明の範囲に明確に該当する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を停止して確認してください。