العودة إلى التحديثات
New releaseAug 6, 2026

nightingale v9.1.0

محرك تنبيه مفتوح المصدر لبيانات المراقبة الزمنية. يتصل بـ Prometheus وVictoriaMetrics وElasticSearch ومصادر بيانات أخرى. يدعم أكثر من 20 قناة إشعار، تقليل ضوضاء التنبيهات، التصعيد، وأتمتة الإصلاح الذاتي.

مشاركة

nightingale - مراقبة سحابية أصلية

خبير التنبيه مفتوح المصدر

Docs Docker pulls GitHub contributors GitHub Repo stars GitHub forks
GitHub Repo issues GitHub Repo issues closed GitHub latest release License GitHub contributors

English | 中文

🎯 ما هو Nightingale

Nightingale هو مشروع مراقبة مفتوح المصدر يركز على التنبيه. وكما هو الحال مع Grafana، يتصل Nightingale أيضًا بمصادر بيانات متنوعة موجودة مسبقًا. لكن بينما تركّز Grafana على التصوير المرئي، يركّز Nightingale بدرجة أكبر على محرك التنبيه، وكذلك على معالجة الإنذارات وتوزيعها.

💡 يدعم Nightingale الآن MCP بشكل جاهز: يعرّض الخادم نفسه نقطة نهاية MCP مدمجة في /mcp، بحيث يمكن للمساعدين الذكيين إدارة التنبيه واستكشاف بيانات قابلية المراقبة بلغة طبيعية دون نشر أي عملية إضافية. انظر خادم MCP أدناه.

طُوّر مشروع Nightingale في البداية وأُطلق كمصدر مفتوح بواسطة DiDi.inc. وفي 11 مايو 2022، تم التبرع به إلى لجنة تطوير المصادر المفتوحة التابعة لجمعية الحاسوب الصينية (CCF ODTC).

💡 كيف يعمل Nightingale

لقد جمع العديد من المستخدمين بالفعل بيانات القياسات والسجلات. في هذه الحالة، يمكنك ربط مستودعات التخزين لديك (مثل VictoriaMetrics وElasticSearch وغيرها) كمصادر بيانات في Nightingale. يتيح لك ذلك تكوين قواعد التنبيه وقواعد الإشعار داخل Nightingale، مما يتيح توليد الإنذارات وتوزيعها.

بنية منتج Nightingale

لا يوفر Nightingale نفسه إمكانات جمع بيانات المراقبة. نوصي باستخدام Categraf كأداة الجمع، فهو يتكامل بسلاسة مع Nightingale.

يمكن لـ Categraf جمع بيانات المراقبة من أنظمة التشغيل وأجهزة الشبكة والبرمجيات الوسيطة المتنوعة وقواعد البيانات. يدفع هذه البيانات إلى Nightingale عبر بروتوكول Prometheus Remote Write. ثم يخزّن Nightingale بيانات المراقبة في قاعدة بيانات للسلاسل الزمنية (مثل Prometheus وVictoriaMetrics وغيرها) ويوفّر إمكانات التنبيه والتصوير المرئي.

بالنسبة لبعض مراكز البيانات الطرفية (edge) ذات الاتصال الشبكي الضعيف بخادم Nightingale المركزي، نقدّم وضع نشر موزّع لمحرك التنبيه. في هذا الوضع، حتى إذا انقطع الاتصال بالشبكة، تظل وظيفة التنبيه غير متأثرة.

وضع النشر الطرفي

في الرسم أعلاه، يتمتع مركز البيانات A باتصال شبكي جيد مع مركز البيانات المركزي، لذلك يستخدم عملية Nightingale في مركز البيانات المركزي كمحرك تنبيه. أما مركز البيانات B فاتصاله الشبكي مع المركز المركزي ضعيف، لذلك ينشر n9e-edge كمحرك تنبيه للتعامل مع التنبيه عن مصادر البيانات الخاصة به.

🤖 خادم MCP

يضم Nightingale خادم MCP مدمجًا: عملية n9e نفسها توفّر بروتوكول سياق النموذج (Model Context Protocol) عند /mcp عبر ناقل Streamable HTTP. يمكن لأي عميل MCP — سواء Claude Code / Claude Desktop أو Cursor أو موصلات ChatGPT أو وكيلك الخاص — الاستعلام عن Nightingale وإدارته بلغة طبيعية، دون الحاجة إلى نشر أي عملية إضافية.

ربط عميل

