1.6 利用夜莺扩展能力打造全方位监控系统利用夜莺扩展能力打造全方位监控系统 喻波 滴滴 专家工程师 目 录 运维监控需求来源 01 监控痛点:全面完备、跨云 02 夜莺介绍: 国产开源监控系统 03 夜莺设计实现:Agentd 数据采集 04 夜莺设计实现:Server 数据处理 05 夜莺设计实现:技术难点及细节 06 运维监控需求来源 第一部分 如果贵司的业务强依赖IT技术,IT故障会直接影响营业收入, 监控痛点:全面完备、跨云 第二部分 端上、链路、资源、组件、应用多维度跨云监控,不管哪个 环节出问题都能及时感知 产品要求 01.端上、链路、资源、组件、应用多维度跨云监控 端上 卡顿 崩溃 链路 连通性 链路质量 服务端 硬件资源 组件服务 业务应用 夜莺介绍:国产开源监控系统 第三部分 国产开源监控产品相对比较匮乏,夜莺希望重新定义国产开 源监控,支持云原生监控,经受了滴滴大规模生产检验 源监控,支持云原生监控,经受了滴滴大规模生产检验 Nightingale 夜莺是新一代国产智能监控平台,既可以解决传统物理机虚拟机的场景,也可以解 决容器的场景。衍生自Open-Falcon和滴滴Odin监控,经受了包括小米、美团、滴滴 在内的数百家企业的生产环境验证,简单可依赖,好用到爆! 3500+ 600+ 500+ star issue fork 项目:https://github.com/didi/nightingale0 码力 | 40 页 | 3.85 MB | 1 年前3
告警OnCall事件中心建设方法白皮书
Nagios、Zabbix、Open-Falcon、 Nightingale、Grafana、Prometheus、Elastalert 等等,还有云厂商提供的监控系统,比如华为云的云 监控、腾讯云的云监控、阿里云的云监控,甚至有些云厂商会提供多个割裂的监控系统,比如阿里云不但 有云监控,还有 ARMS,还有 SLS。 大部分公司都不会只使用一套监控系统,网络设备的监控可能采用的 Zabbix,Kubernetes 用的 Prometheus(Kubernetes 可能有多套,以至于 Prometheus 可能有多套)或者 Nightingale, 日志的监控可能用的 Elastalert,如果上云了,可能还会有多套不同的云监控(尤其是多云场景下)。 监控系统的重心,通常是采集、存储、可视化、生成告警事件,但通常都不具有完备的事件后续处理能 力。这里说的后续处理主要包括:多渠道分级通知、告警静默、抑制、收敛聚合、降噪、排班、认领升 聊天群组,平时都不用关注,只要 每天早上上班或晚上下班之前稍微看一眼就行,这样就可以减少打扰。 制定了这个原则之后,如果大家不遵守怎么办呢?还是有很多告警没有对应的 Runbook,作为管理人 员,我们应该怎么处理?我的建议是分产品线统计一个指标:“Runbook 预置率”,就是各个产品线有 多少告警规则配置了 Runbook,有多少没有配置,这个比例要统计出来,然后做成红黑榜,让大家去治0 码力 | 23 页 | 1.75 MB | 1 年前3
B站统⼀监控系统的设计,演进
与实践分享降低使⽤用成本 agent prometheus target target target alert_manager 告警平 服务 cache db平台 rms资 外围系统 监控⽬目 规则⽣生 告警规 api 规则管理理 获取监控⽬目标 IDC_1 agent prometheus target target target IDC_2 获取 监控⽬目标 告警规则 降低使⽤用成本 agent prometheus target target target alert_manager 告警平 服务 cache db平台 rms资 外围系统 监控⽬目 规则⽣生 告警规 api 规则管理理 获取监控⽬目标 IDC_1 agent prometheus target target target IDC_2 获取 监控⽬目标 告警规则 降低使⽤用成本 agent prometheus target target target alert_manager 告警平 服务 cache db平台 rms资 外围系统 监控⽬目 规则⽣生 告警规 api 规则管理理 获取监控⽬目标 IDC_1 agent prometheus target target target IDC_2 获取 监控⽬目标 告警规则0 码力 | 34 页 | 650.25 KB | 1 年前3
PromQL 从入门到精通从了。 Prometheus 文档中有一个章节专门介绍函数,各个函数的介绍中,都会写明是用于 instant- vector,还是用于 range-vector,如果不理解查询类型,就无法很好的应用这些函数。 查询选择器 PromQL大括号里的部分是 selector,查询选择器,用于从一大堆监控数据中,过滤出真正关心 的数据,在 Prometheus 生态里,时序数据的标识,就是一堆标签集合,所以这里的过滤,就 (multiplication) / (division) % (modulo) ^ (power/exponentiation) 1 1 举一个例子来演示真实环境下的算术运算符的应用,比如之前的例子,对于内存可用率的指标 mem_available_percent 这个指标是采集器直接计算好的,如果采集器没有计算,而是上报了 原始指标 mem_available 和 mem_total,我们仍然可以使用 分位的值,但是这个值不是通过promql在服务端计算的,而是在应用的内存里,在SDK层面计 算的,即客户端把这个分位值算好,再上报给服务端,服务端就无需通过histogram_quantile 这么重的函数做计算了,而是直接查看就好。 但是,既然是在客户端SDK层面计算,就会产生局限,这些分位值只能是实例级别(或者说进程 级别,因为SDK是在应用进程里运行的)的分位值,这个是否个问题? 笔者看来,0 码力 | 16 页 | 2.77 MB | 1 年前3
共 4 条
- 1













