【这是一猿小讲的第 53 篇原创分享】
你们之中很多人多多少少都接触过监控,但是你所知道的监控,到底属于哪一类呢?这期我们就从下面这张图开始聊起。如图所示,可以清晰的看出,监控的世界可以被划分为基于 Logging 的监控、基于 Tracing 的监控、基于 Metrics 的监控。
图片来源:http://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html
基于 Logging 的监控,背后对应的是日志系统。我们都知道,线上服务在马不停蹄的向外喷日志,但是可以通过 FileBeat、Flume 等 Agent 完成日志的采集,并存储到 ElasticSearch 中,然后可以通过 Kibana 或者其它自研查询组件进行展示,从而完成了日志的归集、分析展示。往期的文章《傻瓜也能玩转日志归集》、《玩弄日志归集于手掌之中》已经聊过对应的开源解决方案,若不太清楚,可以回顾一下。
基于 Tracing 的监控,背后对应的是追踪系统,也有人叫调用链系统,做 APM 应用性能监控这块是必不可少的。可以粗略的认为是一次服务的调用过程,中间经过了哪些环节,也就是所谓的调用链条性能统计。往期文章《一篇文章讲透线上应用监控》也提到过业界 APM 应用性能监控开源的轮子,也可以回味一下。
基于 Metrics 的监控,背后对应的是度量(指标监控)系统。当然可以粗略的理解为一段时间内的指标统计,例如机器在某段时间内的 CPU 使用率、系统负载;应用在某段时间内的 HTTP 请求访问量;MySQL的连接数、QPS等。
关于 Logging,Tracing 对应的解决方案,我们曾经多多少少都谈及过,但是关于 Metrics 解决方案却没有谈及,略感遗憾。那么有没有基于 Metrics 监控对应的开源解决方案呢?如果有这样的开源轮子,拿过来必定事半功倍的,腾出更多时间去冲咖啡。
庆幸的是开源轮子一大筐,这不当普罗米修斯(Prometheus)遇到格拉法纳(Grafana)再配上 One Exporter 就组成了监控界的嘻哈 PGOne,呦呦切克闹开源监控成一套。
那具体什么是普罗米修斯?什么是格拉法纳?Exporter又是啥?各位看官心莫急,我们将在接下来的几期分享挨个带你们认识认识。
好了,如果这次的简短的分享看着还算顺眼,不妨发扬一下风格,动动手指分享一下,让更多人一起进步。