datadog

by didlawowo

Integrations

  • Provides access to Datadog API to fetch monitoring data, including monitor states and Kubernetes logs from infrastructure

  • Enables extraction and formatting of error logs from Kubernetes clusters through the Datadog API

Datadog モデルコンテキストプロトコル (MCP) 🔍

Datadog APIと連携し、インフラストラクチャから監視データを取得するためのPythonベースのツールです。このMCPは、シンプルなインターフェースから監視状態やKubernetesログに簡単にアクセスできます。

Datadog の機能 🌟

  • モニター状態追跡: 特定のモニター状態を取得して分析する
  • Kubernetes ログ分析: Kubernetes クラスターからエラー ログを抽出してフォーマットする

前提条件 📋

  • Python 3.11以上
  • Datadog API およびアプリケーション キー (適切な権限付き)
  • Datadogサイトへのアクセス

インストール🔧

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Datadog を自動的にインストールするには:

npx -y @smithery/cli install @didlawowo/mcp-collection --client claude

必要なパッケージ:

datadog-api-client fastmcp loguru icecream python-dotenv uv

環境設定 🔑

Datadog の認証情報を使用して.envファイルを作成します。

DD_API_KEY=your_api_key DD_APP_KEY=your_app_key

MCP 用の Claude デスクトップ セットアップをセットアップする 🖥️

  1. Claude Desktopをインストールする
# Assuming you're on macOS brew install claude-desktop # Or download from official website https://claude.ai/desktop
  1. Datadog MCP 構成をセットアップします。
# on mac is ~/Library/Application\ Support/Claude/claude_desktop_config.json # Add this to your claude config json ```json "Datadog-MCP-Server": { "command": "uv", "args": [ "run", "--with", "datadog-api-client", "--with", "fastmcp", "--with", "icecream", "--with", "loguru", "--with", "python-dotenv", "fastmcp", "run", "/your-path/mcp-collection/datadog/main.py" ], "env": { "DD_API_KEY": "xxxx", "DD_APP_KEY": "xxx" } },

使用方法💻

建築 🏗

  • FastMCP Base : ツール管理にFastMCPフレームワークを活用
  • モジュラー設計:モニターとログの機能を分離
  • 型安全性: Python 型ヒントによる完全な型指定のサポート
  • API 抽象化: エラー処理を伴うラップされた Datadog API 呼び出し

MCP と Claude Desktop のセットアップに関するセクションを追加します。

モデルコンテキストプロトコル (MCP) の紹介 🤖

MCPとは何ですか?

モデルコンテキストプロトコル(MCP)は、AIモデルが外部ツールやAPIと標準化された方法で連携できるようにするフレームワークです。これにより、Claudeのようなモデルは以下が可能になります。

  • 外部データにアクセスする
  • コマンドを実行する
  • APIを操作する
  • 会話全体にわたって文脈を維持する

MCPサーバーの例

https://github.com/punkpeye/awesome-mcp-servers?tab=readme-ov-file

MCP セットアップのチュートリアル

https://medium.com/@pedro.aquino.se/how-to-use-mcp-tools-on-claude-desktop-app-and-automate-your-daily-tasks-1c38e22bc4b0

仕組み - 利用可能な機能 🛠️

LLMは提供された関数を使用してデータを取得し、それを使用します

1. モニターの状態を取得する

get_monitor_states( name: str, # Monitor name to search timeframe: int = 1 # Hours to look back )

例:

response = get_monitor_states(name="traefik") # Sample Output { "id": "12345678", "name": "traefik", "status": "OK", "query": "avg(last_5m):avg:traefik.response_time{*} > 1000", "message": "Response time is too high", "type": "metric alert", "created": "2024-01-14T10:00:00Z", "modified": "2024-01-14T15:30:00Z" }

2. Kubernetesログを取得する

get_k8s_logs( cluster: str, # Kubernetes cluster name timeframe: int = 5, # Hours to look back namespace: str = None # Optional namespace filter )

例:

logs = get_k8s_logs( cluster="prod-cluster", timeframe=3, namespace="default" ) # Sample Output { "timestamp": "2024-01-14T22:00:00Z", "host": "worker-1", "service": "nginx-ingress", "pod_name": "nginx-ingress-controller-abc123", "namespace": "default", "container_name": "controller", "message": "Connection refused", "status": "error" }
# Install as MCP extension cd datadog task install-mcp

4. インストールの確認

クロードチャットデスクトップ

クロードでデータドッグの接続を確認する

5. Datadog MCPツールを使用する

セキュリティに関する考慮事項 🔒

  • APIキーを.envに保存する
  • MCPは隔離された環境で実行される
  • 各ツールには定義された権限があります
  • レート制限が実装されています

トラブルシューティング🔧

MCPインスペクターの使用

# Launch MCP Inspector for debugging task run-mcp-inspector

MCP インスペクターは以下を提供します。

  • MCP サーバーのステータスをリアルタイムで表示
  • 関数呼び出しログ
  • エラートレース
  • API応答監視

よくある問題と解決策

  1. API認証エラー
    Error: (403) Forbidden
    ➡️ .env で DD_API_KEY と DD_APP_KEY を確認してください
  2. MCP 接続の問題
    Error: Failed to connect to MCP server
    ➡️ claude_desktop_config.json のパスと内容を確認する
  3. モニターが見つかりません
    Error: No monitor found with name 'xxx'
    ➡️ モニター名のスペルと大文字と小文字の区別を確認する
  4. ログはここにあります

貢献中🤝

お気軽にどうぞ:

  1. バグに関する未解決の問題
  2. 改善のためのPRを送信する
  3. 新機能の追加

ノート📝

  • API 呼び出しは Datadog EU サイトに対して行われます
  • モニター状態のデフォルトの時間枠は1時間です
  • ほとんどのユースケースに対応できるようにページサイズの制限が設定されています
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Datadog からのモニターおよびクラスターログへのアクセスを提供する

  1. Datadog の機能 🌟
    1. 前提条件 📋
      1. インストール🔧
        1. Smithery経由でインストール
      2. 環境設定 🔑
        1. MCP 用の Claude デスクトップ セットアップをセットアップする 🖥️
          1. Sample Output
            1. Sample Output
              1. Install as MCP extension
                1. Launch MCP Inspector for debugging
                  1. 貢献中🤝
                  2. ノート📝

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Integrates with Sumo Logic's API to enable log search with configurable queries and time ranges, supporting error handling and easy deployment via Docker.
                  Last updated -
                  TypeScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  The MCP server provides an interface to the Datadog API, enabling seamless management of incidents, monitoring, logs, dashboards, metrics, traces, and hosts. Its extensible design allows easy integration of additional Datadog APIs for future expansions.
                  Last updated -
                  14
                  322
                  36
                  TypeScript
                  Apache 2.0
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  An MCP server that allows AI assistants to access AWS CloudWatch logs by listing log groups and reading log entries.
                  Last updated -
                  4
                  Python

                View all related MCP servers

                ID: j72e1m6bqk