Esc to close · ⌘K / Ctrl-K opens search anywhere
निगरानी एक collection को एक देखी गई रूटिंग चेन में बदल देती है। जब किसी collection की निगरानी की जाती है, तो गेटवे एक शेड्यूल पर हर स्टेप के विरुद्ध एक छोटा सर्वर-साइडcanary चलाता है — लगभग हर 5 मिनट में — और रिकॉर्ड करता है कि प्रत्येक स्टेप चालू है या नहीं और उसने कितनी जल्दी जवाब दिया। यह इतिहास collection पेज पर दिखाए गए प्रति-स्टेप uptime और latency को संचालित करता है, और आपके द्वारा कॉन्फ़िगर किए गए अलर्ट थ्रेशोल्ड को फीड करता है।
बीटा के दौरान निःशुल्क। Canaries गेटवे-आंतरिक रूप से चलते हैं — प्रति स्टेप एक सिंगल वन-टोकन ping — और आपके वॉलेट से कभी डेबिट नहीं करते।
अपने स्वामित्व वाली किसी collection (owner/admin) के लिए निगरानी टॉगल करें। पहला canary तुरंत चलता है ताकि पेज खाली न हो; निर्धारित जांच इसके बाद जारी रहती हैं।
POST /me/collections/:slug/monitor
{ "monitored": true } // omit or false to turn off
→ { "ok": true, "monitored": true,
"note": "Monitoring on — first canary running now; scheduled checks follow." }प्रत्येक canary वही रूट चुनता है जो एक वास्तविक रिक्वेस्ट चुनती और स्टेप के model/provider को एक वन-टोकन pingभेजता है, जो up/down और latency को रिकॉर्ड करता है। GET /me/collections/:slug/healthप्रति स्टेप, एक विंडो (डिफ़ॉल्ट 7 दिन; ?days= 1–90) पर uptime और p95 latencyऔर अंतिम canary समय लौटाता है। कोई भी सदस्य इसे पढ़ सकता है।
GET /me/collections/india-first-llama/health?days=7
→ { "monitored": true,
"health": [
{ "model": "llama-3.1-8b-instruct", "provider": "bharatrouter",
"uptime": 0.998, "p95_ms": 820, "checks": 2014,
"last_check": "2026-06-15T09:35:00Z" },
{ "model": "llama-3.1-8b-instruct", "provider": "krutrim",
"uptime": 1.0, "p95_ms": 540, "checks": 2014, "last_check": "..." }
] }uptime एक अंश 0–1 है (सफल canaries ÷ कुल) और p95_ms विंडो पर 95वें-प्रतिशत की latency; दोनों पहली जांच आने तक null रहते हैं।POST /me/collections/:slug/check के साथ ऑन-डिमांड जांच चलाएँ, जो अब हर स्टेप को canary करता है, अलर्ट का मूल्यांकन करता है, और ताज़ा स्वास्थ्य लौटाता है।
कोई मीट्रिक हाल की विंडो में आपके थ्रेशोल्ड को पार करने पर एक अलर्ट ट्रिगर होता है। उल्लंघन पर BharatRouter एक email भेजता है और/या एक webhook POST करता है, फिर उस अलर्ट के लिए 24 घंटे तक शांत रहता है (dedupe)। Owners/admins अलर्ट प्रबंधित करते हैं; आपको notify_email और/या webhook_url प्रदान करना होगा।
| मीट्रिक | थ्रेशोल्ड | कब ट्रिगर होता है |
|---|---|---|
error_rate | अंश 0–1 | विंडो पर विफल canaries ÷ कुल ≥ थ्रेशोल्ड। |
latency_p95 | ms | विंडो पर p95 latency ≥ थ्रेशोल्ड। |
POST /me/collections/:slug/alerts
{
"metric": "error_rate", // or "latency_p95"
"threshold": 0.1, // error_rate: 0–1 | latency_p95: ms
"window_min": 60, // window in minutes, 5–1440 (default 60)
"notify_email": "[email protected]",
"webhook_url": "https://hooks.acme.in/br" // optional, public http(s) only
}
→ { "ok": true, "alert": { "id": 3, "metric": "error_rate", "threshold": 0.1,
"window_min": 60, "notify_email": "[email protected]", "webhook_url": null } }webhook_url एक सार्वजनिक http(s) एंडपॉइंट होना चाहिए — वही SSRF गार्ड जो BYOE में है, loopback, निजी और क्लस्टर-आंतरिक होस्ट को अस्वीकार करता है। उल्लंघन पर गेटवे एक कॉम्पैक्ट JSON इवेंट POST करता है जिसे आप Slack, Discord या किसी कस्टम इनजेस्ट पर रूट कर सकते हैं:
POST <your webhook> Content-Type: application/json
{ "event": "alert", "collection": "india-first-llama", "name": "India-first Llama",
"metric": "error_rate", "threshold": 0.1,
"breach": "error rate 22% ≥ 10% (last 60m)",
"at": "2026-06-15T09:40:00Z",
"text": "⚠ BharatRouter: \"India-first Llama\" — error rate 22% ≥ 10% (last 60m)" }| एंडपॉइंट | यह क्या करता है |
|---|---|
GET /me/collections/:slug/alerts | collection के अलर्ट सूचीबद्ध करें। |
POST /me/collections/:slug/alerts | एक अलर्ट बनाएँ (owner/admin)। |
DELETE /me/collections/:slug/alerts/:id | एक अलर्ट हटाएँ (owner/admin)। |
यही सतह एजेंट्स के लिए MCP पर उपलब्ध है:
| टूल | यह क्या करता है |
|---|---|
get_collection_health | प्रति-स्टेप 7-दिन का uptime, p95 latency और अंतिम-canary समय (केवल-पढ़ने योग्य)। |
set_monitoring | निगरानी चालू/बंद करें (लिखें — user_confirmed: true)। |
run_monitor_check | अब हर स्टेप को canary करें और ताज़ा स्वास्थ्य लौटाएँ (लिखें — user_confirmed: true)। |
set_monitor_alert | error_rate या latency_p95 पर एक अलर्ट जोड़ें (लिखें — user_confirmed: true)। |
remove_monitor_alert | id द्वारा एक अलर्ट हटाएँ (लिखें — user_confirmed: true)। |