使用Metrics监控应用程序的性能.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Metrics监控应用程序的功能 Gauge是最简约的度量类型,只要一个简约的前往值,他用来记录一些对象或者事物的瞬时值。 比如,我们类型为Gauge的计数器来记录某个服务目前开通的城市个数 Counters Counter是一个简约64位的计数器,他可以添加和削减。 比如我们可以定义两个Counter类型的计数器,用来统计全部服务恳求数目,和目前正在处理的恳求总数。 这样,在我们恳求处理开头的时候,同时将这两个计数器自增。 当某一个恳求处理完成之后,将目前正在处理的恳求减一 这种计数器也可以用来统计诸如当前有多少人在线,或者服务器中有多少处于有效期内的session Meters Meter是一种只能自增的计数器,通常用来度量一系列大事发生的比率。他供应了平均速率,以及指数平滑平均速率,以及采样后的1分钟,5分钟,15分钟速率。 比如需要统计恳求的速率,比如统计平均每分钟内有多少次恳求进来。只需要定义一个metric 在处理恳求的地方,调用Mark方法即可。 再比如,要测量服务出错的概率,比如每小时出错多少次。可以定义一个metric。 这样,在处理恳求的时候,假如消灭特别了,调用一下errorMeter的Mark方法即可。 Histograms Histrogram是用来度量流数据中Value的分布情况,Histrogram可以计算最大/小值、平均值,方差,分位数(如中位数,或者95th分位数),如75%,90%,98%,99%的数据在哪个范围内。 比如,我们想度量,全部传进来服务的恳求参数的长度分布。那么,可以定义一个histogram。 然后在恳求的地方,调用其Update方法来更新值。 Timer Timer是Histogram跟Meter的一个组合,比如要统计当前恳求的速率和处理时间。 就可以定义一个Timer: 在使用的时候,调用timer的NewContext即可。 二 度量数据的输出 收集了这么多数据之后,我们需要把数据时实的动态呈现或者保存起来。Metric供应了多种的数据报告接口。包括自带的Metrics.NET.FlotVisualization, 以及输出到专业的系统监控Graphite,输出到开源,分布式,时间序列的中InfluxDB,或者输出到ElasticSearch中。配置起来也格外简约。比如假如要直接在http页面上呈现,只需要在初始化的时候,设置合适的EndPoint即可: 然后在扫瞄器中输入?http://localhost:1234/metrics/,就可以看到各种采集的准实时各种度量信息: ? ?上面自带的功能DashBoard略显简陋。 通常,我们一般会将这些实时采集的数据存储到分布式时序数据库InfluxDB中,然后利用开源的图表控件Grafana来实时呈现这些数据,比如,可以制造想下面这样的,动态的功能准实时监控系统:三 总结 本文引见了如何使用埋点和各种度量工具来实时监测应用程序的功能,引见了.NET中Metrics度量工具的使用。与传统的记录日志的方式不同,这种实时或者准实时的对当前系统各种关键目标的采样和监控,对于应用程序的运维,功能优化,供应了一种动态的视角,能挂念我们更好的了解当前应用程序或者服务在线上的各种功能参数和表现形态。Metrics的采样应当尽量削减对原有系统的侵入性,所以一般的最好是将采样的结果存储到消息队列或者内存DB中,然后进举动态呈现,另外采样频率也是需要考虑的一个重要因素。由于对于一个较大的系统来说,实时采样产生的数据量会比较大。InfluxDB?好像只能在非Windows平台使用,所以本文没有完整演示整个Metrics+InfluxDB+Grafana?构建应用程序实时监控系统的搭建。不过信任大家对比着相关文档,应当不难实现。 期望本文对您了解如何实时监控应用程序功能,以及如何构建应用程序功能参数dashboard有所挂念。 点好看的同学,今年加薪^-^↓

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档