Prometheusを使用してASP.NETCoreMVCアプリケーションを監視する。 https://github.com/prometheus-net/prometheus-net の指示に従って、必要に応じてアプリケーションからいくつかのメトリックを公開することができました。
私はこれまでPrometheusを使用した経験がなく、C#およびASP.NET CoreMCV全般を初めて使用します。そのため、サンプルプロジェクトの研究に興味がありました。
Webを検索すると、マイナーなコードスニペットしか見つかりませんでしたが、完成に近いものはありませんでした。 誰かがこの種のプロジェクトの例を教えてくれませんか?
私が興味を持っているいくつかの質問が含まれています
/metric
_エンドポイントを公開する方法は?専用のMetricController
を使用するか、Githubプロジェクトページが示すように_Startup.cs
_にapp.UseMetricServer()
を追加するだけですか?/metric
_エンドポイント専用のポートを使用するのがベストプラクティスですか?もしそうなら、どのようにこのポートを公開しますか? (UseMetricServer
はポートを受け入れていないようです)ここにいくつかの例を書きました: https://github.com/PrometheusClientNet/Prometheus.Client.Examples
しかし、私は自分のフォークを使用しています: https://github.com/PrometheusClientNet/Prometheus.Client 。
オリジナルのライブラリに適応することも、私のものを使用することもできます。
あなたの質問:
これがあなたの選択です。 WebおよびMetricServer( https://github.com/PrometheusClientNet/Prometheus.Client.MetricServer )にはミドルウェア( https://github.com/PrometheusClientNet/Prometheus.Client.AspNetCore )を使用することをお勧めしますコンソール用
最善の方法は、アプリケーションと同じポートを/metrics
使用することです。これが不可能な場合は、詳細が必要です
私のライブラリを使用できます: https://github.com/PrometheusClientNet/Prometheus.Client.HttpRequestDurations 。または、リポジトリからコードを取得します。