> 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

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

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

Inference सर्वर टेलीमेट्री के दो स्रोत प्रदान करता है:

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

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

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

```bash
docker run -p 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#2-enforce-authentication) सक्षम हो, इसलिए यदि मीट्रिक्स संवेदनशील हों तो सर्वर तक नेटवर्क पहुँच सीमित करें।
{% endhint %}

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

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

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

```bash
docker 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-cpu
```

* यह `-v` लाइन **माउंट करता है** आपके होस्ट से Docker daemon socket (आमतौर पर `/var/run/docker.sock`, लेकिन अपना सेटअप सत्यापित करें) को कंटेनर में, यहाँ भी `/var/run/docker.sock`.
* यह `-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())
```

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

डिप्लॉयमेंट्स के across prediction-level monitoring (होस्ट टेलीमेट्री के बजाय) के लिए, देखें [मॉडल निगरानी](/deployment/hi/monitoring-and-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).
