Inference Server Telemetry
Prometheus metrics और Docker container statistics के साथ स्व-होस्टेड Roboflow Inference server को मॉनिटर करें।
अंतिम अपडेट
क्या यह उपयोगी था?
Prometheus metrics और Docker container statistics के साथ स्व-होस्टेड Roboflow Inference server को मॉनिटर करें।
सर्विस टेलीमेट्री सिस्टम की सेहत, प्रदर्शन और उपयोग पर रीयल-टाइम डेटा प्रदान करती है। यह सक्षम बनाती है:
निगरानी और निदान: समस्याओं का जल्दी पता लगाकर त्वरित समाधान।
प्रदर्शन अनुकूलन: दक्षता में सुधार के लिए बाधाओं की पहचान करना।
उपयोग संबंधी अंतर्दृष्टि: सुधारों का मार्गदर्शन करने के लिए उपयोगकर्ता व्यवहार को समझना।
सुरक्षा: संदिग्ध गतिविधि का पता लगाना और अनुपालन सुनिश्चित करना।
स्केलेबिलिटी: संसाधन मांगों का पूर्वानुमान लगाना और उनका प्रबंधन करना।
Inference सर्वर टेलीमेट्री के दो स्रोत प्रदान करता है:
Prometheus मीट्रिक्स
Docker daemon द्वारा प्रदान किए गए Docker कंटेनर मीट्रिक्स
मीट्रिक्स सक्षम करने के लिए, पर्यावरण चर सेट करें ENABLE_PROMETHEUS=True अपने कंटेनर पर:
docker run -p 9001:9001 -e ENABLE_PROMETHEUS=True roboflow/roboflow-inference-server-cpuफिर इसका उपयोग करें GET /metrics एंडपॉइंट को Python में मीट्रिक्स प्राप्त करने के लिए:
import requests
result = requests.get("http://127.0.0.1:9001/metrics")
result.raise_for_status()
print(result.text)या curl के साथ:
/metrics यह उन एंडपॉइंट्स में से एक है जो तब भी बिना प्रमाणीकरण के रहता है जब API-key प्रमाणीकरण सक्षम हो, इसलिए यदि मीट्रिक्स संवेदनशील हों तो सर्वर तक नेटवर्क पहुँच सीमित करें।
संभावित सुरक्षा समस्या। यह सुविधा कंटेनर के अंदर Docker daemon socket को एक्सपोज़ करने पर निर्भर करती है। इससे supervisor service की आवश्यकता बिना कंटेनर संसाधन उपयोग मीट्रिक्स उपलब्ध हो जाते हैं, लेकिन इसे सुरक्षा उल्लंघन माना जा सकता है। यह डिफ़ॉल्ट रूप से अक्षम है। इसे सक्षम करने से पहले संभावित सुरक्षा जोखिमों को स्वीकार करें।
कंटेनर मीट्रिक्स एक्सपोज़ करने के लिए, Inference सर्वर कंटेनर को Docker socket माउंट करके चलाएँ:
यह -v लाइन माउंट करता है आपके होस्ट से Docker daemon socket (आमतौर पर /var/run/docker.sock, लेकिन अपना सेटअप सत्यापित करें) को कंटेनर में, यहाँ भी /var/run/docker.sock.
यह -e लाइन सेट करती है DOCKER_SOCKET_PATH को Docker daemon socket के स्थान पर कंटेनर के अंदर, जो ऊपर दिए गए माउंट से मेल खाता है।
इसके बाद आप GET /device/stats एंडपॉइंट को curl से एक्सेस कर सकते हैं:
या Python के साथ:
डिप्लॉयमेंट्स के across prediction-level monitoring (होस्ट टेलीमेट्री के बजाय) के लिए, देखें मॉडल निगरानी. इसे self-hosted सर्वर पर निम्न के साथ नियंत्रित किया जाता है METRICS_ENABLED और MODEL_MONITORING_CACHE_BACKEND पर्यावरण चर.
अंतिम अपडेट
क्या यह उपयोगी था?
क्या यह उपयोगी था?
curl http://127.0.0.1:9001/metricsdocker run -p 9001:9001 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DOCKER_SOCKET_PATH=/var/run/docker.sock \
roboflow/roboflow-inference-server-cpucurl http://127.0.0.1:9001/device/statsimport requests
result = requests.get("http://127.0.0.1:9001/device/stats")
result.raise_for_status()
print(result.json())