B站统⼀监控系统的设计,演进
与实践分享崩溃&卡顿 • 返回码 • 响应时间 • 错误率 服务端监控 ⽤用户端监控 如何推进? 服务端监控 场景 分析监控场景对应监控⼿手段 类型 metric类型 ⽇日志类型 ⾃自定义类型 ⼿手段 时间序列列数据 ⽇日志处理理流 ⾃自研 ⽤用户端监控 apm ⾃自研 客户端 播放器器 如何推进? 服务端监控 场景 分析监控场景对应监控⼿手段 类型 类型 metric类型 ⽇日志类型 ⾃自定义类型 ⼿手段 时间序列列数据 ⽇日志处理理流 ⾃自研 ⽤用户端监控 apm ⾃自研 客户端 播放器器 metric⽅方案选型 • 能覆盖⼤大部分监控场景 • 固定⼏几种数据类型 ✦ Counter ✦ Gauge ✦ 等.. • 时序数据 ✦ 具有统计特性 ✦ 具有规律律性 metric数据特征 metric数据特征 选型原则 • 基于开源⽅方案,⼆二次开发 • 具备现代时间序列列数据库的特性 • 活跃项⽬目,具有成熟的⽣生态环境 结论 • prometheus • ⽀支持任意维度label • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ 监控⽬目标 • 10+ prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式0 码力 | 34 页 | 650.25 KB | 1 年前3
1.6 利用夜莺扩展能力打造全方位监控系统单机版Prom 2. 集群版m3db 3. 集群版n9e-tsdb 3种存储方案,按需选择 Agentd 夜莺设计实现 Agentd 数据采集 第四部分 监控系统的核心功能,是数据采集、存储、分析、展示,完 备性看采集能力,是否能够兼容并包,纳入更多生态的能力, 至关重要 夜莺数据采集 01.监控数据采集,all in one的agentd Agentd 进程存 活 端口监 机制,轻量易用,无业务侵入性 • 内置集成了多种数据库中间件的采集以及网络设 备的采集,复用telegraf和datadog-agent的能力 • 支持statsd的udp协议,用于业务应用的apm监控 分析 夜莺数据采集 01.监控数据采集,all in one的agentd 夜莺数据采集 02. Autoconfig Forwarder 夜莺数据采集 02. Autoconfig Forwarder read 夜莺Server数据处理 夜莺设计实现 技术难点及细节 第六部分 01. 规则集中化管理及自动发现 夜莺 技术难点及细节 02. 采集器 夜莺 技术难点及细节 02. 数据序列化及传输问题 夜莺 技术难点及细节 Thank you0 码力 | 40 页 | 3.85 MB | 1 年前3
告警OnCall事件中心建设方法白皮书
默、抑制、收敛聚合、降噪、排班、认领升级、协同闭环 处理等等。看起来需求很多,最核心的痛点有两个: ● 告警太多,打扰太多 ● 告警疏漏,无法闭环 我们先来看第一个痛点,首先分析一下造成告警太多、打扰太多的原因是什么,然后针对原因提出对应的 方案。 告警太多的常见原因 最常见的原因,是告警规则设置得不合理。比如很多规则触发了告警之后,实际没有后续动作,只是起到 道发出,用户可能会觉得单一渠道不可 靠,想用多个渠道同时发送的方式来保障告警触达率,这也属于告警规则配置不合理的范畴。 第四个原因是预期内的维护动作导致的。比如程序升级变更,如果进程重启时间过长,可能会导致关联的 服务告警,或者某个机器重启,忘记提前屏蔽了,也会产生一堆关联告警。 了解了常见原因,下面我们来看一下有哪些常见解法。 优化告警规则 类似 PagerDuty 员,我们应该怎么处理?我的建议是分产品线统计一个指标:“Runbook 预置率”,就是各个产品线有 多少告警规则配置了 Runbook,有多少没有配置,这个比例要统计出来,然后做成红黑榜,让大家去治 理,治理一段时间之后有经验了,知道预置率大概在一个什么范围是合理的,然后就可以要求大家至少达 到预置率下限的值。否则,就一定是有问题的。 Runbook 这个配置原则,是我最为推荐的原则,效果非常明显,其次就是告警分级原则。0 码力 | 23 页 | 1.75 MB | 1 年前3
PromQL 从入门到精通生态的监控系统,PromQL 是必备技能,本文着重点讲解这个查询语言,掺 杂一些生产实践场景,希望对你有所帮助。 ? 本文作者:秦晓辉,Open-Falcon、Nightingale 等开源项目创始人之一,极客时间《运 维监控系统实战笔记》作者;当前在创业(快猫星云联创),为客户提供监控/可观测性产品 方案,有需求的朋友欢迎联系我的微信 picobyte。 数据类型 Prometheus 有四种数据类 15:05:22 这个时刻,每个机器都有 一个可用率数据点,共计 5 个数据点。 上面的图是查询的最近一小时的,我们切换到 Table 视图,得到如下结果: 这个表格的内容,是这 5 台机器在当前这个时间点的最新值,当前我做查询的时刻是:2022- 08-25 15:48:03 用 Chrome 开发者工具可以看到发的请求参数: 但是,监控数据是周期性上报的,比如每 10 秒上报一次,在 2022-08-25 视图,又可以用 于展示 Graph 视图,是典型的 Instant Query。 如果在表达式后面加上一个时间范围,比如 1 分钟: mem_available_percent{app="clickhouse"}[1m] 这个查询表达式就变成了 Range Query, Range Query里有个时间范围,其 Table 视图的截图如下: 第 4 台机器相比其他的机器,返回了更多数据,是因为那个机器的监控数据采集频率是0 码力 | 16 页 | 2.77 MB | 1 年前3
4 【王琼】容器监控架构演进 王琼 YY直播
. . . . . . . . . . . . . │ . . . . . . . . . . . . . . . . . . v <------------------ 时间 ----------------> ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ 参考文档:https://ganeshvernekar.com/blog/prometheus-tsdb-the-head-block/0 码力 | 23 页 | 2.17 MB | 1 年前3
共 5 条
- 1













