.NET6之MiniAPI(二十七):Metrics
应用的各种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相关推荐
- .NET6之MiniAPI(二十九):UnitTest
MiniAPI的单元测试与asp.net web api的单元测试大体是相同的(毕竟都是asp.net core),只是在小细节上有一些差异,文章中会说到这点. 本文测试框架是XUnit,Mock框架 ...
- .NET6之MiniAPI(二十五):Dapper
注:如果你使用Dapper一段时间了,这篇你可以跳过去了. 在第十二篇中,我们聊过官方的ORM--EntityFramework,它可以把SQL细节都隐藏,这对于一些标准化的关系数据库项目非常便捷.今 ...
- .NET6之MiniAPI(二十四):用Polly重试
为了保障系统的稳定和安全,在调用三方服务时,可以增加重试和熔断.重试是调用一次失败后再试几试,避免下游服务一次闪断,就把整个链路终止:熔断是为了防止太多的次数的无效访问,导致系统不可知异常. Poll ...
- .NET6之MiniAPI(二十三):Refit
本篇是与上篇HttpClient有关联的,有前篇中,我们是直接使用HttpClient来发出请求的,所有的请求信息都是我们根据需要自己来填充的.那Refit是什么呢?它是一个让我们调用API就像调用一 ...
- .NET6之MiniAPI(二十二):HttpClient
说明:本篇不是说明HttpClient怎么使用,而以分享在asp.net core mini api框架下,HttpClient的引入和使用方式. 我们在业务开发中,免不了调用三方的服务,这时就会用到 ...
- .NET6之MiniAPI(二十一):限流
限流,可以网络的基础设施进行配置实现,也可以在网关的地方进行限流,但服务本身的限流也不可或缺,因为当多副本时,一个副本故障,流量对于其他副本来说会提高,如果超过其承受请求量的范围,会引起服务连续崩塌, ...
- .NET6之MiniAPI(二十):实体验证FluentValidation
为了验证api post上来的数据的有效性,我们可以引入FluentValidation(详见https://fluentvalidation.net).在asp.net mvc中,使用的是模型验证, ...
- .NET6之MiniAPI(三十):结束篇(附链接)
不知不觉来到了<.NET6之MiniAPI>的第三十篇,回顾之前的篇幅,主要涉及如下: HTTP请求,应答 Request 桂素伟,公众号:桂迹.NET6之MiniAPI(二):reque ...
- 2021年大数据Hadoop(二十七):YARN运行流程
全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn运行流程 本系列历史文章 2021年大数据Hado ...
最新文章
- falsk-sqlalchemy 连接数据库出现 No module named ‘MySQLdb‘(笔记自用)
- 微信小程序-canvas绘制文字实现自动换行
- 第二篇 - EOS Currency 合约案例
- 功能测试常用6种方法_16种常用的数据分析方法聚类分析
- 火狐浏览器中打开java_将Firefox浏览器嵌入Java Swing中
- Linux OpenSSL获取证书指纹值(443、MD5、SHA1、SHA256)
- ASP.NET网站发布-允许更新此预编译站点
- C++输出全排列递归算法详细解释
- 云表中表单配置内嵌浏览器
- 20190801H3C无线控制器3510H 版本升级总结
- 搬运:php入门安装教程
- ORACLE局域网连接
- OSM和PBF数据格式说明
- 和游戏服务器的连接中断错误 1,绝地求生“与Steam服务器连接时出现了一个问题”怎么解决...
- 股东转让股权的条件是什么
- 计算机主机电源怎么换,电脑主机不会拆装更换电源怎么办?详细图文来教你,看完你就会了...
- php通用查询系统excel,Laravel+Excel通用查询填报系统
- 2021年全球社交应用支出排行榜TikTok列榜首;小猪佩奇和抖音推出防沉迷系列视频 | 美通社头条...
- Rails中的includes和joins的区别与用法(翻译,部分)
- 一个需求价值评估的方法——靶图