نقطة النهاية هي http(s)://<nightingale>:17000/mcp — مسار جذر، وليس تحت /api/n9e. قم بالمصادقة باستخدام رمز وصول شخصي (أنشئ واحدًا من واجهة الويب ضمن الملف الشخصي → إدارة الرموز) يُرسَل في ترويسة X-User-Token:

{
  "mcpServers": {
    "nightingale": {
      "type": "http",
      "url": "http://127.0.0.1:17000/mcp",
      "headers": { "X-User-Token": "<your-token>" }
    }
  }
}

يُوجَّه كل استدعاء أداة إلى واجهة HTTP API الخاصة بـ Nightingale داخل العملية، حاملًا رمزك، بحيث تُطبَّق صلاحيات RBAC ومجموعات الأعمال تمامًا كما تُطبَّق لذلك المستخدم في الواجهة — لا يمكن لأي عميل الوصول إلى أي شيء لا يمكن لمالك الرمز الوصول إليه.

الأدوات

74 أداة دقيقة (42 للقراءة و32 للكتابة) موزعة على 13 مجموعة أدوات: alerts, targets, datasource, mutes, busi_groups, notify_rules, alert_subscribes, event_pipelines, users, metrics, logs, dashboards, roles.

نقطة النهاية للقراءة فقط افتراضيًا — أدوات الكتابة (إنشاء / تحديث / حذف) تتطلب تفعيلًا صريحًا عبر الإعدادات.

الإعدادات

كل ما يلي اختياري؛ /mcp مفعّل افتراضيًا مباشرةً (etc/config.toml):

[HTTP.A2A]
# DisableMCP = true                        # turn off /mcp (Disable = true turns off /a2a as well)
# MCPToolsets = ["alerts", "dashboards"]   # restrict the exposed toolsets; empty = all of them
# MCPEnableWriteTools = true               # also register the write tools; read-only by default

يعيد /mcp استخدام [HTTP.TokenAuth] للمصادقة، لذا أبقِه مفعّلًا.

OAuth 2.1 بدلًا من الرمز المميز

يقبل /mcp أيضًا رموز وصول OAuth عبر Authorization: Bearer، بنوعين:

  • يعمل Nightingale بصفته خادم التفويض (authorization server) نفسه، مع تسجيل العملاء الديناميكي وفق RFC 7591 وPKCE، بحيث يمكن للعملاء المستضافين مثل Claude أو ChatGPT الاتصال دون أي تسجيل مسبق — انظر doc/api/mcp-oauth-as.md.
  • يعمل Nightingale بصفته خادم موارد (resource server) لمزوّد الهوية المؤسسي الحالي لديك (Keycloak, Entra ID, Okta, Auth0)، بحيث يربط كل رمز بمستخدمه المحلي، فتبقى الصلاحيات والتدقيق لكل شخص على حدة — انظر doc/api/a2a-oauth-rs.md.

إلى جانب MCP، تعرّض العملية نفسها نقطة نهاية A2A عند /a2a تغلّف المساعد الذكي المدمج في Nightingale للتكامل بين الوكلاء (agent-to-agent) (doc/api/a2a.md). وإذا كنت تفضّل تشغيل MCP كعملية منفصلة تتصل بـ Nightingale عن بُعد، فإن n9e-mcp-server المستقل يوفّر الأدوات نفسها.

🔕 تقليل ضجيج التنبيهات والتصعيد والتعاون

يركّز Nightingale على كونه محرك تنبيه، مسؤولًا عن توليد الإنذارات وتوزيعها بمرونة وفق القواعد. وهو يدعم 20 وسيلة إشعار مدمجة (مثل المكالمات الهاتفية والرسائل النصية القصيرة والبريد الإلكتروني وDingTalk وSlack وغيرها).

إذا كانت لديك متطلبات أكثر تقدمًا، مثل:

  • الرغبة في دمج الأحداث من أنظمة مراقبة متعددة في منصة واحدة لتقليل الضجيج بشكل موحّد، ومعالجة الاستجابة، وتحليل البيانات.
  • الرغبة في دعم جدولة الأفراد، وممارسة ثقافة المناوبة (on-call)، ودعم تصعيد التنبيهات (لتجنّب تفويتها) والمعالجة التعاونية.

فإن Nightingale ليس مناسبًا. يُنصح باختيار منتجات المناوبة مثل PagerDuty وFlashDuty. هذه المنتجات بسيطة وسهلة الاستخدام.

🗨️ قنوات التواصل

🔑 الميزات الرئيسية

