在前面的系列博文中,我们说自定义业务计数器步骤:

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(六)相关推荐

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

    上一篇博文中,说明了怎么引进Prometheus到asp.net core项目中,因为是Demo,所以Prometheus和Grafana都是windows版本,本地执行的,生产环境上这些服务可以根据 ...

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

    Prometheus是CNCF毕业的第二个项目,算是明星产品(可自行了解Prometheus的功能),asp.net core当然不能错过与之配套使用.在.net中是通过prometheus.net[ ...

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

    上一篇博文中说到Prometheus有四种指标类型:Counter(计数器).Gauge(仪表盘).Histogram(直方图).Summary(摘要),并且我们做了一个Counter的Demo,接下 ...

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

    上一篇博文中说到Prometheus有四种指标类型:Counter(计数器).Gauge(仪表盘).Histogram(直方图).Summary(摘要),并且我们做了一个Counter的Demo,接下 ...

  5. 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版本开始 ...

  6. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案(转)

    ASP.NET Core 系列目录 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不大,但从内部运行方式上来说,差别还是很大的.上一 ...

  7. 学习ASP.NET Core Razor 编程系列六——数据库初始化

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二--添加一个实体 学习ASP.NET ...

  8. ASP.NET Core微服务(一)——【完整API搭建及访问过程】

    ASP.NET Core微服务(一)--[完整API搭建及访问过程]: 环境:win10专业版+vs2019+sqlserver2014/2019 对应练习demo下载路径(1积分):[https:/ ...

  9. 为什么超过500万开发者选择了ASP.NET Core?

    目录 一.What ASP.NET Core? 二.Why ASP.NET Core? 三.为什么选择这项技术? 四.ASP.NET Core的优势具体可以梳理为以下几个方面: 1.生成Web UI ...

最新文章

  1. 7行Python代码,搭建可以识花的机器学习App|视频教程
  2. 【vuejs小项目】一、脚手架搭建工作
  3. Dtree【树形下拉框】
  4. C#中教你一步步实现一个电话本窗体程序
  5. jQuery应用之(二)使用jQuery管理选择结果(荐)
  6. JavaScript 使用[]读取对象属性
  7. 跟我一起学.NetCore之.NetCore概述
  8. 【ArcGIS遇上Python】栅格影像批量除以10000
  9. Error:The supplied javaHome seems to be invalid. I cannot find the java executable
  10. C++ open 打开文件
  11. CSS浮动(Float)(二)
  12. 【转】重装Ubuntu时如何保留/home分区中的数据
  13. Android TV开发总结(一)构建一个TV app前要知道的事儿
  14. Atitit  atiMail atiDns新特性 v2  q39
  15. uniApp H5微信网页授权,微信支付
  16. 解决Windows服务器localhost可以访问,IP无法访问的问题
  17. python计算斜率以及给定一组点两两求斜率
  18. macOS终端命令行配置网络代理
  19. 2021爱分析·快消品牌数字化趋势报告——多点开花,快消品牌商数字化新探索
  20. 统计词频并输出高频词汇

热门文章

  1. Spread / Rest 操作符
  2. iOS runtime实战应用:关联对象
  3. 大型网站架构演化(二)——应用服务和数据服务分离
  4. 根据实例类型反射操作数据库(简单通用表操作类)
  5. .net 测试工具类
  6. 2007武汉.NET俱乐部沙龙-VS2008、WPF、Silverlight
  7. 如何将iPhone应用程序从应用程序库移动到主屏幕
  8. 旧金山参议员提议发布“封杀令”,理由是马路不为机器人所服务
  9. 基于 HTML5 Canvas 绘制的电信网络拓扑图
  10. 对抗告警疲劳的8种方法