Fork me on GitHub

版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | https://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来减少垃圾评论。了解我们如何处理您的评论数据