第 9 章 指标与监控(2)
崔皓
9.5 监控系统的分层
监控系统的分类谈完了,我们换个角度,通常任何架构都会分层,在架构的各个层级中都能找到监控的身影。分布式系统也是一样,为了实现全链路的监控,将其分为如下五层。
客户端监控:例如用户行为信息、业务返回码、客户端性能、运营商、版本、操作系统等。
业务层监控:核心业务的监控,例如登录、注册、下单、支付等。
应用层监控:相关的技术参数,例如 URL 请求次数、Service 请求数量、SQL 执行的结果、Cache 的利用率、QPS 等。
系统层监控:物理主机,虚拟主机以及操作系统的参数,例如 CPU 利用率、内存利用率、磁盘空间情况。
网络层监控:网络情况参数,例如网关流量情况、丢包率、错包率、连接数等。
从分层可以看出,监控系统包含的范围是很广的。网络、系统、应用、业务、客户端都是监控的对象,那么如何着手,使用什么工具对这些对象展开监控就是接下来要面对的问题。通过观察监控系统的分层可以发现,应用层、系统层、网络层针对的主要是一些通用硬件、系统和应用,对它们的监控和业务是毫无关系的,主要偏向于系统应用参数,因此可以使用度量类监控平台。而客户端、业务层的监控以业务为主,需要我们根据实现的业务场景编写对应日志,所以比较适合日志类监控。经过分析可以发现,每层关心的内容不尽相同,但都需要通过监控的方式获取信息,从而实现监控和优化。
针对不同的层级涌现出了不同的监控系统,例如网络层、系统层有 Zabbix、Prometheus;应用层有 Prometheus、CAT、ELK;业务层有 Prometheus;客户端有听云等优秀的产品。后面两节会就其中两个使用比较广泛的监控架构展开讲解:Zabbix 作为老牌监控平台被一直使用至今,Prometheus 作为新晋的时序数据库监控平台势头正猛。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入介绍了分布式系统监控的重要性以及监控系统在架构的各个层级中的应用。为了实现全链路的监控,监控系统被分为客户端监控、业务层监控、应用层监控、系统层监控和网络层监控五个层级。针对不同的层级涌现出了不同的监控系统,例如 Zabbix、Prometheus、CAT、ELK、听云等。文章详细介绍了Zabbix监控系统的架构、安装和配置过程,包括Zabbix Agent在被监控设备上的客户端、Zabbix监控服务器的组件以及监控项、触发器、处理动作和模板的配置过程。通过分析Zabbix的安装和配置流程,读者可以了解分布式监控系统的构建过程,为实践提供了重要参考。另外,文章还介绍了Prometheus系统的架构和运作方式,以及其在时序数据库方面的特点。文章内容涵盖了监控系统的多个方面,对于想要全面了解分布式系统监控的读者具有很高的参考价值。文章还介绍了Prometheus的报警规则的定义和报警路由的分发,以及Alertmanager的路由分发规则和报警接收者的配置。这些内容为读者提供了深入了解分布式系统监控技术的机会。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式架构原理与实践》
《分布式架构原理与实践》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论