Home
Login

خادم بروتوكول سياق النموذج (MCP) لـ Grafana، يوفر لوكلاء الذكاء الاصطناعي القدرة على الوصول إلى مثيلات Grafana ونظامها البيئي، ويدعم إدارة لوحة المعلومات، والاستعلام عن مصادر البيانات، وتكوين قواعد التنبيه، وما إلى ذلك.

Apache-2.0Go 1.0kgrafanamcp-grafana Last Updated: 2025-06-24

نظرة عامة على مشروع Grafana MCP Server

Grafana MCP Server هو خادم يعتمد على بروتوكول سياق النموذج (Model Context Protocol, MCP)، مصمم خصيصًا للتكامل مع مثيلات Grafana والنظام البيئي المحيط بها. يوفر هذا المشروع لوكلاء الذكاء الاصطناعي (مثل Claude Desktop) القدرة على الوصول إلى وظائف Grafana المختلفة والتعامل معها.

الميزات والوظائف الأساسية

إدارة لوحات المعلومات

  • البحث عن لوحات المعلومات: استرجاع وتحديد مواقع لوحات معلومات معينة بسرعة.
  • الحصول على لوحة معلومات: الحصول على التكوين الكامل للوحة المعلومات عبر UID.
  • تحديث/إنشاء لوحات معلومات: تعديل أو إنشاء لوحات معلومات جديدة ديناميكيًا (مع الانتباه إلى قيود نافذة السياق).

تكامل مصدر البيانات

  • إدارة مصادر البيانات: سرد معلومات مصادر البيانات والحصول عليها.
  • دعم الاستعلام عن مصادر بيانات متعددة:
    • Prometheus: تنفيذ استعلامات PromQL، والحصول على بيانات المقاييس.
    • Loki: تنفيذ استعلامات LogQL، واسترجاع بيانات السجل.
    • Tempo: استعلام عن بيانات التتبع الموزعة.
    • Pyroscope: استعلام عن بيانات تحليل الأداء.

استعلام عن البيانات الوصفية

  • بيانات Prometheus الوصفية: الحصول على بيانات وصفية للمقاييس، وأسماء المقاييس، وأسماء العلامات، وقيم العلامات.
  • بيانات Loki الوصفية: الحصول على أسماء علامات السجل، وقيم العلامات، والمعلومات الإحصائية.

إدارة الأحداث والتنبيهات

  • إدارة الأحداث: البحث عن الأحداث وإنشاؤها وتحديثها وإغلاقها.
  • قواعد التنبيه: سرد معلومات قواعد التنبيه والحصول عليها، والحصول على حالات التنبيه.
  • إدارة نقاط الاتصال: سرد نقاط اتصال التنبيه وإنشاؤها وتعديلها.

تكامل Grafana OnCall

  • إدارة الجداول الزمنية: سرد وإدارة خطط المناوبة.
  • معلومات المناوبة: الحصول على تفاصيل المناوبة والمستخدمين المناوبين الحاليين.
  • إدارة الفرق والمستخدمين: إدارة الفرق ومعلومات المستخدم.
  • إدارة مجموعات التنبيه: سرد مجموعات التنبيه.

وظيفة التحقيق Sift

  • التحقيق الذكي: بدء تحقيق Sift وعرض النتائج.
  • إدارة التحقيق: إنشاء معلومات التحقيق وسردها والحصول عليها.
  • وظائف التحليل: الحصول على نتائج تحليل التحقيق.
  • التعرف على أنماط الأخطاء: البحث عن أنماط الأخطاء في السجلات.
  • تحليل الأداء: تحديد الطلبات البطيئة.

تكوين الأدوات

يوفر هذا المشروع خيارات تكوين أدوات مرنة، يمكنك اختيار تمكين أو تعطيل فئات وظائف معينة:

