PromQL 从入门到精通
变成了 25.8%;还有像机器最近 5 分钟的 load、正在运行的进程数量等等,都使用 Gauge 类 型来表示。这种类型的值,我们非常关注当前值。 Counter 类型 Counter 类型是单调递增的值,比如机器上某块网卡收到的数据包的总量,是从操作系统启动 之后,就持续递增的,对于这种类型的值,我们通常关注的不是当前值是多少,而是关注增量和 变化率。我们在机器上执行 ifconfig 我们先来看一张图,图上是 5 台机器的内存可用率: 每个机器的内存可用率数据,体现为图上的一条线,我们称为 series,某个机器在某一时刻的内 存可用率数据,我们称为数据点,比如上图,2022-08-25 15:05:22 这个时刻,每个机器都有 一个可用率数据点,共计 5 个数据点。 上面的图是查询的最近一小时的,我们切换到 Table 视图,得到如下结果: 这个表格的内容,是这 5 台机器在当前这个时 视图的截图如下: 第 4 台机器相比其他的机器,返回了更多数据,是因为那个机器的监控数据采集频率是 10s, 而其他的机器采集频率是 30s。 ? 通过 range query + Table 视图,可以让我们直观看到原始上报的监控数据以及上报的具 体时刻(对于排查监控数据采集相关的问题尤为有用),如果在 Graph 视图,返回的数据取 决于 step 参数,查询时传给时序库的 step = 10,返回的图形就是每0 码力 | 16 页 | 2.77 MB | 1 年前3B站统⼀监控系统的设计,演进 与实践分享
Counter ✦ Gauge ✦ 等.. • 时序数据 ✦ 具有统计特性 ✦ 具有规律律性 metric数据特征 选型原则 • 基于开源⽅方案,⼆二次开发 • 具备现代时间序列列数据库的特性 • 活跃项⽬目,具有成熟的⽣生态环境 结论 • prometheus • ⽀支持任意维度label • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ meta信息 获取业务信息 获取关联关系 告警统计 有意思的尝试 科学的告警策略略 科学? machine learning? deep learning? 不不要盲⽬目的使⽤用机器器学习 先让告警有意义 可读的 • 时间 • 源头 • 规则 • 影响 • 状态 正确的 有价值的 • 发现问题 • 正确反映现实 案例例1 告警规则: 业务A 慢请求量量0 码力 | 34 页 | 650.25 KB | 1 年前3告警OnCall事件中心建设方法白皮书
靠,想用多个渠道同时发送的方式来保障告警触达率,这也属于告警规则配置不合理的范畴。 第四个原因是预期内的维护动作导致的。比如程序升级变更,如果进程重启时间过长,可能会导致关联的 服务告警,或者某个机器重启,忘记提前屏蔽了,也会产生一堆关联告警。 了解了常见原因,下面我们来看一下有哪些常见解法。 优化告警规则 类似 PagerDuty FlashDuty 这种产品,一定程度 障内的多个告警相互之间可能没有关联关系, 所以这种收敛方法不是太好。 2、根据时间 + 标签做收敛 除了时间维度,再加上某个标签作为收敛维度,比如机器标签,某个时间段内所有 A 机器的告警收敛成 一个故障,所有 B 机器的告警收敛成另一个故障。或者按照服务维度,某个时间段内所有 A 服务的告警 收敛成一个故障,所有 B 服务的告警收敛成另一个故障。看起来效果好多了,只是没办法和现实中的告 有了这样一个故障协同的机制之后,故障被处理掉的概率就大幅提升了,后续再配合一些运营统计手段, 统计各个团队的平均故障止损时间,建立红黑榜,大家就会有更高的热情来处理故障。当然,人的热情再 高,也不如机器来得快,如果有些告警能够直接关联自动化处理逻辑,无疑可以大大增加事件闭环率。 告警自动处理 很多监控系统都可以配置 Webhook,当告警触发之后自动回调某个 HTTP 接口,来串联一些自动化的0 码力 | 23 页 | 1.75 MB | 1 年前31.6 利用夜莺扩展能力打造全方位监控系统
活 端口监 控 插件脚 本 日志监 控 网络设 备 中间件 类 数据库 类 • 支持在web上配置采集策略,不同的采集可以指定 不同的探针机器、目标机器,便于管理和知识传 承 • 独创在端上流式读取日志,根据正则提取指标的 机制,轻量易用,无业务侵入性 • 内置集成了多种数据库中间件的采集以及网络设 备的采集,复用telegraf和datadog-agent的能力0 码力 | 40 页 | 3.85 MB | 1 年前3
共 4 条
- 1