运维监控系统实战笔记
秦晓辉
快猫星云联合创始人,Open-Falcon、Nightingale、Categraf 核心研发
7894 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 25 讲
运维监控系统实战笔记
15
15
1.0x
00:00/00:00
登录|注册

02|基本概念:监控圈子有哪些行业黑话?

你好,我是秦晓辉。
上一讲我们介绍了监控解决的问题域,并对业界常见开源方案做了横评对比。这一讲我们继续学习监控的相关概念,包括监控、监控指标、指标类型、时序库,还有告警收敛与闭环等。理清监控圈子的这些常用术语之后,我们学习起来会更轻松一些。
监控这个词在不同的上下文中含义会有一些区别,一般我们说监控 MySQL、监控 Redis 的时候,都是指能够采集到 MySQL、Redis 的监控数据,并能可视化展示。这时候监控表示数据采集和可视化,不包括告警引擎和事件处理。但当我们讲监控系统的时候,因为说的是整个系统,所以也会包含告警和事件发送等相关功能。
监控体系中最基础的是监控指标,监控系统就是围绕指标的采集、传输、存储、分析、可视化的一个系统,下面我们就从监控指标这个概念讲起。

监控指标

监控指标是指数值类型的监控数据,比如某个机器的内存利用率,某个 MySQL 实例的当前连接数,某个 Redis 的最大内存上限等等。不同的监控系统,对于监控指标有不同的描述方式,典型的方式有三种,下面我们分别介绍一下。

全局唯一字符串作为指标标识

