
nightingale v9.1.0
समय-श्रृंखला निगरानी डेटा के लिए ओपन-सोर्स अलर्टिंग इंजन। Prometheus, VictoriaMetrics, ElasticSearch और अन्य डेटा स्रोतों से जुड़ता है। 20+ सूचना चैनल, अलर्ट शोर कमी, एस्केलेशन और स्व-उपचार स्वचालन का समर्थन करता है।
ओपन-सोर्स अलर्टिंग विशेषज्ञ
🎯 Nightingale क्या है
Nightingale एक ओपन-सोर्स मॉनिटरिंग प्रोजेक्ट है जो अलर्टिंग पर केंद्रित है। Grafana की तरह, Nightingale भी विभिन्न मौजूदा डेटा स्रोतों से जुड़ता है। हालाँकि, जहाँ Grafana विज़ुअलाइज़ेशन पर ज़ोर देता है, वहीं Nightingale अलर्टिंग इंजन के साथ-साथ अलार्म के प्रोसेसिंग और वितरण पर अधिक ज़ोर देता है।
💡 Nightingale अब बॉक्स से बाहर (out of the box) ही MCP बोलता है: सर्वर स्वयं
/mcpपर एक अंतर्निहित MCP एंडपॉइंट उजागर करता है, जिससे AI सहायक बिना किसी अतिरिक्त प्रक्रिया को डिप्लॉय किए प्राकृतिक भाषा में अलर्टिंग प्रबंधित कर सकते हैं और ऑब्ज़र्वेबिलिटी डेटा का अन्वेषण कर सकते हैं। नीचे MCP सर्वर देखें।Nightingale प्रोजेक्ट को प्रारंभ में DiDi.inc द्वारा विकसित और ओपन-सोर्स किया गया था। 11 मई, 2022 को इसे चाइना कंप्यूटर फेडरेशन की ओपन सोर्स डेवलपमेंट कमेटी (CCF ODTC) को दान कर दिया गया।

💡 Nightingale कैसे काम करता है
कई उपयोगकर्ता पहले से ही मेट्रिक्स और लॉग डेटा एकत्र कर चुके हैं। ऐसे में, आप अपने स्टोरेज रिपॉजिटरी (जैसे VictoriaMetrics, ElasticSearch, आदि) को Nightingale में डेटा स्रोतों के रूप में जोड़ सकते हैं। इससे आप Nightingale के भीतर अलर्टिंग नियम और नोटिफिकेशन नियम कॉन्फ़िगर कर सकते हैं, जिससे अलार्म का निर्माण और वितरण संभव होता है।

Nightingale स्वयं मॉनिटरिंग डेटा संग्रहण क्षमताएं प्रदान नहीं करता है। हम Categraf को कलेक्टर के रूप में उपयोग करने की अनुशंसा करते हैं, जो Nightingale के साथ सहज रूप से एकीकृत होता है।
Categraf ऑपरेटिंग सिस्टम, नेटवर्क डिवाइस, विभिन्न मिडलवेयर और डेटाबेस से मॉनिटरिंग डेटा एकत्र कर सकता है। यह इस डेटा को Prometheus Remote Write प्रोटोकॉल के माध्यम से Nightingale में भेजता है। फिर Nightingale मॉनिटरिंग डेटा को टाइम-सीरीज़ डेटाबेस (जैसे Prometheus, VictoriaMetrics, आदि) में संग्रहीत करता है और अलर्टिंग तथा विज़ुअलाइज़ेशन क्षमताएं प्रदान करता है।
केंद्रीय Nightingale सर्वर से खराब नेटवर्क कनेक्टिविटी वाले कुछ एज डेटा सेंटरों के लिए, हम अलर्टिंग इंजन के लिए एक वितरित डिप्लॉयमेंट मोड प्रदान करते हैं। इस मोड में, नेटवर्क डिस्कनेक्ट होने पर भी अलर्टिंग कार्यक्षमता प्रभावित नहीं होती।

