B站统⼀监控系统的设计,演进 与实践分享
点播/直播 • 播放卡顿 • 平均⾸首帧 • 播放失败率 • 弹幕加载 • cdn质量量 客户端质量量 • ⽤用户端⽹网络质量量 • 劫持情况 • 崩溃&卡顿 • 返回码 • 响应时间 • 错误率 服务端监控 ⽤用户端监控 如何推进? 服务端监控 场景 分析监控场景对应监控⼿手段 类型 metric类型 ⽇日志类型 ⾃自定义类型 ⼿手段 3600) < 0 异常检测 异常流量量 abs(requests - requests:holt_winters_rate1h offset 7d) > 0.3 * requests:holt_winters_rate1h offset 7d 告警规则: 预测业务A请求量量异常 异常响应 todo • 异常事件关联关系挖掘 • 全联路路模块调⽤用分析 • 瓶颈分析 针对历史事件0 码力 | 34 页 | 650.25 KB | 1 年前3PromQL 从入门到精通
255 inet6 fe80::5054:ff:fed2:a180 prefixlen 64 scopeid 0x20 ether 52:54:00:d2:a1:80 txqueuelen 1000 (Ethernet) RX packets 457952401 bytes 125894899868 (117.2 GiB) 有巨大变化,那怎么 才能获取历史数据呢?可以使用 offset 关键字。 offset 后面跟一个时间段,比如 5m、1d、7d、1w,offset 要紧跟查询选择器,比如: sum(http_requests_total{method="GET"} offset 1d) 运算符 PromQL 支持基本的算术运算符和比较运算符,可以对不同的即时向量做运算,这为监控系统 带来了巨大的进步 count_gt_over_time(interface_status[5m], 10) >= 3 3 4 1 看到这个写法,基本能直观理解其含义了, count_gt_over_time(series_selector[d], gt) 函数 有两个参数,一个是 range-vector,一个是标量 gt,表示在 range-vector 中大于 gt 的个 数,如果大于等于 3,就报警。除了 count_gt_over_time0 码力 | 16 页 | 2.77 MB | 1 年前3Prometheus Deep Dive - Monitoring. At scale.
Dev Summit: https://docs.google.com/document/d/ 1DaHFao0saZ3MDt9yuuxLaCQg8WGadO8s44i3cxSARcM/edit Prometheus 2018 Dev Summit: https://docs.google.com/document/d/ 1-C5PycocOZEVIPrmM1hn8fBelShqtqiAmFptoG4yK70/edit0 码力 | 34 页 | 370.20 KB | 1 年前3OpenMetrics - Standing on the shoulders of Titans
intro OpenMetrics Outro Further reading Prometheus 2017 Dev Summit: https://docs.google.com/document/d/ 1DaHFao0saZ3MDt9yuuxLaCQg8WGadO8s44i3cxSARcM/edit OpenMetrics: https://github.com/OpenObservability/OpenMetrics0 码力 | 21 页 | 84.83 KB | 1 年前3
共 4 条
- 1