diagnostics-prometheus Plugin के माध्यम से निदान मेट्रिक्स उपलब्ध करा सकता है। यह विश्वसनीय निदान के साथ-साथ
आंतरिक रूप से टैग किए गए, डिस्पैचर-स्वामित्व वाले निदान इवेंट (क्यू, मेमोरी और
सत्र-पुनर्प्राप्ति संकेत) सुनता है और यहाँ Prometheus टेक्स्ट एंडपॉइंट प्रस्तुत करता है:
text/plain; version=0.0.4; charset=utf-8, मानक
Prometheus एक्सपोज़िशन फ़ॉर्मेट है।
ट्रेस, लॉग, OTLP पुश और OpenTelemetry GenAI सिमैंटिक एट्रिब्यूट के लिए, OpenTelemetry एक्सपोर्ट देखें।
त्वरित शुरुआत
1
Plugin इंस्टॉल करें
2
Plugin सक्षम करें
- कॉन्फ़िगरेशन
- CLI
3
Gateway पुनः आरंभ करें
HTTP रूट Plugin के आरंभ होने पर पंजीकृत होता है, इसलिए इसे सक्षम करने के बाद पुनः लोड करें।
4
संरक्षित रूट स्क्रैप करें
वही Gateway प्रमाणीकरण भेजें जिसका उपयोग आपके ऑपरेटर क्लाइंट करते हैं:
5
Prometheus कनेक्ट करें
diagnostics.enabled का डिफ़ॉल्ट मान true है; इसे केवल अत्यधिक नियंत्रित परिवेशों में false पर सेट करें। यदि यह false है, तो Plugin फिर भी HTTP रूट पंजीकृत करता है, लेकिन एक्सपोर्टर में कोई निदान इवेंट प्रवाहित नहीं होता, इसलिए प्रतिक्रिया खाली होती है।एक्सपोर्ट किए गए मेट्रिक्स
मॉडल-कॉल मेट्रिक्स के लिए,
observation_unit="request" एक अवलोकनीय
प्रदाता अनुरोध मापता है। observation_unit="turn" एक सिंथेटिक Claude Code
या Codex CLI एजेंट टर्न मापता है, जिसमें कई छिपे हुए प्रदाता अनुरोध हो सकते हैं।
लेटेंसी की तुलना करते समय इन शृंखलाओं को अलग रखें।
लेबल नीति
सीमित, कम-कार्डिनैलिटी वाले लेबल
सीमित, कम-कार्डिनैलिटी वाले लेबल
Prometheus लेबल सीमित और कम-कार्डिनैलिटी वाले रहते हैं। एक्सपोर्टर
runId, sessionKey, sessionId, callId, toolCallId, संदेश ID, चैट ID या प्रदाता अनुरोध ID जैसे अपरिष्कृत डायग्नोस्टिक पहचानकर्ता उत्सर्जित नहीं करता।लेबल मानों से संवेदनशील जानकारी हटा दी जाती है और उनका OpenClaw की कम-कार्डिनैलिटी वर्ण नीति से मेल खाना आवश्यक है। नीति में विफल मानों को मेट्रिक के आधार पर unknown, other या none से बदल दिया जाता है। स्कोप किए गए एजेंट सत्र कुंजियों जैसे दिखने वाले लेबल भी unknown से बदल दिए जाते हैं।शृंखला सीमा और ओवरफ़्लो लेखांकन
शृंखला सीमा और ओवरफ़्लो लेखांकन
एक्सपोर्टर काउंटर, गेज और हिस्टोग्राम को मिलाकर मेमोरी में रखी गई समय शृंखलाओं की सीमा 2048 शृंखलाओं पर निर्धारित करता है। इस सीमा से आगे की नई शृंखलाएँ छोड़ दी जाती हैं और हर बार
openclaw_prometheus_series_dropped_total में एक की वृद्धि होती है।इस काउंटर को इस स्पष्ट संकेत के रूप में देखें कि अपस्ट्रीम का कोई एट्रिब्यूट उच्च-कार्डिनैलिटी वाले मान लीक कर रहा है। एक्सपोर्टर कभी भी सीमा को अपने-आप नहीं बढ़ाता; यदि यह काउंटर बढ़ता है, तो सीमा अक्षम करने के बजाय स्रोत को ठीक करें।Prometheus आउटपुट में क्या कभी दिखाई नहीं देता
Prometheus आउटपुट में क्या कभी दिखाई नहीं देता
- प्रॉम्प्ट टेक्स्ट, प्रतिक्रिया टेक्स्ट, टूल इनपुट, टूल आउटपुट, सिस्टम प्रॉम्प्ट
- Talk ट्रांसक्रिप्ट, ऑडियो पेलोड, कॉल ID, रूम ID, हैंडऑफ़ टोकन, टर्न ID और अपरिष्कृत सत्र ID
- अपरिष्कृत प्रदाता अनुरोध ID (केवल सीमित हैश, जहाँ लागू हों, स्पैन पर — मेट्रिक्स पर कभी नहीं)
- सत्र कुंजियाँ और सत्र ID
- होस्टनेम, फ़ाइल पथ, गुप्त मान
PromQL विधियाँ
Prometheus और OpenTelemetry एक्सपोर्ट के बीच चयन
OpenClaw दोनों सतहों का स्वतंत्र रूप से समर्थन करता है। आप किसी एक को, दोनों को या किसी को भी नहीं चला सकते हैं।- diagnostics-prometheus
- diagnostics-otel
- पुल मॉडल: Prometheus
/api/diagnostics/prometheusको स्क्रैप करता है। - किसी बाहरी कलेक्टर की आवश्यकता नहीं है।
- सामान्य Gateway प्रमाणीकरण के माध्यम से प्रमाणित।
- इस सतह पर केवल मेट्रिक्स उपलब्ध हैं (ट्रेस या लॉग नहीं)।
- उन स्टैक के लिए सर्वोत्तम, जो पहले से Prometheus + Grafana पर मानकीकृत हैं।
समस्या निवारण
खाली प्रतिक्रिया बॉडी
खाली प्रतिक्रिया बॉडी
- जाँचें कि कॉन्फ़िगरेशन में
diagnostics.enabled,falseपर सेट न हो (इसका डिफ़ॉल्टtrueहै)। - पुष्टि करें कि Plugin सक्षम है और
openclaw plugins list --enabledके साथ लोड हुआ है। - कुछ ट्रैफ़िक उत्पन्न करें; काउंटर और हिस्टोग्राम कम-से-कम एक घटना के बाद ही पंक्तियाँ उत्सर्जित करते हैं।
401 / अनधिकृत
401 / अनधिकृत
एंडपॉइंट को Gateway ऑपरेटर स्कोप (
auth: "gateway" के साथ gatewayRuntimeScopeSurface: "trusted-operator") की आवश्यकता होती है। वही टोकन या पासवर्ड उपयोग करें जिसका उपयोग Prometheus किसी अन्य Gateway ऑपरेटर रूट के लिए करता है। कोई सार्वजनिक अप्रमाणित मोड नहीं है।`openclaw_prometheus_series_dropped_total` बढ़ रहा है
`openclaw_prometheus_series_dropped_total` बढ़ रहा है
कोई नया एट्रिब्यूट 2048-शृंखला सीमा पार कर रहा है। हाल के मेट्रिक्स में अप्रत्याशित रूप से उच्च-कार्डिनैलिटी वाले लेबल की जाँच करें और उसे स्रोत पर ठीक करें। एक्सपोर्टर लेबल को चुपचाप फिर से लिखने के बजाय जानबूझकर नई शृंखलाएँ छोड़ता है।
पुनः आरंभ के बाद Prometheus पुरानी शृंखलाएँ दिखाता है
पुनः आरंभ के बाद Prometheus पुरानी शृंखलाएँ दिखाता है
Plugin केवल मेमोरी में स्थिति बनाए रखता है। Gateway पुनः आरंभ होने के बाद काउंटर शून्य पर रीसेट हो जाते हैं और गेज अपने अगले रिपोर्ट किए गए मान से पुनः आरंभ होते हैं। रीसेट को सही ढंग से संभालने के लिए PromQL
rate() और increase() का उपयोग करें।संबंधित
- डायग्नोस्टिक एक्सपोर्ट — सहायता बंडल के लिए स्थानीय डायग्नोस्टिक zip
- स्वास्थ्य और तत्परता —
/healthzऔर/readyzप्रोब - लॉगिंग — फ़ाइल-आधारित लॉगिंग
- OpenTelemetry एक्सपोर्ट — ट्रेस, मेट्रिक्स और लॉग के लिए OTLP पुश