Skip to main content
OpenClaw आधिकारिक diagnostics-prometheus Plugin के माध्यम से निदान मेट्रिक्स उपलब्ध करा सकता है। यह विश्वसनीय निदान के साथ-साथ आंतरिक रूप से टैग किए गए, डिस्पैचर-स्वामित्व वाले निदान इवेंट (क्यू, मेमोरी और सत्र-पुनर्प्राप्ति संकेत) सुनता है और यहाँ Prometheus टेक्स्ट एंडपॉइंट प्रस्तुत करता है:
कंटेंट टाइप text/plain; version=0.0.4; charset=utf-8, मानक Prometheus एक्सपोज़िशन फ़ॉर्मेट है।
यह रूट Gateway प्रमाणीकरण (ऑपरेटर स्कोप, विश्वसनीय-ऑपरेटर सतह) का उपयोग करता है। इसे सार्वजनिक, अप्रमाणित /metrics एंडपॉइंट के रूप में उपलब्ध न कराएँ। इसे उसी प्रमाणीकरण पथ से स्क्रैप करें जिसका उपयोग आप अन्य ऑपरेटर API के लिए करते हैं।
ट्रेस, लॉग, OTLP पुश और OpenTelemetry GenAI सिमैंटिक एट्रिब्यूट के लिए, OpenTelemetry एक्सपोर्ट देखें।

त्वरित शुरुआत

1

Plugin इंस्टॉल करें

2

Plugin सक्षम करें

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 में एक की वृद्धि होती है।इस काउंटर को इस स्पष्ट संकेत के रूप में देखें कि अपस्ट्रीम का कोई एट्रिब्यूट उच्च-कार्डिनैलिटी वाले मान लीक कर रहा है। एक्सपोर्टर कभी भी सीमा को अपने-आप नहीं बढ़ाता; यदि यह काउंटर बढ़ता है, तो सीमा अक्षम करने के बजाय स्रोत को ठीक करें।
  • प्रॉम्प्ट टेक्स्ट, प्रतिक्रिया टेक्स्ट, टूल इनपुट, टूल आउटपुट, सिस्टम प्रॉम्प्ट
  • Talk ट्रांसक्रिप्ट, ऑडियो पेलोड, कॉल ID, रूम ID, हैंडऑफ़ टोकन, टर्न ID और अपरिष्कृत सत्र ID
  • अपरिष्कृत प्रदाता अनुरोध ID (केवल सीमित हैश, जहाँ लागू हों, स्पैन पर — मेट्रिक्स पर कभी नहीं)
  • सत्र कुंजियाँ और सत्र ID
  • होस्टनेम, फ़ाइल पथ, गुप्त मान

PromQL विधियाँ

अलग-अलग प्रदाताओं वाले डैशबोर्ड के लिए gen_ai_client_token_usage को प्राथमिकता दें: यह OpenTelemetry GenAI सिमेंटिक कन्वेंशन का पालन करता है और गैर-OpenClaw GenAI सेवाओं के मेट्रिक्स के अनुरूप है।

Prometheus और OpenTelemetry एक्सपोर्ट के बीच चयन

OpenClaw दोनों सतहों का स्वतंत्र रूप से समर्थन करता है। आप किसी एक को, दोनों को या किसी को भी नहीं चला सकते हैं।
  • पुल मॉडल: Prometheus /api/diagnostics/prometheus को स्क्रैप करता है।
  • किसी बाहरी कलेक्टर की आवश्यकता नहीं है।
  • सामान्य Gateway प्रमाणीकरण के माध्यम से प्रमाणित।
  • इस सतह पर केवल मेट्रिक्स उपलब्ध हैं (ट्रेस या लॉग नहीं)।
  • उन स्टैक के लिए सर्वोत्तम, जो पहले से Prometheus + Grafana पर मानकीकृत हैं।

समस्या निवारण

  • जाँचें कि कॉन्फ़िगरेशन में diagnostics.enabled, false पर सेट न हो (इसका डिफ़ॉल्ट true है)।
  • पुष्टि करें कि Plugin सक्षम है और openclaw plugins list --enabled के साथ लोड हुआ है।
  • कुछ ट्रैफ़िक उत्पन्न करें; काउंटर और हिस्टोग्राम कम-से-कम एक घटना के बाद ही पंक्तियाँ उत्सर्जित करते हैं।
एंडपॉइंट को Gateway ऑपरेटर स्कोप (auth: "gateway" के साथ gatewayRuntimeScopeSurface: "trusted-operator") की आवश्यकता होती है। वही टोकन या पासवर्ड उपयोग करें जिसका उपयोग Prometheus किसी अन्य Gateway ऑपरेटर रूट के लिए करता है। कोई सार्वजनिक अप्रमाणित मोड नहीं है।
कोई नया एट्रिब्यूट 2048-शृंखला सीमा पार कर रहा है। हाल के मेट्रिक्स में अप्रत्याशित रूप से उच्च-कार्डिनैलिटी वाले लेबल की जाँच करें और उसे स्रोत पर ठीक करें। एक्सपोर्टर लेबल को चुपचाप फिर से लिखने के बजाय जानबूझकर नई शृंखलाएँ छोड़ता है।
Plugin केवल मेमोरी में स्थिति बनाए रखता है। Gateway पुनः आरंभ होने के बाद काउंटर शून्य पर रीसेट हो जाते हैं और गेज अपने अगले रिपोर्ट किए गए मान से पुनः आरंभ होते हैं। रीसेट को सही ढंग से संभालने के लिए PromQL rate() और increase() का उपयोग करें।

संबंधित