قواعد التنبيه في Nightingale

  • يدعم Nightingale قواعد التنبيه وقواعد الكتم (mute) وقواعد الاشتراك وقواعد الإشعار. وهو يدعم أصلًا 20 نوعًا من وسائط الإشعار، ويتيح تخصيص قوالب الرسائل.
  • يدعم خطوط معالجة الأحداث (event pipelines) لمعالجة الإنذارات عبر Pipeline، مما يسهّل التكامل الآلي مع الأنظمة الداخلية. على سبيل المثال، يمكنه إلحاق بيانات وصفية (metadata) بالإنذارات أو إجراء إعادة توسيم (relabeling) للأحداث.
  • يقدّم مفهوم مجموعات الأعمال (business groups) ونظام صلاحيات لإدارة القواعد المختلفة بطريقة مصنّفة.
  • تأتي العديد من قواعد البيانات والبرمجيات الوسيطة مع قواعد تنبيه مدمجة يمكن استيرادها واستخدامها مباشرة. كما يدعم الاستيراد المباشر لقواعد تنبيه Prometheus.
  • يدعم الشفاء الذاتي للتنبيهات، والذي يشغّل تلقائيًا برنامجًا نصيًا لتنفيذ منطق محدد مسبقًا بعد توليد الإنذار — مثل تنظيف مساحة القرص أو التقاط حالة النظام الحالية.

لوحة إنذارات Nightingale

  • يؤرشف Nightingale الإنذارات التاريخية ويدعم الاستعلام والإحصاءات متعددة الأبعاد.
  • يدعم التجميع المرن للإنذارات، مما يتيح رؤية واضحة لتوزيع الإنذارات عبر الشركة.

مركز تكامل Nightingale

  • يضم Nightingale أوصاف قياسات ولوحات معلومات وقواعد تنبيه مدمجة لأنظمة التشغيل والبرمجيات الوسيطة وقواعد البيانات الشائعة، وهي مساهمات من المجتمع بجودات متفاوتة.
  • يستقبل البيانات مباشرة عبر بروتوكولات متعددة مثل Remote Write وOpenTSDB وDatadog وFalcon، ويتكامل مع عملاء (Agents) متنوعين.
  • يدعم مصادر بيانات مثل Prometheus وElasticSearch وLoki وClickHouse وMySQL وPostgres، مما يتيح التنبيه بناءً على البيانات الواردة من هذه المصادر.
  • يمكن تضمين Nightingale بسهولة في الأنظمة الداخلية للمؤسسات (مثل Grafana وCMDB)، بل ويدعم أيضًا إعداد رؤية القوائم لهذه الأنظمة المضمّنة.

لوحات Nightingale

  • يدعم Nightingale وظيفة لوحات المعلومات، بما في ذلك أنواع الرسوم البيانية الشائعة، ويأتي مع لوحات جاهزة مسبقًا. الصورة أعلاه لقطة شاشة لإحدى هذه اللوحات.
  • إذا كنت معتادًا بالفعل على Grafana، يُنصح بمواصلة استخدام Grafana للتصوير المرئي، إذ يتمتع Grafana بخبرة أعمق في هذا المجال.
  • بالنسبة لبيانات مراقبة الآلات التي يجمعها Categraf، يُفضَّل استخدام لوحات Nightingale المدمجة للعرض. وذلك لأن تسمية القياسات في Categraf تتبع اصطلاح Telegraf، والذي يختلف عن اصطلاح Node Exporter.
  • نظرًا لمفهوم مجموعات الأعمال في Nightingale (حيث يمكن أن تنتمي الآلات إلى مجموعات مختلفة)، قد تكون هناك سيناريوهات تريد فيها فقط عرض الآلات ضمن مجموعة الأعمال الحالية على اللوحة. لذلك، يمكن ربط لوحات Nightingale بمجموعات الأعمال للتصفية التفاعلية.

🌟 النجوم عبر الزمن

النجوم عبر الزمن

🔥 المستخدمون

شعارات المستخدمين

🤝 البناء المجتمعي المشترك

  • ❇️ يرجى قراءة مسودة حوكمة مشروع Nightingale مفتوح المصدر والمجتمع. نرحّب بصدق بكل مستخدم ومطوّر وشركة ومؤسسة لاستخدام Nightingale، والإبلاغ النشط عن الأخطاء، وتقديم طلبات الميزات، ومشاركة أفضل الممارسات، والمساهمة في بناء مجتمع مفتوح المصدر مهني ونشط.
  • ❤️ مساهمو Nightingale

📜 الترخيص

الفئات