> 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/ja/self-hosted/inference-server/configuration/telemetry.md).

# Inference Server テレメトリ

Prometheus メトリクスと Docker コンテナ統計で self-hosted の Roboflow Inference サーバーを監視します。

サービスのテレメトリは、システムの健全性、パフォーマンス、使用状況に関するリアルタイムデータを提供します。これにより、次が可能になります。

* **監視と診断:** 問題を早期に検出し、迅速に解決できます。
* **パフォーマンスの最適化:** 効率を改善するためにボトルネックを特定します。
* **使用状況の把握:** ユーザーの行動を理解して改善の指針にします。
* **セキュリティ:** 不審なアクティビティを検出し、コンプライアンスを確保します。
* **スケーラビリティ:** リソース需要を予測し、管理します。

Inferenceサーバーは、2つのテレメトリソースを公開します。

* [Prometheus](https://prometheus.io/) メトリクス
* Dockerデーモンによって提供される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キー認証](/deployment/ja/self-hosted/inference-server/configuration/security.md#enforce-authentication) が有効でも認証不要のまま残るエンドポイントの1つです。したがって、メトリクスが機密性の高いものである場合は、サーバーへのネットワークアクセスを制限してください。
{% endhint %}

## Dockerコンテナのメトリクス

{% hint style="warning" %}
**セキュリティ上の潜在的な問題。** この機能は、コンテナ内でDockerデーモンのソケットを公開することに依存しています。これにより、監督サービスを必要とせずにコンテナのリソース使用状況メトリクスを公開できますが、セキュリティ違反と見なされる可能性があります。デフォルトでは無効です。 [潜在的なセキュリティリスク](https://www.lvh.io/posts/dont-expose-the-docker-socket-not-even-to-a-container/) を有効化する前に理解してください。
{% endhint %}

コンテナメトリクスを公開するには、DockerソケットをマウントしてInferenceサーバーコンテナを実行します:

```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
```

* この `-v` 行 **マウント** ホスト上のDockerデーモンソケットを（通常は `/var/run/docker.sock`ですが、設定を確認してください）コンテナ内に、ここでも `/var/run/docker.sock`.
* この `-e` 行は `DOCKER_SOCKET_PATH` をDockerデーモンソケットの場所に設定します **コンテナ内の**、上記のマウントと対応します。

その後、 `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())
```

## モデルレベルの監視

デプロイ全体にわたる予測レベルの監視（ホストのテレメトリではなく）については、 [モデル監視](/deployment/ja/to/model-monitoring.md)を参照してください。これは、セルフホスト型サーバー上で `METRICS_ENABLED` と `MODEL_MONITORING_CACHE_BACKEND` [環境変数によって制御されます](/deployment/ja/self-hosted/inference-server/configuration/environment-variables.md#monitoring-and-telemetry).
