B站统⼀监控系统的设计,演进 与实践分享
2015年年加⼊入B站 • devops • 热爱新技术,热爱开源 • ⼩小宅男 故事的开始 B站炸了了.舆情监控(括弧笑脸) 我们的挑战 • 技术栈多 • 产品模块复杂 • 业务爆发式增⻓长 • 运维要求⾼高 当前情况: • 覆盖率低 • 误报,漏漏报多 • 告警⻛风暴暴 监控问题爆发: 重新定义的监控系统 ✦ 完整的监控体系 ✦ 科学的告警策略略 • http • tcp • ping 基础层 应⽤用层 • cache资源 • db资源 • mq资源 • lb资源 • es资源 • 分布式⽂文件 • 进程监控 业务层 • qps/tps • 耗时分布 • 饱和度 • 吞吐量量 • 依赖响应 • 缓存命中率 • 调⽤用链 • SLA • ⽇日志 播放质量量 • 点播/直播 prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式 • 使⽤用成本 问题: ? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard C targets hash • horizontal sharding (实验性质使⽤用) • prometheus 2.0 (tsdb)0 码力 | 34 页 | 650.25 KB | 1 年前3告警OnCall事件中心建设方法白皮书
割裂的监控系统,比如阿里云不但 有云监控,还有 ARMS,还有 SLS。 大部分公司都不会只使用一套监控系统,网络设备的监控可能采用的 Zabbix,Kubernetes 的监控可能 用的 Prometheus(Kubernetes 可能有多套,以至于 Prometheus 可能有多套)或者 Nightingale, 日志的监控可能用的 Elastalert,如果上云了,可能还会有多套不同的云监控(尤其是多云场景下)。 否漏报,一线工程师为了不背锅,自然是尽量多地提高告警覆盖面,但这么做的后果,就是告警过多,无 效告警占多数,长此以往,工程师疲惫不堪。 那么告警规则的配置应该遵照一个什么原则呢?虽然每个公司业务不同,总有一些通用的原则可循吧?的 确如此,这里我分享一下我个人的做法,希望对你有所启发。 每个规则都应该对应具体的 Runbook Runbook 就是告警处理手册,也就是告警触发 服务相关信息,比如代码仓库、系统架构、依赖哪些服务、依赖哪些系统参数、哪些 JVM 参数、常 见问题还有处理办法等等。 然后进行准入评审及准入测试,如果系统架构有明显问题,就没办法通过准入要求,不接受运维,如果老 板要求必须接,那就只能加人了,或者明确说明在架构调整好之前,不负责 SLA,反推业务改造。 上面介绍的两个告警规则优化原则,是最重要的两个原则。照做的话,可以搞定大部分无效告警。 除了原0 码力 | 23 页 | 1.75 MB | 1 年前3PromQL 从入门到精通
和 Counter。所以我们重点就来讲解 Gauge 和 Counter 类型。 Gauge 类型 Gauge 类型的值表示当前的状态,可大可小、可负可正,比如某个虚机实例挂了,用 0 表示, 如果实例存活,用 1 表示;再比如内存使用率,这个时刻采集是 33.7%,下个周期采集可能就 变成了 25.8%;还有像机器最近 5 分钟的 load、正在运行的进程数量等等,都使用 Gauge 类 上面的图是查询的最近一小时的,我们切换到 Table 视图,得到如下结果: 这个表格的内容,是这 5 台机器在当前这个时间点的最新值,当前我做查询的时刻是:2022- 08-25 15:48:03 用 Chrome 开发者工具可以看到发的请求参数: 但是,监控数据是周期性上报的,比如每 10 秒上报一次,在 2022-08-25 15:48:03 这个时 刻,未必恰好有监控数据啊,那这个 Table Query,返回范围向量的查询表达式,我们称为 Range Query。 上例中的 mem_available_percent{app="clickhouse"} 既可以用于展示 Table 视图,又可以用 于展示 Graph 视图,是典型的 Instant Query。 如果在表达式后面加上一个时间范围,比如 1 分钟: mem_available_percent{app="clickhouse"}[1m]0 码力 | 16 页 | 2.77 MB | 1 年前31.6 利用夜莺扩展能力打造全方位监控系统
夜莺设计实现:Server 数据处理 05 夜莺设计实现:技术难点及细节 06 运维监控需求来源 第一部分 如果贵司的业务强依赖IT技术,IT故障会直接影响营业收入, 稳定性体系一定要重视起来,而监控,就是稳定性体系中至 关重要的一环 运维监控需求来源 01.监控的原始需求来自业务稳定性 左图是2013年的一个新闻,讲 Google宕机的影响。2020年也出现 过aws大规模宕机的情况,影响不 互联网! 2018年有美国调研机构指出,如 果服务器宕机1分钟,银行会损失 27万美元,制造业会损失42万美 元 美团故障?滴滴故障?腾讯故障? 运维监控需求来源 01.监控的原始需求来自业务稳定性 如何减少服务停摆导致的经济损失?尽快发现故障并止损!故障处理过程中,监控是『发现』和『定位』两个环节 的关键工具。故障处理过程的首要原则是『止损』,因此,过程中的『发现』和『定位』都是面向尽快『止损』来 端上、链路、资源、组件、应用多维度跨云监控,不管哪个 环节出问题都能及时感知 产品要求 01.端上、链路、资源、组件、应用多维度跨云监控 端上 卡顿 崩溃 链路 连通性 链路质量 服务端 硬件资源 组件服务 业务应用 夜莺介绍:国产开源监控系统 第三部分 国产开源监控产品相对比较匮乏,夜莺希望重新定义国产开 源监控,支持云原生监控,经受了滴滴大规模生产检验 Nightingale 夜莺是新一代0 码力 | 40 页 | 3.85 MB | 1 年前3
共 4 条
- 1