监控指标通常是一个全局唯一的字符串,比如某机器的内存利用率 host.10.2.3.4.mem_used_percent,这个字符串中包含了机器的信息,也包含了指标名,可以唯一标识一条监控指标。假设监控数据采集的频率是 30 秒,2 分钟内采集了 4 个数据点,一个数据点包含一个时间戳和一个值,我们看一下如何用 JSON 表示这个监控指标及其监控数据。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《运维监控系统实战笔记》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(32)

  • 最新
  • 精选
  • 徐曙辉
    置顶
    想参照课程给公司开发一套监控系统,把k8s,Redis,MySQL,Elasicsearch,Kafka综合在一个系统里,大公司运维监控比较完善,针对小公司的监控系统应该怎么做,要从哪些方面入手?希望老师多考虑下小公司,一方面小公司更多,另一方面运维监控非常匮乏,人员有限,确实是痛点

    作者回复: 纯个人见解哈一起探讨:小公司千万不要自研监控系统,开源的监控系统其实都挺强大了,如果基于开源的二开,后面开源的升级又不好跟进,如果不再跟进,负责二开的人离职,后面新接手的人可能不认可这个做法或者找不到接手的人,容易一地鸡毛,后来人会背地里骂这个二开的人的。 二开的初衷,可能是开源产品某些功能不符合自己公司的需求。其实真的有那么多定制化需求么?火爆的开源软件可能都是几千上万github star,很多公司在用,我们的需求真的就那么特殊么?需要仔细再调研一下。很可能是开源软件也有这个功能,我们可能不知道。 如果最终还是准备二开,建议: 1,尽量不改开源软件的代码,基于它的API做封装 2,如果必须要改,觉得某些改动是通用需求,就提pr,merge回这个开源软件,这样别人也可以帮你review这个设计和代码,你也可以提升个人影响力,开源社区很欢迎这类pr,所有公司都受益 上面主要是说的二开的问题,如果是完全自研,嗯,,,应该不会完全自研吧,这个时代,几乎没有完全自研的软件了.... 如果你被公司招聘来就是做监控系统的,不搞点事情就没饭吃,怎么整?建议多做一些最佳实践,在某些点上做透,做一些场景化的解决方案,看看监控系统的用户的痛点是什么,很多事情可以干的

    归属地:湖南
    7
    27
  • 怀朔
    这是一个误报

    作者回复: 哈哈哈

    归属地:上海
    16
  • hshopeful
    关于监控,脑海中有几句话想跟大家分享下: 1、当 facebook 还是 facebook 的时候,它开源的 gorilla 时序数据压缩算法特别适合监控领域的数据存储,prometheus 中已经采用 2、对监控指标进行流式聚合计算的时候,数据准确性和时效性需要做出 tradeoff 3、当你的监控告警指标太多的时候,相当于没有指标,一定要筛选出核心待关注的监控告警指标 4、怎么对监控系统本身进行监控

    作者回复: 👍

    归属地:上海
    3
    11
  • DBRE
    老师能根据Summary给个示例吗?没太理解

    作者回复: Summary通常也是用于统计接口的延迟,姑且可以理解为: 比如某个接口 /api/v1/login 服务每次收到这个接口的请求,就通过SDK记录一下延迟,比如第一次演示3ms,第二次5ms,第三次4ms,,,第1000次3ms Summary 的逻辑就是把这1000个数值从小到大排序,然后就可以取第99%的位置的那个值作为99分位的值上报,取第90%的位置的那个值作为90分位的值上报,当然也会计算这1000个值的最大值、最小值、平均值上报。 这个计算是在进程颗粒度的,不是在服务级别的,服务级别的计算只能通过Histogram,把多个进程的指标汇聚到一起计算

    归属地:上海
    3
    8
  • 无名无姓
    针对prom每个类型展现一个实例比较好

    作者回复: Gauge类型举例:房间里的人数、队列积压的消息数、今年公司的收入和净利润 Counter类型举例:操作系统自启动以来网卡接收到的所有流量包的数量 Histogram、Summary:典型的就是用于描述延迟数据,比如HTTP接口、RPC接口的延迟数据

    归属地:上海
    2
    6
  • 呵呵
    指标格式对比没太看懂,是想表达influx的全是kv,opentsdb的不全是。所以同一时间的消息,influx能少传几条,省了n个时间戳?怎么就标签重复的低了?不还是kv吗?

    作者回复: 不是。大家其实都是支持标签的。我想表达的是influx格式在多个field的场景,会减少标签传输量,比如cpu的指标:influx来描述的话是这么一条: cpu,cpu=cpu0,host=loaner time_active=202224.15999999992,time_guest=30250.35,time_guest_nice=0,time_idle=1527035.04,time_iowait=1352,time_irq=0,time_nice=169.28,time_softirq=6281.4,time_steal=0,time_system=40097.14,time_user=154324.34 1568760922000000000 如果用opentsdb来描述就是这样的: cpu.time_active 202224.15999999992 1568760922 cpu=cpu0 host=loaner cpu.time_guest 30250.35 1568760922 cpu=cpu0 host=loaner cpu.time_guest_nice 0 1568760922 cpu=cpu0 host=loaner cpu.time_idle 1527035.04 1568760922 cpu=cpu0 host=loaner cpu.time_iowait 1352 1568760922 cpu=cpu0 host=loaner cpu.time_irq 0 1568760922 cpu=cpu0 host=loaner cpu.time_nice 169.28 1568760922 cpu=cpu0 host=loaner cpu.time_softirq 6281.4 1568760922 cpu=cpu0 host=loaner cpu.time_steal 0 1568760922 cpu=cpu0 host=loaner cpu.time_system 40097.14 1568760922 cpu=cpu0 host=loaner cpu.time_user 154324.34 1568760922 cpu=cpu0 host=loaner 这里每一行里都有 cpu=cpu0 host=loaner 这俩标签,当然,每一行也都要传输时间戳,重复度比较高,会多一些字符串传输成本

    归属地:上海
    6
    6
  • 臭猫
    warning:xx节点cpu使用率超过80%,持续时间超过5分钟

    作者回复: 哈哈 🤝

    归属地:上海
    5
  • 蓝熊船长
    来催个更。正在负责新项目的监控这块。补齐一下地图。期待

    作者回复: 每周一三五零点更新,努起来 :)

    归属地:上海
    2
  • 王二木
    自愈

    作者回复: 👍

    归属地:北京
    1
  • 不是苏苏
    太强了😯看完清晰多了

    作者回复: 🤝🤝

    归属地:上海
    1
收起评论
显示
设置
留言
32
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部