B站统⼀监控系统的设计,演进
与实践分享devops • 热爱新技术,热爱开源 • ⼩小宅男 故事的开始 B站炸了了.舆情监控(括弧笑脸) 我们的挑战 • 技术栈多 • 产品模块复杂 • 业务爆发式增⻓长 • 运维要求⾼高 当前情况: • 覆盖率低 • 误报,漏漏报多 • 告警⻛风暴暴 监控问题爆发: 重新定义的监控系统 ✦ 完整的监控体系 ✦ 科学的告警策略略 ✦ 统⼀一的告警中⼼心 完整的监控体系 • 容器器 • 专线质量量 • 机房出⼝口质量量 • 交换设备 • http • tcp • ping 基础层 应⽤用层 • cache资源 • db资源 • mq资源 • lb资源 • es资源 • 分布式⽂文件 • 进程监控 业务层 • qps/tps • 耗时分布 • 饱和度 • 吞吐量量 • 依赖响应 • 缓存命中率 target target IDC_2 获取 监控⽬目标 告警规则 web push rule push rule 获取监控数据 获取监控数据 推送告警 1. 降低编写规则的成本 2. 降低多idc维护成本 规则管理理⻚页⾯面 例例⼦子 - 业务监控 稿件 账号 Feed PAAS托管 服务树 container http server sdk 注册 获取target0 码力 | 34 页 | 650.25 KB | 1 年前3
告警OnCall事件中心建设方法白皮书
备的监控可能采用的 Zabbix,Kubernetes 的监控可能 用的 Prometheus(Kubernetes 可能有多套,以至于 Prometheus 可能有多套)或者 Nightingale, 日志的监控可能用的 Elastalert,如果上云了,可能还会有多套不同的云监控(尤其是多云场景下)。 监控系统的重心,通常是采集、存储、可视化、生成告警事件,但通常都不具有完备的事件后续处理能 这种产品,一定程度上是可以解决一些告警过多的问题,但如果能从告警规 则的源头做好优化,自然是事半功倍。很多公司的告警规则配置没有原则可循,每次故障复盘先看告警是 否漏报,一线工程师为了不背锅,自然是尽量多地提高告警覆盖面,但这么做的后果,就是告警过多,无 效告警占多数,长此以往,工程师疲惫不堪。 那么告警规则的配置应该遵照一个什么原则呢?虽然每个公司业务不同,总有一些通用的原则可循吧?的 的目的。 告警自动处理的这段逻辑,未必一定能够做到告警自愈,有的时候只是使用这个机制来抓现场,也是非常 有价值的。比如某个进程挂掉了,在挂掉的时候我想知道当时机器的一些运行情况,比如各项资源的占用 情况、系统日志的信息等等,我们就可以借助告警自动处理的这个方式,来自动跑个脚本抓取当时机器上 的一些现场信息,相比收到告警之后手工登录机器查看要高效得多。 如上,是从思路方法层0 码力 | 23 页 | 1.75 MB | 1 年前3
1.6 利用夜莺扩展能力打造全方位监控系统『定位』都是面向尽快『止损』来 实现。 监控痛点:全面完备、跨云 第二部分 端上、链路、资源、组件、应用多维度跨云监控,不管哪个 环节出问题都能及时感知 产品要求 01.端上、链路、资源、组件、应用多维度跨云监控 端上 卡顿 崩溃 链路 连通性 链路质量 服务端 硬件资源 组件服务 业务应用 夜莺介绍:国产开源监控系统 第三部分 国产开源监控产品相对比较匮乏,夜莺希望重新定义国产开0 码力 | 40 页 | 3.85 MB | 1 年前3
PromQL 从入门到精通by相反的是without): avg(mem_available_percent{app=~"clickhouse|canal"}) by (app) 函数 Prometheus 函数非常多,具体文档参考:https://prometheus.io/docs/prometheus/latest/ querying/functions/ 这一节我们举例说明一些常用的函数。 absent_over_time 分位值,这个是否个问题? 笔者看来,这是个问题,但是这个问题不是特别严重,如果要求全局的90分位值,可以把所有 实例的90分位值取个平均,虽然不是那么准确,也凑合能用。而实际上,对于一个服务部署多 个实例的场景,通常这多个实例是负载均衡的,查看其中一个实例的分位值和查看总体的分位值 理论上差不太多。而且,如果某个机器有问题,比如某个机器磁盘故障,导致部署在上面的实例 异常,延迟变高,其他0 码力 | 16 页 | 2.77 MB | 1 年前3
共 4 条
- 1













