0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

asp.net core監視—Prometheusを導入(一)

Posted at

Prometheusは、CNCFが卒業した2番目のプロジェクトで、スター製品です(Prometheusの機能については、自身で調べることができます)。asp.net coreはもちろん、それに合わせて使用することを見逃すことはできません。.netでは、prometheus.net【https://github.com/prometheus-net/prometheus-net】を通じて導入されます。
alt 画像
上図はPrometheusを使用した監視構造図で、Prometheusはデフォルトでプル方式を採用しており、アプリケーションサービスからmetricsデータを引き抜いて、Grafanaが表示用に提供することができるようにします。以下は一例を通して説明します。

  1. Prometheusのダウンロード【https://prometheus.io/download/】
    alt 画像
    prometheus.ymlは設定ファイルで、プルモードを採用しているため、設定ファイル内でアプリケーションサービスのurl http://localhost:5000を設定する必要があります。
    alt 画像
    prometheus.exeをダブルクリックして起動できます。
  2. Grafanaのダウンロード【https://grafana.com/grafana/download?platform=windows】
    alt 画像
    alt 画像
    grafana-server.exeを起動します。
    アクセス:http://localhost:3000/
    ユーザー名パスワードデフォルト:username:admin, password:admin
    これからGrafanaの設定を始めます:
    a. データソースの設定
    alt 画像
    alt 画像
    alt 画像
    b. 監視パネルの設定
    alt 画像
    alt 画像
    alt 画像
    alt 画像
  3. asp.net core 5.0のAPIプロジェクトを作成し、nugetパッケージprometheus-net.AspNetCoreを導入します。同時に、Startup.csのconfigureにPrometheusのミドルウェアを追加します:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseSwagger();
        app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "PrometheusSimpal v1"));
    }

    app.UseRouting();            
    // HTTPリクエストのミドルウェア            
    app.UseHttpMetrics();            
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>            
    {                
        // 監視アドレスを /metrics にマッピング                
        endpoints.MapMetrics();                
        endpoints.MapControllers();            
    });        
}

サービスの開始:http://localhost:5000
alt 画像
この例では、grafanaテンプレート10915を使用してデータを表示しており、表示される情報はリクエストとコントローラーの追跡情報だけですが、完全に収集するには固定ミドルウェアを使用することができます。ビジネス面での情報トラッキング表示が必要な場合は、開発者が自身のビジネスロジックに応じて表示する必要があります。

(Translated by GPT)

元のリンク:https://mp.weixin.qq.com/s?__biz=MzA3NDM1MzIyMQ==&mid=2247483728&idx=1&sn=c749f6b03fabf545bf7f6594d4a3afe6&chksm=9f005e7aa877d76c831b63fc354e3150928ec846aff0842277aedbd08a9002eee22f9175f289&token=418912929&lang=zh_CN#rd

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?