03|架构概述:一个监控系统的典型架构是什么样的?
秦晓辉
你好,我是秦晓辉。
这一讲,我们来聊聊监控系统的典型架构,看看监控系统由哪些模块组成,各个模块是如何相互协同的。业界监控系统数量较多,如果我们一上来就陷入某个具体的系统中,容易一叶障目,不见泰山。这里我把众多监控系统的架构做了一个统一的抽象和概括,后面你再看到任何一个监控系统,都能快速理解了。
典型架构
我们先来看监控系统的典型架构图,从左往右看,采集器是负责采集监控数据的,采集到数据之后传输给服务端,通常是直接写入时序库。然后就是对时序库的数据进行分析和可视化,分析部分最典型的就是告警规则判断(复杂一些的会引入统计算法和机器学习的能力做预判),即图上的告警引擎,告警引擎产生告警事件之后交给告警发送模块做不同媒介的通知。可视化比较简单,就是图上的数据展示,通过各种图表来合理地渲染各类监控数据,便于用户查看比较、日常巡检。
下面我们就来逐一分析一下每个模块的职能和设计。
采集器
采集器负责采集监控数据,有两种典型的部署方式,一种是跟随监控对象部署,比如所有的机器上都部署一个采集器,采集机器的 CPU、内存、硬盘、IO、网络相关的指标;另一种是远程探针式,比如选取一个中心机器做探针,同时探测很多个机器的 PING 连通性,或者连到很多 MySQL 实例上去,执行命令采集数据。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《运维监控系统实战笔记》,新⼈⾸单¥59
《运维监控系统实战笔记》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(25)
- 最新
- 精选
- 怀朔置顶作者已经罗列非常全的,就不怎么想说之前的开源监控产品,目前主流还是向promethues 或者说向云原生靠近。近期质量比较高的课程了👍查看大家的留言,想回答小公司运维人员不多情况 又想达到好的效果,考虑到投入产出比,建议报警收敛和告警升级 聚合管理推荐商业化产品好了。 优点:大而全可以直接用,很多功能都已经完善开箱即用。 缺点:数据隐私问题 、还要钱。
作者回复: 嗯,整个技术保障体系可以做的事情很多,一些脏活累活可以采购商业产品,自己多学习一些方法论、最佳实践,思路远比写两行业务代码有价值的多
归属地:浙江7 - 李慢慢极度想听告警引擎跟告警收敛这块,告警引擎这块有没有开源的,自己开发头大,没思路
作者回复: 告警引擎分两类,数据触发式,周期查询式。数据触发式可以参考open-falcon的judge模块,周期查询式可以参考prometheus和nightingale的告警逻辑。 题外话,尽量不要自研,轮子已经挺多了,很多开源产品也有很多用户,自研的话后面持续维护比较麻烦
归属地:江西4 - 郭刚请问老师,Elasticsearch可以当时序库吗?
作者回复: 可以,Elastic公司自己对外的产品就有可观测产品,存储就是用的es
归属地:广东33 - Mori老师请教下,其实现在很多产品都是基于云上的,想机器类的我们可以通过安装agent采集指标,但是如果像中间件、数据库等云产品,通过接口获取指标又存在1:拉取时延 2:无法跟应用关联 的这种情况,这种有什么其他的思路想法呢?
作者回复: 1,延迟不用担心的,不是个问题,没啥延迟。其实更大的问题是有些数据我们通过agent采集不到,比如lb的数据 2,跟应用关联的话,最简单的办法就是为数据打标签,比如某个rds实例是服务a使用,采集这个rds数据的时候就可以打上service=a这样的标签
归属地:广东1 - aaaaa介绍的还是比较全面的,各个工具都能简要了解
作者回复: 后面就开始围绕Prometheus详细展开了, 坐稳扶好 :)
归属地:江苏1 - 玫友人课程非常受用,容易理解,深度也够,希望课程可以更新多些。
作者回复: 每周一三五零点更新哈,加油,每一堂课都跟下来 :)
归属地:广东1 - 良才我想问下,文中提到的由于时序数据库的原因,大多数采集器是收集的数值型数据么。那对于这些产品我需要采集字符型数据时又是如何处理呢
作者回复: 拿Prometheus来举例,一些字符串类型的数据,如果是metadata类型的,比如xx的version的信息,一般是放在label里的。 如果不是metadata类型,比如是一行日志,Prometheus就完全搞不定了,需要使用日志监控方案。
归属地:辽宁1 - mover你好,我有一个关于vm作为大规模时序数据库的疑惑,辛苦解答一下。vm集群是没有副本概念的,也没有wal机制,如果vm节点故障了,是不是故障期间路由到故障vm节点的数据,以及节点故障前缓存在系统中,还没有刷到磁盘上的数据都丢失了?如果一个节点的磁盘损坏了,是不是这个节点上的所有数据都可能丢失了?生产环境中,我们该如何考虑时序数据的高可用呢?
作者回复: vm是有副本的,不过机器故障的时候没有补副本的逻辑,比如刚开始写入的时候设置了2个副本,vminsert会写两份内容到vmstorage,其中一个故障了没关系,merge read还可以读取到另一份
归属地:广东 - frekoala请问老师,这4种采集器对信创机器支持怎么样呢?
作者回复: x86和arm的理论上都没问题
归属地:广东 - penng有没有用es来存储监控数据的
作者回复: 应该有,不过比较少
归属地:重庆
收起评论