اسم الأداة التصنيف الوصف
search_dashboards Search البحث عن لوحات المعلومات
get_dashboard_by_uid Dashboard الحصول على لوحة معلومات عبر UID
update_dashboard Dashboard تحديث أو إنشاء لوحة معلومات جديدة
list_datasources Datasources سرد مصادر البيانات
query_prometheus Prometheus تنفيذ استعلام Prometheus
query_loki_logs Loki الاستعلام عن السجلات واسترجاعها
list_incidents Incident سرد الأحداث
list_alert_rules Alerting سرد قواعد التنبيه
list_oncall_schedules OnCall سرد خطط المناوبة OnCall
find_error_pattern_logs Sift البحث عن أنماط الأخطاء

يمكنك استخدام العلامة --disable-<category> لتعطيل فئات أدوات معينة. على سبيل المثال، استخدام --disable-oncall لتعطيل الأدوات المتعلقة بـ OnCall.

التثبيت والتكوين

طرق التثبيت

1. صورة Docker

docker pull mcp/grafana
docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your_token> mcp/grafana

2. تنزيل الملفات الثنائية

قم بتنزيل أحدث إصدار من صفحة الإصدارات وضعه في دليل $PATH.

3. تجميع التعليمات البرمجية المصدر

GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest

إعدادات التكوين

المتطلبات الأساسية

  1. قم بإنشاء حساب خدمة في Grafana، وقم بتعيين أذونات كافية.
  2. قم بإنشاء رمز حساب الخدمة.

تكوين Claude Desktop

باستخدام الملفات الثنائية:

{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": [],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

باستخدام Docker:

{
  "mcpServers": {
    "grafana": {
      "command": "docker",
      "args": [
        "run", "--rm", "-p", "8000:8000",
        "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY",
        "mcp/grafana"
      ],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

وضع التصحيح

قم بتمكين وضع التصحيح عن طريق إضافة العلامة -debug، والتي يمكن أن توفر سجلات مفصلة لطلبات واستجابات HTTP:

{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": ["-debug"],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

التطوير والاختبار

إعداد بيئة التطوير

# تشغيل الخادم
make run

# بناء صورة Docker
make build-image

# تشغيل حاوية Docker
docker run -it --rm -p 8000:8000 mcp-grafana:latest

أنواع الاختبار

اختبار الوحدة

make test-unit
# أو
make test

اختبار التكامل

# يتطلب تشغيل حاوية Docker
make test-integration

اختبار السحابة

# يتطلب مثيل Grafana السحابي وبيانات الاعتماد
make test-cloud

اختبار كامل

# ابدأ مثيل Grafana المحلي
docker-compose up -d

# تشغيل جميع الاختبارات
make test-all

جودة الكود

فحص الكود

make lint

فحص JSON Schema

يحتوي هذا المشروع على أداة lint مخصصة لفحص الفواصل غير المهربة في علامات بنية jsonschema:

make lint-jsonschema

البنية التقنية

  • لغة البرمجة: Go
  • البروتوكول: Model Context Protocol (MCP)
  • طريقة الاتصال: stdin/stdout أو SSE (Server-Sent Events)
  • العملاء المدعومون: Claude Desktop وعملاء متوافقون مع MCP

حالات الاستخدام

  1. المراقبة المدعومة بالذكاء الاصطناعي: تمكين وكلاء الذكاء الاصطناعي من الاستعلام عن بيانات المراقبة وتحليلها بذكاء.
  2. التشغيل الآلي: إنشاء وإدارة لوحات المعلومات وقواعد التنبيه تلقائيًا عبر الذكاء الاصطناعي.
  3. الاستجابة الذكية للأحداث: استخدام الذكاء الاصطناعي لتحليل السجلات والمقاييس، وتحديد المشكلات وحلها بسرعة.
  4. رؤى البيانات: السماح للذكاء الاصطناعي بالمساعدة في استخراج معلومات قيمة من بيانات المراقبة المعقدة.

يمثل هذا المشروع اتجاهًا جديدًا في تكامل الذكاء الاصطناعي مع أدوات المراقبة التقليدية، مما يوفر للمطورين جسرًا قويًا يربط مساعدي الذكاء الاصطناعي ونظام Grafana البيئي.

Star History Chart