版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | http://vearne.cc

我在《我的监控世界观》1 ~ 4 中更多的阐述了对于某个监控点的监控、存储、展现。但是在现实世界中,整个世界的联系更像是一个图,每个点可以是某个监控点,而边是他们之间的调用关系或者数据流

举例:
webserver –> mysql

对于一个最简单的web 服务, 它可能有两部分组成,webserver 和 mysql存储店铺、商品信息,webserver 服务直接和浏览器用户进行交互。在这样一个业务场景中,webserver 上有的监控点,可能包括单位时间内的UV、PV,而mysql 上的监控点可能有连接数,每秒请求数等等

这样,我们就把监控点和我们的自身的业务逻辑紧密的结合起来了。并且我们可以想到每一家公司的业务是完全不同的,所以如果我们把监控也分出层次的话,我们发现监控也是有层次的

3 业务层级的监控
2 监控点数据收集、存储、聚合
1 监控点数据采集

1)监控点数据的采集无法采取通行方案
除了基础类型的监控比如 CPU使用率、load、磁盘使用率
但是类似UV, PV 的业务指标很难统一起来

2)监控点数据收集、存储、聚合 是可以使用通行方案去解决的
最近我看到一篇文章提出用使用ES来做后聚合,可以无需做先聚合

3)业务层级的监控要反映业务流中各个应用,服务之间的调用关系,特别要反映数据的流向,流量的大小等等。数据流是贯穿各个模块的最核心的元素

后记:

这篇文章是我2014年的文章
现在看来,其中的很多观点还是具有指导意义
开源监控系统的重点在2,剩下的部分只要暴露良好的接口出来,让别人容易做二次开发即可。


如果我的文章对你有帮助,你可以给我打赏以促使我拿出更多的时间和精力来分享我的经验和思考总结。

微信支付码

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据