44 | 聚合度量能给我们解决什么问题?
周志明
你好,我是周志明。这节课我们来探讨“可观测性”这个小章节的最后一个话题:聚合度量。
度量(Metrics)的目的是揭示系统的总体运行状态。相信你可能在一些电影里见过这样的场景:舰船的驾驶舱或者卫星发射中心的控制室,处在整个房间最显眼的位置,布满整面墙壁的巨型屏幕里显示着一个个指示器、仪表板与统计图表,沉稳端坐中央的指挥官看着屏幕上闪烁变化的指标,果断决策,下达命令……
而如果以上场景被改成指挥官双手在键盘上飞舞,双眼紧盯着日志或者追踪系统,试图判断出系统工作是否正常。这光想像一下,你都能感觉到一股身份与行为不一致的违和气息,由此可见度量与日志、追踪的差别。
简单来说,度量就是用经过聚合统计后的高维度信息,以最简单直观的形式来总结复杂的过程,为监控、预警提供决策支持。
我们大多数人的人生经历可能都会比较平淡,没有驾驶航母的经验,甚至连一颗卫星或者导弹都没有发射过,那就只好打开电脑,按 CTRL+ALT+DEL 呼出任务管理器,看看下面这个熟悉的界面,它也是一个非常具有代表性的度量系统。
Windows 系统的任务管理器界面
在总体上,度量可以分为客户端的指标收集、服务端的存储查询以及终端的监控预警三个相对独立的过程,每个过程在系统中一般也会设置对应的组件来实现。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了聚合度量在解决问题中的重要作用,以及度量系统中的关键概念和技术实践。作者首先比喻度量为舰船驾驶舱或卫星发射中心的控制室中的指示器和仪表板,用于总结复杂过程并为监控和预警提供决策支持。文章详细介绍了度量的三个独立过程:客户端的指标收集、服务端的存储查询以及终端的监控预警,并提到了Prometheus组件流程图。此外,还探讨了拉取式采集和推送式采集两种解决方案,以及度量系统中的网络访问协议、取数接口、数据结构等关键问题。文章还提到了Prometheus设计的Push Gateway,以及度量协议的多样性和Prometheus对Exporter的支持。总的来说,本文通过实际场景和技术概念相结合的方式,深入浅出地介绍了聚合度量的重要性和应用,为读者提供了深入了解度量系统的宝贵资讯。
该试读文章来自《周志明的软件架构课》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- Demon.Lee请教周老一个问题。 刚刚接触Prometheus,用它来监控k8s集群,阅读了相关资料(包括课程后续对k8s的介绍)之后,我们通过Prometheus-operator的方式来部署Prometheus。但把Prometheus融入进k8s,这二者就耦合,跟我之前的想法有些不同。我之前的想法是,监控应该与业务分离(即单独部署Prometheus),如果二者耦合,k8s挂了,那就都挂了,还咋监控(但转念又想,如果分开部署,Prometheus自动发现k8s中的资源与服务是不是就很麻烦了)。我的想法是否有误,目前通过在k8s中部署Prometheus就是最佳实践么,如果是的话,我们就这么干了,谢谢。
作者回复: 在逻辑上,分开部署也解决不了Prometheus本身是是个程序,也有可能会挂的套娃悖论。我的观点写在这篇没有收录到课程的文章中,第三点有谈到: https://icyfenix.cn/methodology/forward-msa/prerequest.html
2021-05-1156 - zhanyd聚合度量在制造业工厂中也经常用到,业务部门要时刻关注生产线的生产的状况,机器运转是否正常,生产进度是否延期,仓库备料是否充足等,管理者很喜欢搞个类似驾驶舱的报表,实时监控各项数据,从全局上把控生产制造。2021-03-054
- 泊浮目prometheous的pgw都不支持TTL,很不舒服2021-09-18
- neohope主要监控了服务请求,JVM,服务器的一些指标。但服务请求方面,做的还很基础,有较大提升空间。2021-04-14
收起评论