Inference Server テレメトリー
Prometheus メトリクスと Docker コンテナー統計を使って、self-hosted の Roboflow Inference サーバーを監視します。
サービスのテレメトリは、システムの健全性、パフォーマンス、使用状況に関するリアルタイムデータを提供します。これにより、次が可能になります。
監視と診断: 問題を早期に検出し、迅速に解決できます。
パフォーマンスの最適化: 効率を改善するためにボトルネックを特定します。
使用状況の把握: ユーザーの行動を理解して改善の指針にします。
セキュリティ: 不審なアクティビティを検出し、コンプライアンスを確保します。
スケーラビリティ: リソース需要を予測し、管理します。
Inferenceサーバーは、2つのテレメトリソースを公開します。
Prometheus メトリクス
Dockerデーモンによって提供されるDockerコンテナのメトリクス
Prometheusメトリクス
メトリクスを有効にするには、環境変数を設定します ENABLE_PROMETHEUS=True コンテナ上で:
docker run -p 127.0.0.1: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 で:
Dockerコンテナのメトリクス
セキュリティ上の潜在的な問題。 この機能は、コンテナ内でDockerデーモンのソケットを公開することに依存しています。これにより、監督サービスを必要とせずにコンテナのリソース使用状況メトリクスを公開できますが、セキュリティ違反と見なされる可能性があります。デフォルトでは無効です。 潜在的なセキュリティリスク を有効化する前に理解してください。
コンテナメトリクスを公開するには、DockerソケットをマウントしてInferenceサーバーコンテナを実行します:
この
-v行 マウント ホスト上のDockerデーモンソケットを(通常は/var/run/docker.sockですが、設定を確認してください)コンテナ内に、ここでも/var/run/docker.sock.この
-e行はDOCKER_SOCKET_PATHをDockerデーモンソケットの場所に設定します コンテナ内の、上記のマウントと対応します。
その後、 GET /device/stats エンドポイントに curl でアクセスできます:
または Python で:
モデルレベルの監視
デプロイ全体にわたる予測レベルの監視(ホストのテレメトリではなく)については、 モデル監視を参照してください。これは、セルフホスト型サーバー上で METRICS_ENABLED と MODEL_MONITORING_CACHE_BACKEND 環境変数によって制御されます.
最終更新
役に立ちましたか?