> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/hi/self-hosted/inference-server/configuration/telemetry.md).

# Inference Server Telemetry

Prometheus metrics और Docker container statistics के साथ एक self-hosted Roboflow Inference server की निगरानी करें।

सेवा टेलीमेट्री सिस्टम की सेहत, प्रदर्शन और उपयोग पर रीयल-टाइम डेटा प्रदान करती है। यह सक्षम बनाती है:

* **निगरानी और निदान:** समस्याओं का शीघ्र पता लगाकर त्वरित समाधान।
* **प्रदर्शन अनुकूलन:** दक्षता सुधारने के लिए बाधाओं की पहचान।
* **उपयोग संबंधी अंतर्दृष्टि:** सुधारों का मार्गदर्शन करने के लिए उपयोगकर्ता व्यवहार को समझना।
* **सुरक्षा:** संदिग्ध गतिविधि का पता लगाना और अनुपालन सुनिश्चित करना।
* **स्केलेबिलिटी:** संसाधन मांगों का पूर्वानुमान और प्रबंधन।

Inference server टेलीमेट्री के दो स्रोत उपलब्ध कराता है:

* [Prometheus](https://prometheus.io/) मेट्रिक्स
* Docker daemon द्वारा प्रदान किए गए Docker कंटेनर मेट्रिक्स

## Prometheus मेट्रिक्स

मेट्रिक्स सक्षम करने के लिए, वातावरण चर सेट करें `ENABLE_PROMETHEUS=True` अपने कंटेनर में:

```bash
docker run -p 127.0.0.1:9001:9001 -e ENABLE_PROMETHEUS=True roboflow/roboflow-inference-server-cpu
```

फिर `GET /metrics` एंडपॉइंट का उपयोग करके Python में मेट्रिक्स प्राप्त करें:

```python
import requests

result = requests.get("http://127.0.0.1:9001/metrics")
result.raise_for_status()

print(result.text)
```

या curl के साथ:

```bash
curl http://127.0.0.1:9001/metrics
```

{% hint style="info" %}
`/metrics` उन एंडपॉइंट्स में से एक है जो तब भी अनधिकृत रहता है जब [API-key प्रमाणीकरण](/deployment/hi/self-hosted/inference-server/configuration/security.md#enforce-authentication) सक्षम हो, इसलिए यदि मेट्रिक्स संवेदनशील हों तो सर्वर तक नेटवर्क पहुंच सीमित करें।
{% endhint %}

## Docker कंटेनर मेट्रिक्स

{% hint style="warning" %}
**संभावित सुरक्षा समस्या।** यह सुविधा कंटेनर के अंदर Docker daemon socket को एक्सपोज़ करने पर निर्भर करती है। इससे किसी supervisor सेवा की आवश्यकता के बिना कंटेनर संसाधन उपयोग मेट्रिक्स उपलब्ध हो जाते हैं, लेकिन इसे सुरक्षा उल्लंघन माना जा सकता है। यह डिफ़ॉल्ट रूप से अक्षम है। इसे सक्षम करने से पहले [संभावित सुरक्षा जोखिमों](https://www.lvh.io/posts/dont-expose-the-docker-socket-not-even-to-a-container/) को स्वीकार करें।
{% endhint %}

कंटेनर मेट्रिक्स एक्सपोज़ करने के लिए, Docker socket माउंट करके Inference server कंटेनर चलाएँ:

```bash
docker run -p 127.0.0.1:9001:9001 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DOCKER_SOCKET_PATH=/var/run/docker.sock \
  roboflow/roboflow-inference-server-cpu
```

* फ़्लैग यहाँ आवश्यक है: मशीन अभी गेटवे के प्रमाणपत्र पर भरोसा नहीं करती, और यही script इंस्टॉल करती है। इसे केवल उस नेटवर्क पथ पर चलाएँ जिसे आप नियंत्रित करते हैं, या script को स्वयं कॉपी करके पहले जाँचें। `-v` लाइन **माउंट करता है** अपने होस्ट से Docker daemon socket (आमतौर पर `/var/run/docker.sock`, लेकिन अपना सेटअप सत्यापित करें) को कंटेनर में, यहाँ भी `/var/run/docker.sock`.
* फ़्लैग यहाँ आवश्यक है: मशीन अभी गेटवे के प्रमाणपत्र पर भरोसा नहीं करती, और यही script इंस्टॉल करती है। इसे केवल उस नेटवर्क पथ पर चलाएँ जिसे आप नियंत्रित करते हैं, या script को स्वयं कॉपी करके पहले जाँचें। `-e` लाइन सेट करती है `DOCKER_SOCKET_PATH` को Docker daemon socket के स्थान पर **कंटेनर के अंदर**, ऊपर दिए गए माउंट से मेल खाता हुआ।

फिर आप `GET /device/stats` एंडपॉइंट तक curl के साथ पहुँच सकते हैं:

```bash
curl http://127.0.0.1:9001/device/stats
```

या Python के साथ:

```python
import requests

result = requests.get("http://127.0.0.1:9001/device/stats")
result.raise_for_status()

print(result.json())
```

## मॉडल-स्तरीय निगरानी

डिप्लॉयमेंट्स के बीच prediction-स्तरीय निगरानी के लिए (होस्ट टेलीमेट्री के बजाय), देखें [Model Monitoring](/deployment/hi/analytics/model-monitoring.md). यह self-hosted सर्वर पर नियंत्रित होता है `METRICS_ENABLED` और `MODEL_MONITORING_CACHE_BACKEND` [पर्यावरण चर](/deployment/hi/self-hosted/inference-server/configuration/environment-variables.md#monitoring-and-telemetry).
