asp.net core监控—引入Prometheus(六)
在前面的系列博文中,我们说自定义业务计数器步骤:
1、分析业务,规划好监控跟踪指标
2、定义指标收集器
3、侵入编程(尽量在开发时分离业务实现与监控指票的收集代码)收集指标
4、开发grafana展示模板,完成展示
结合《asp.net core监控—引入Prometheus》二,三,四,五4种模版的demo,来较为深入分析了解一下这些步骤。
本系列是Prometheus和Grafan组合,这个组合擅长展示系统的实时跟踪数据,如果是统计数据,它们不一定是最佳选择。
1、分析业务,规划好监控跟踪指标
这一点是最难的,首先要了解自己的项目解决的主要问题是什么,比如商城第一要务是卖东西,单位时间内卖了多少,卖了多钱,是比较重要的,再考虑相对次要的问题,比如单位时间内什么东西卖的多,单位时间内用户的增加量等信息,罗马不是一天建成的,建议先从重要的开始,逐渐在构建自己的监控跟踪系统。
2、定义指标收集器
本系列博文中说到Prometheus四种类型的收集器,按照规划好的监控指标,选择适当的使用,一般情况下Counter(计数器)、Gauge(仪表盘)直观,通俗易懂,Histogram(直方图)、Summary(摘要)比较抽像,但它们更能从宏观上展示业务状况,统计学上更科学。
3、侵入编程(尽量在开发时分离业务实现与监控指票的收集代码)收集指标
这部分我们在demo中有做分享,可能不是最好的解决方案,这部分可能要根据每个项目的架构来处理,努力把类似监控,日志,跟踪等非业务功能与业务代码区分开来,减少耦合。另一方便,有一些监控数据对业务系统的耦合是比较紧的,比如《asp.net core监控—引入Prometheus(三)》的Gauge(仪表盘)中,展示的是订单每个阶段的数量,其实是不准确的,因为当我们系统重启时,这些值就会置零,如果修改代码,每次启动系统,从数据库里查询出订单各个阶段的数量,来初始化仪表盘,表面上是可以的,但如果系统是分布式部署,就会引来一个问题,每个节点或Pod都有一份数据,当用Grafana集中展示时,就要把节点累加,造成数据重复,系统运行后,每次下单,支付,发货,触发的是单节点仪表盘上的数值变化,这样,运行一段时间就会造成数据即不是倍数关系,也不是增量关系;其实如果我们仔细分析的话,每个订单实时的量不适合这种在应用中用加减来对外吐值,可以换一个数据库或缓存的数据源来查询展示,俗话说,不能在一个树上吊死,我们要利用grafana不同的面板数据源都是独立的这个特点,分别对待。
4、开发grafana展示模板,完成展示
这是个技术活了,首先要熟悉grafana的使用了,grfafan的相关的文章还不少;在grafana中,不同的数据源取数据的方式不尽相同,这个是学习点,还有grfana的一些函数也是很好的选择,自动提示引入函数的功能能让我们配置起来更简便,还有不同的面板类型,有很多的属性,能给我们的图表锦上添花,多探索,多琢磨。
《asp.net core监控—引入Prometheus》的系列到这篇就完成了,仅把自己的粗略认识分享给大家,欢迎指正!
asp.net core监控—引入Prometheus(六)相关推荐
- asp.net core监控—引入Prometheus(二)
上一篇博文中,说明了怎么引进Prometheus到asp.net core项目中,因为是Demo,所以Prometheus和Grafana都是windows版本,本地执行的,生产环境上这些服务可以根据 ...
- asp.net core监控—引入Prometheus(一)
Prometheus是CNCF毕业的第二个项目,算是明星产品(可自行了解Prometheus的功能),asp.net core当然不能错过与之配套使用.在.net中是通过prometheus.net[ ...
- asp.net core监控—引入Prometheus(五)
上一篇博文中说到Prometheus有四种指标类型:Counter(计数器).Gauge(仪表盘).Histogram(直方图).Summary(摘要),并且我们做了一个Counter的Demo,接下 ...
- asp.net core监控—引入Prometheus(四)
上一篇博文中说到Prometheus有四种指标类型:Counter(计数器).Gauge(仪表盘).Histogram(直方图).Summary(摘要),并且我们做了一个Counter的Demo,接下 ...
- ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案
ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案 原文:ASP.NET Core 2.2 : 十六.扒一扒2.2版更新的新路由方案 ASP.NET Core 从2.2版本开始 ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案(转)
ASP.NET Core 系列目录 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不大,但从内部运行方式上来说,差别还是很大的.上一 ...
- 学习ASP.NET Core Razor 编程系列六——数据库初始化
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二--添加一个实体 学习ASP.NET ...
- ASP.NET Core微服务(一)——【完整API搭建及访问过程】
ASP.NET Core微服务(一)--[完整API搭建及访问过程]: 环境:win10专业版+vs2019+sqlserver2014/2019 对应练习demo下载路径(1积分):[https:/ ...
- 为什么超过500万开发者选择了ASP.NET Core?
目录 一.What ASP.NET Core? 二.Why ASP.NET Core? 三.为什么选择这项技术? 四.ASP.NET Core的优势具体可以梳理为以下几个方面: 1.生成Web UI ...
最新文章
- 7行Python代码,搭建可以识花的机器学习App|视频教程
- 【vuejs小项目】一、脚手架搭建工作
- Dtree【树形下拉框】
- C#中教你一步步实现一个电话本窗体程序
- jQuery应用之(二)使用jQuery管理选择结果(荐)
- JavaScript 使用[]读取对象属性
- 跟我一起学.NetCore之.NetCore概述
- 【ArcGIS遇上Python】栅格影像批量除以10000
- Error:The supplied javaHome seems to be invalid. I cannot find the java executable
- C++ open 打开文件
- CSS浮动(Float)(二)
- 【转】重装Ubuntu时如何保留/home分区中的数据
- Android TV开发总结(一)构建一个TV app前要知道的事儿
- Atitit atiMail atiDns新特性 v2 q39
- uniApp H5微信网页授权,微信支付
- 解决Windows服务器localhost可以访问,IP无法访问的问题
- python计算斜率以及给定一组点两两求斜率
- macOS终端命令行配置网络代理
- 2021爱分析·快消品牌数字化趋势报告——多点开花,快消品牌商数字化新探索
- 统计词频并输出高频词汇