 PromQL 从入门到精通Counter,Histogram 和 Summary 只是为了上报监控数据的 Client 侧的便利,可 以看做是组合使用了 Gauge 和 Counter。所以我们重点就来讲解 Gauge 和 Counter 类型。 Gauge 类型 Gauge 类型的值表示当前的状态,可大可小、可负可正,比如某个虚机实例挂了,用 0 表示, 如果实例存活,用 1 表示;再比如内存使用率,这个时刻采集是 group_left。 另外举一个例子,说明 group_left group_right 的一个常见用法,比如我们使用 kube-state- metrics 来采集 Kubernetes 各个对象的指标数据,其中针对 pod 有个指标是 kube_pod_labels,会把 pod 的一些信息放到这个指标的标签里,指标值是1,相当于一个元信 息,比如: kube_pod_labels{ 比如接口:/api/v1/query,如何度量这个接口的健康状况?最核心有两个指标,一个是成功 率,一个是延迟,成功率的计算代价比较小,只需要为每个请求指标打上 statuscode 的标签即 可,然后可以求取非 5xx 非 4xx 的请求占比,即可得到成功的数量,除以总量就是成功率。 1 2 3 而对于延迟,如果只是求取平均延迟,代价也比较小,只要把请求总量做成一个 Counter 指0 码力 | 16 页 | 2.77 MB | 1 年前3 PromQL 从入门到精通Counter,Histogram 和 Summary 只是为了上报监控数据的 Client 侧的便利,可 以看做是组合使用了 Gauge 和 Counter。所以我们重点就来讲解 Gauge 和 Counter 类型。 Gauge 类型 Gauge 类型的值表示当前的状态,可大可小、可负可正,比如某个虚机实例挂了,用 0 表示, 如果实例存活,用 1 表示;再比如内存使用率,这个时刻采集是 group_left。 另外举一个例子,说明 group_left group_right 的一个常见用法,比如我们使用 kube-state- metrics 来采集 Kubernetes 各个对象的指标数据,其中针对 pod 有个指标是 kube_pod_labels,会把 pod 的一些信息放到这个指标的标签里,指标值是1,相当于一个元信 息,比如: kube_pod_labels{ 比如接口:/api/v1/query,如何度量这个接口的健康状况?最核心有两个指标,一个是成功 率,一个是延迟,成功率的计算代价比较小,只需要为每个请求指标打上 statuscode 的标签即 可,然后可以求取非 5xx 非 4xx 的请求占比,即可得到成功的数量,除以总量就是成功率。 1 2 3 而对于延迟,如果只是求取平均延迟,代价也比较小,只要把请求总量做成一个 Counter 指0 码力 | 16 页 | 2.77 MB | 1 年前3
 告警OnCall事件中心建设方法白皮书
,配置位置就在订 阅规则下面,这里不再赘述。 分派策略 告警事件进入 FlashDuty,会自动收敛,目前采用三级收敛:event -> alert -> incident,具体逻辑可 以参考:【思路方法篇】-【告警收敛逻辑】章节。这样的三级收敛机制,会有非常好的降噪效果,大幅减 少打扰。示意图如下: 监控系统会产生原始的告警事件(event),属于同一个告警的 并成故障(incident),最终通知用户的是一个个故 障,大幅降低了打扰性。 不同的告警事件,通常有不同的分发逻辑,比如不同时段不同的分发逻辑:白天用短信通知,晚上用电话 通知,比如对象存储的告警要发给存储团队,物理机故障要发给运维团队。这都可以灵活定义。 也可以配置聚合窗口,比如延迟 120 秒,如果在延迟等待期内,告警自动恢复或被人工处理,则不会发送 该条告警。 的有效手段),其次是团队(团队可以降低人 员管理的负担),其次是个人(最不推荐,难以维护)。FlashDuty 提供了值班表功能,可以做日常排班以 及节假日临时排班: 在 FlashDuty 里,通知的对象不是原始的告警事件,因为原始的告警事件可能会非常多,如上文所述, FlashDuty 会把事件聚合为告警,告警聚合为故障,最终通知的是故障。那具体如何聚合呢? 告警聚合 事件到告警的聚合比0 码力 | 23 页 | 1.75 MB | 1 年前3 告警OnCall事件中心建设方法白皮书
,配置位置就在订 阅规则下面,这里不再赘述。 分派策略 告警事件进入 FlashDuty,会自动收敛,目前采用三级收敛:event -> alert -> incident,具体逻辑可 以参考:【思路方法篇】-【告警收敛逻辑】章节。这样的三级收敛机制,会有非常好的降噪效果,大幅减 少打扰。示意图如下: 监控系统会产生原始的告警事件(event),属于同一个告警的 并成故障(incident),最终通知用户的是一个个故 障,大幅降低了打扰性。 不同的告警事件,通常有不同的分发逻辑,比如不同时段不同的分发逻辑:白天用短信通知,晚上用电话 通知,比如对象存储的告警要发给存储团队,物理机故障要发给运维团队。这都可以灵活定义。 也可以配置聚合窗口,比如延迟 120 秒,如果在延迟等待期内,告警自动恢复或被人工处理,则不会发送 该条告警。 的有效手段),其次是团队(团队可以降低人 员管理的负担),其次是个人(最不推荐,难以维护)。FlashDuty 提供了值班表功能,可以做日常排班以 及节假日临时排班: 在 FlashDuty 里,通知的对象不是原始的告警事件,因为原始的告警事件可能会非常多,如上文所述, FlashDuty 会把事件聚合为告警,告警聚合为故障,最终通知的是故障。那具体如何聚合呢? 告警聚合 事件到告警的聚合比0 码力 | 23 页 | 1.75 MB | 1 年前3
 B站统⼀监控系统的设计,演进
与实践分享⽀支持任意维度label • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ 监控⽬目标 • 10+ prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式 • 使⽤用成本 问题: ? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard 告警规则: 业务A 慢请求量量 > 10k/s 固定阈值 告警阈值需要随着流量量变化⽽而调整 wrong 建议: 告警规则: 业务A 慢请求⽐比例例 > 80% 案例例2 告警规则: 磁盘容量量可⽤用率 <10% 告警规则: 磁盘容量量预计将于3⼩小时后饱和 0 now -1h +3h predict_linear(node_filesystem_free{}[1h], 3 * 3600)0 码力 | 34 页 | 650.25 KB | 1 年前3 B站统⼀监控系统的设计,演进
与实践分享⽀支持任意维度label • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ 监控⽬目标 • 10+ prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式 • 使⽤用成本 问题: ? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard 告警规则: 业务A 慢请求量量 > 10k/s 固定阈值 告警阈值需要随着流量量变化⽽而调整 wrong 建议: 告警规则: 业务A 慢请求⽐比例例 > 80% 案例例2 告警规则: 磁盘容量量可⽤用率 <10% 告警规则: 磁盘容量量预计将于3⼩小时后饱和 0 now -1h +3h predict_linear(node_filesystem_free{}[1h], 3 * 3600)0 码力 | 34 页 | 650.25 KB | 1 年前3
共 3 条
- 1













