应用的各种Metrics是保证应用健康稳定运行的基础,特别对于一些可用性有所要求的应用,本文介绍prometheus-net这个三方指示库。

prometheus-net的工作原理是,在应用内部埋点,通过prometheus采集数据,然后通过grafana把采集到的数据展现出来,所以这里首先要下载prometheus和grafana,因为是demo,这里下载两个应用的windows版本。具体下载地址如下:

Prometheus下载地址:

https://prometheus.io/download/

Grafana下载地址:

https://grafana.com/grafana/download?platform=windows

接下来创建miniapi项目,引入NuGet包:

Install-Package prometheus-net.AspNetCore

在miniapi项目中使用prometheus的默认指标很简单,如下:

using Prometheus;var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/test", () =>
{return "OK";
});
app.MapMetrics();
app.UseHttpMetrics();
app.Run();

这里要把应用的url配置到promethues的配置文件(prometheus.yml)中,如下图:

这时prometheus就配置好了,可以启动了。

接下来配置grafana,首先创建数据源:

再创建两个dashboard:10195和10427

这里就可以访问应用了,打开两个dashboard,就可以看到监控指标了。

asp.net core指示

应用系统指标

本篇中介简单介绍了一下miniapi引入prometheus,并且与prometheus和grafana的协调工作,所有指标都是默认指标,如果需要业务指标,请参看系列:

asp.net core监控—引入Prometheus(一)

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(一)

asp.net core监控—引入Prometheus(二)

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(二)

asp.net core监控—引入Prometheus(三)

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(三)

asp.net core监控—引入Prometheus(四)

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(四)

asp.net core监控—引入Prometheus(五)

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(五)

asp.net core监控—引入Prometheus(六)

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(六)

如果想了解默认指标的具体详情,请参见系列:

dotnet中的counter

桂素伟,公众号:桂迹dotnet中的counter

dotnet中的counters说明(一)

桂素伟,公众号:桂迹dotnet中的counters说明(一)

dotnet中的counters说明(二)

桂素伟,公众号:桂迹dotnet中的counters说明(二)

dotnet中的counters说明(三)

桂素伟,公众号:桂迹dotnet中的counters说明(三)

应用内moniter

桂素伟,公众号:桂迹应用内moniter

自定义EventSource(一)EventCounter

桂素伟,公众号:桂迹自定义EventSource(一)EventCounter

自定义EventSource(二)PollingCounter

桂素伟,公众号:桂迹自定义EventSource(二)PollingCounter

自定义EventSource(三)IncrementingEventCounter

桂素伟,公众号:桂迹自定义EventSource(三)IncrementingEventCounter

自定义EventSource(四)IncrementingPollingCounter

桂素伟,公众号:桂迹自定义EventSource(四)IncrementingPollingCounter

.NET6之MiniAPI(二十七):Metrics相关推荐

  1. .NET6之MiniAPI(二十九):UnitTest

    MiniAPI的单元测试与asp.net web api的单元测试大体是相同的(毕竟都是asp.net core),只是在小细节上有一些差异,文章中会说到这点. 本文测试框架是XUnit,Mock框架 ...

  2. .NET6之MiniAPI(二十五):Dapper

    注:如果你使用Dapper一段时间了,这篇你可以跳过去了. 在第十二篇中,我们聊过官方的ORM--EntityFramework,它可以把SQL细节都隐藏,这对于一些标准化的关系数据库项目非常便捷.今 ...

  3. .NET6之MiniAPI(二十四):用Polly重试

    为了保障系统的稳定和安全,在调用三方服务时,可以增加重试和熔断.重试是调用一次失败后再试几试,避免下游服务一次闪断,就把整个链路终止:熔断是为了防止太多的次数的无效访问,导致系统不可知异常. Poll ...

  4. .NET6之MiniAPI(二十三):Refit

    本篇是与上篇HttpClient有关联的,有前篇中,我们是直接使用HttpClient来发出请求的,所有的请求信息都是我们根据需要自己来填充的.那Refit是什么呢?它是一个让我们调用API就像调用一 ...

  5. .NET6之MiniAPI(二十二):HttpClient

    说明:本篇不是说明HttpClient怎么使用,而以分享在asp.net core mini api框架下,HttpClient的引入和使用方式. 我们在业务开发中,免不了调用三方的服务,这时就会用到 ...

  6. .NET6之MiniAPI(二十一):限流

    限流,可以网络的基础设施进行配置实现,也可以在网关的地方进行限流,但服务本身的限流也不可或缺,因为当多副本时,一个副本故障,流量对于其他副本来说会提高,如果超过其承受请求量的范围,会引起服务连续崩塌, ...

  7. .NET6之MiniAPI(二十):实体验证FluentValidation

    为了验证api post上来的数据的有效性,我们可以引入FluentValidation(详见https://fluentvalidation.net).在asp.net mvc中,使用的是模型验证, ...

  8. .NET6之MiniAPI(三十):结束篇(附链接)

    不知不觉来到了<.NET6之MiniAPI>的第三十篇,回顾之前的篇幅,主要涉及如下: HTTP请求,应答 Request 桂素伟,公众号:桂迹.NET6之MiniAPI(二):reque ...

  9. 2021年大数据Hadoop(二十七):YARN运行流程

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn运行流程 本系列历史文章 2021年大数据Hado ...

最新文章

  1. falsk-sqlalchemy 连接数据库出现 No module named ‘MySQLdb‘(笔记自用)
  2. 微信小程序-canvas绘制文字实现自动换行
  3. 第二篇 - EOS Currency 合约案例
  4. 功能测试常用6种方法_16种常用的数据分析方法聚类分析
  5. 火狐浏览器中打开java_将Firefox浏览器嵌入Java Swing中
  6. Linux OpenSSL获取证书指纹值(443、MD5、SHA1、SHA256)
  7. ASP.NET网站发布-允许更新此预编译站点
  8. C++输出全排列递归算法详细解释
  9. 云表中表单配置内嵌浏览器
  10. 20190801H3C无线控制器3510H 版本升级总结
  11. 搬运:php入门安装教程
  12. ORACLE局域网连接
  13. OSM和PBF数据格式说明
  14. 和游戏服务器的连接中断错误 1,绝地求生“与Steam服务器连接时出现了一个问题”怎么解决...
  15. 股东转让股权的条件是什么
  16. 计算机主机电源怎么换,电脑主机不会拆装更换电源怎么办?详细图文来教你,看完你就会了...
  17. php通用查询系统excel,Laravel+Excel通用查询填报系统
  18. 2021年全球社交应用支出排行榜TikTok列榜首;小猪佩奇和抖音推出防沉迷系列视频 | 美通社头条...
  19. Rails中的includes和joins的区别与用法(翻译,部分)
  20. 一个需求价值评估的方法——靶图

热门文章

  1. oracle--number
  2. hdu 5310 Souvenir
  3. Kickstart之添加自动化脚本
  4. Elementary OS 系统Java8环境的配置
  5. java获取apk启动activity_兼容 Android 10 启动 APK 实现方案
  6. PHP 利用Mail_MimeDecode类提取邮件正文
  7. UITabBar Contoller
  8. 如何用DW设计界面 结合 VS设计后台代码
  9. 【6】JAVA---地址App小软件(QueryPanel.class)(表现层)
  10. UrlRewrite(Url重写技术)