उपरोक्त चित्र में, Data Center A का केंद्रीय डेटा सेंटर के साथ अच्छा नेटवर्क है, इसलिए यह केंद्रीय डेटा सेंटर में Nightingale प्रक्रिया को अलर्टिंग इंजन के रूप में उपयोग करता है। Data Center B का केंद्रीय डेटा सेंटर के साथ खराब नेटवर्क है, इसलिए यह अपने स्वयं के डेटा स्रोतों के लिए अलर्टिंग संभालने हेतु
n9e-edgeको अलर्टिंग इंजन के रूप में डिप्लॉय करता है।
🤖 MCP सर्वर
Nightingale में अंतर्निहित MCP सर्वर है: n9e प्रक्रिया स्वयं Streamable HTTP ट्रांसपोर्ट पर /mcp पर Model Context Protocol प्रदान करती है। कोई भी MCP क्लाइंट — Claude Code / Claude Desktop, Cursor, ChatGPT कनेक्टर, या आपका अपना एजेंट — बिना किसी अतिरिक्त प्रक्रिया को डिप्लॉय किए, प्राकृतिक भाषा में Nightingale को क्वेरी और प्रबंधित कर सकता है।
क्लाइंट कनेक्ट करना
एंडपॉइंट http(s)://<nightingale>:17000/mcp है — एक रूट पाथ, न कि /api/n9e के अंतर्गत। X-User-Token हेडर में भेजे गए पर्सनल एक्सेस टोकन से प्रमाणित करें (वेब UI में प्रोफ़ाइल → टोकन प्रबंधन के अंतर्गत एक बनाएं):
{
"mcpServers": {
"nightingale": {
"type": "http",
"url": "http://127.0.0.1:17000/mcp",
"headers": { "X-User-Token": "<your-token>" }
}
}
}
प्रत्येक टूल कॉल आपके टोकन को लेकर प्रक्रिया के भीतर Nightingale के स्वयं के HTTP API पर भेजी जाती है, इसलिए RBAC और व्यवसाय-समूह अनुमतियाँ ठीक वैसे ही लागू होती हैं जैसे वे UI में उस उपयोगकर्ता के लिए होती हैं — एक क्लाइंट कभी भी उस चीज़ तक नहीं पहुँच सकता जिस तक उसके टोकन का स्वामी नहीं पहुँच सकता।
टूल्स
13 टूलसेट्स में 74 बारीक-विभाजित टूल (42 रीड, 32 राइट): alerts, targets, datasource, mutes, busi_groups, notify_rules, alert_subscribes, event_pipelines, users, metrics, logs, dashboards, roles।
एंडपॉइंट डिफ़ॉल्ट रूप से रीड-ओनली है — राइट टूल (क्रिएट / अपडेट / डिलीट) एक स्पष्ट कॉन्फ़िग ऑप्ट-इन हैं।
कॉन्फ़िगरेशन
नीचे दी गई सभी चीज़ें वैकल्पिक हैं; /mcp बॉक्स से बाहर (out of the box) सक्षम है (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 Authorization: Bearer के माध्यम से OAuth एक्सेस टोकन भी स्वीकार करता है, दो रूपों में:
- Nightingale स्वयं ऑथोराइज़ेशन सर्वर के रूप में कार्य करता है, जिसमें RFC 7591 डायनामिक क्लाइंट रजिस्ट्रेशन और PKCE शामिल है, जिससे Claude या ChatGPT जैसे होस्टेड क्लाइंट बिना किसी पूर्व-पंजीकरण के कनेक्ट हो सकते हैं — doc/api/mcp-oauth-as.md देखें।
- Nightingale आपके मौजूदा एंटरप्राइज़ IdP (Keycloak, Entra ID, Okta, Auth0) के लिए रिसोर्स सर्वर के रूप में कार्य करता है, प्रत्येक टोकन को उसके स्थानीय उपयोगकर्ता से मैप करता है ताकि अनुमतियाँ और ऑडिट प्रति-व्यक्ति बनी रहें — doc/api/a2a-oauth-rs.md देखें।
MCP के साथ-साथ, यही प्रक्रिया /a2a पर एक A2A एंडपॉइंट भी उजागर करती है जो एजेंट-से-एजेंट एकीकरण के लिए Nightingale के अंतर्निहित AI असिस्टेंट को रैप करती है (doc/api/a2a.md)। यदि आप MCP को किसी दूरस्थ Nightingale के विरुद्ध एक अलग प्रक्रिया के रूप में चलाना चाहते हैं, तो स्टैंडअलोन n9e-mcp-server समान टूल प्रदान करता है।
🔕 अलर्ट शोर न्यूनीकरण, एस्केलेशन और सहयोग
Nightingale एक अलर्टिंग इंजन होने पर केंद्रित है, जो अलार्म उत्पन्न करने और नियमों के आधार पर उन्हें लचीले ढंग से वितरित करने के लिए ज़िम्मेदार है। यह 20 अंतर्निहित नोटिफिकेशन मीडिया (जैसे फोन कॉल, SMS, ईमेल, DingTalk, Slack, आदि) का समर्थन करता है।
यदि आपके पास अधिक उन्नत आवश्यकताएं हैं, जैसे:
- कई मॉनिटरिंग सिस्टमों के इवेंट्स को एकीकृत शोर न्यूनीकरण, प्रतिक्रिया प्रबंधन और डेटा विश्लेषण के लिए एक प्लेटफ़ॉर्म में समेकित करना चाहते हैं।
- कर्मियों की शेड्यूलिंग का समर्थन करना चाहते हैं, ऑन-कॉल संस्कृति का अभ्यास करना चाहते हैं, और अलर्ट एस्केलेशन (अलर्ट छूटने से बचने के लिए) तथा सहयोगात्मक प्रबंधन का समर्थन करना चाहते हैं।
तो Nightingale उपयुक्त नहीं है। यह अनुशंसा की जाती है कि आप PagerDuty और FlashDuty जैसे ऑन-कॉल उत्पाद चुनें। ये उत्पाद सरल और उपयोग में आसान हैं।
🗨️ संचार चैनल
- बग रिपोर्ट करें: Nightingale GitHub Issue ट्रैकर के माध्यम से इश्यू सबमिट करने की अत्यधिक अनुशंसा की जाती है।
- दस्तावेज़ीकरण: अधिक जानकारी के लिए, हम Nightingale दस्तावेज़ीकरण साइट को पूरी तरह से ब्राउज़ करने की अनुशंसा करते हैं।
🔑 मुख्य विशेषताएं

- Nightingale अलर्टिंग नियम, म्यूट नियम, सब्सक्रिप्शन नियम और नोटिफिकेशन नियमों का समर्थन करता है। यह मूल रूप से 20 प्रकार के नोटिफिकेशन मीडिया का समर्थन करता है और संदेश टेम्पलेट्स के अनुकूलन की अनुमति देता है।
- यह अलार्म के Pipeline प्रोसेसिंग के लिए इवेंट पाइपलाइनों का समर्थन करता है, जिससे आंतरिक सिस्टमों के साथ स्वचालित एकीकरण सुगम होता है। उदाहरण के लिए, यह अलार्म में मेटाडेटा जोड़ सकता है या इवेंट्स पर रिलेबलिंग कर सकता है।
- यह व्यवसाय समूहों की अवधारणा और एक अनुमति प्रणाली प्रस्तुत करता है ताकि विभिन्न नियमों को वर्गीकृत तरीके से प्रबंधित किया जा सके।
- कई डेटाबेस और मिडलवेयर अंतर्निहित अलर्ट नियमों के साथ आते हैं जिन्हें सीधे आयात और उपयोग किया जा सकता है। यह Prometheus अलर्टिंग नियमों के सीधे आयात का भी समर्थन करता है।
- यह अलर्टिंग सेल्फ-हीलिंग का समर्थन करता है, जो अलार्म उत्पन्न होने के बाद पूर्वनिर्धारित लॉजिक निष्पादित करने हेतु स्वचालित रूप से एक स्क्रिप्ट ट्रिगर करता है—जैसे डिस्क स्थान साफ करना या वर्तमान सिस्टम स्थिति कैप्चर करना।

- Nightingale ऐतिहासिक अलार्म संग्रहीत करता है और बहु-आयामी क्वेरी तथा सांख्यिकी का समर्थन करता है।
- यह लचीले एग्रीगेशन समूहन का समर्थन करता है, जिससे कंपनी भर में अलार्म के वितरण का स्पष्ट दृश्य प्राप्त होता है।

- Nightingale में सामान्य ऑपरेटिंग सिस्टम, मिडलवेयर और डेटाबेस के लिए अंतर्निहित मेट्रिक विवरण, डैशबोर्ड और अलर्टिंग नियम हैं, जो समुदाय द्वारा अलग-अलग गुणवत्ता के साथ योगदान किए गए हैं।
- यह Remote Write, OpenTSDB, Datadog और Falcon जैसे कई प्रोटोकॉल के माध्यम से सीधे डेटा प्राप्त करता है, और विभिन्न एजेंटों के साथ एकीकृत होता है।
- यह Prometheus, ElasticSearch, Loki, ClickHouse, MySQL, Postgres जैसे डेटा स्रोतों का समर्थन करता है, जिससे इन स्रोतों के डेटा के आधार पर अलर्टिंग संभव होती है।
- Nightingale को आंतरिक एंटरप्राइज़ सिस्टमों (जैसे Grafana, CMDB) में आसानी से एम्बेड किया जा सकता है, और यह इन एम्बेडेड सिस्टमों के लिए मेनू दृश्यता कॉन्फ़िगर करने का भी समर्थन करता है।

- Nightingale डैशबोर्ड कार्यक्षमता का समर्थन करता है, जिसमें सामान्य चार्ट प्रकार शामिल हैं, और पूर्व-निर्मित डैशबोर्ड के साथ आता है। उपरोक्त चित्र इन्हीं डैशबोर्ड में से एक का स्क्रीनशॉट है।
- यदि आप पहले से ही Grafana के आदी हैं, तो विज़ुअलाइज़ेशन के लिए Grafana का उपयोग जारी रखने की अनुशंसा की जाती है, क्योंकि Grafana को इस क्षेत्र में अधिक गहरी विशेषज्ञता प्राप्त है।
- Categraf द्वारा एकत्रित मशीन-संबंधित मॉनिटरिंग डेटा के लिए, देखने हेतु Nightingale के अंतर्निहित डैशबोर्ड का उपयोग करना उचित है। ऐसा इसलिए है क्योंकि Categraf की मेट्रिक नामकरण शैली Telegraf की परंपरा का पालन करती है, जो Node Exporter से भिन्न है।
- Nightingale की व्यवसाय समूहों की अवधारणा के कारण (जहाँ मशीनें विभिन्न समूहों से संबंधित हो सकती हैं), ऐसे परिदृश्य हो सकते हैं जहाँ आप डैशबोर्ड पर केवल वर्तमान व्यवसाय समूह की मशीनें देखना चाहते हैं। इस प्रकार, Nightingale के डैशबोर्ड को इंटरैक्टिव फ़िल्टरिंग के लिए व्यवसाय समूहों से जोड़ा जा सकता है।
🌟 समय के साथ स्टारगेज़र
🔥 उपयोगकर्ता

🤝 सामुदायिक सह-निर्माण
- ❇️ कृपया Nightingale ओपन सोर्स प्रोजेक्ट और सामुदायिक शासन मसौदा पढ़ें। हम हर उपयोगकर्ता, डेवलपर, कंपनी और संगठन का Nightingale का उपयोग करने, सक्रिय रूप से बग रिपोर्ट करने, फीचर अनुरोध सबमिट करने, सर्वोत्तम प्रथाओं को साझा करने और एक पेशेवर तथा सक्रिय ओपन-सोर्स समुदाय बनाने में मदद करने के लिए सहृदय स्वागत करते हैं।
- ❤️ Nightingale योगदानकर्ता
