写点什么

Twitter 开源遥测工具 Rezolus,可用于检测瞬态异常

  • 2019-09-08
  • 本文字数:845 字

    阅读完需:约 3 分钟

Twitter开源遥测工具Rezolus,可用于检测瞬态异常

Twitter 工程团队开源了他们的遥测工具 Rezolus,该工具可以通过比常规工具更高的采样频率来检测系统性能指标中的异常。 Rezolus 以很高的速率采集样本,且采样频率是可配置的。它根据采集到的数据生成直方图,并将百分位数据导出到后端的时序存储中。在“百分位数的尾部”可以检测到短暂的异常。


Rezolus 的需求来源于检测在遥测工具采样时间间隔内发生的异常。例如,大多数工具都配置成每隔 15 秒或 1 分钟才采样一次数据,因为更高的频率可能会导致过多的数据点,从而导致更高的存储成本。在 Twitter 上,一些高吞吐量的基准测试产生了现有工具无法检测到的异常。


Rezolus 可以使用名为“samplers”的插件从多个资源中收集数据。一些采样器会从 Linux 内核资源中读取数据。这些数据包括 CPU、网络及磁盘使用情况等指标,这些指标是从传统的资源(如 procfs 和 sysfs)中获得的。除了这些传统的资源外,Rezolus 还支持perf_events,它是一个嵌入在 Linux 内核中的工具。perf_events 可用于收集硬件和软件事件相关的数据,比如页错误、上下文切换及缓存命中/未命中等。Extended Berkeley Packet Filter(eBPF)也支持在内核组件上收集指标。 eBPF是一组低级别的 API,通过该 API 可以很方便地为 Linux 内核构建分析工具。此外,Rezolus 还可以通过将高频指标转换为基于直方图的指标,从而可以充当应用程序和其他指标收集器之间的桥梁。


根据文档中所写,Rezolus“通过在内核中收集遥测数据,可以以极低的性能开销收集到在极高速率下才会发生的事件数据,比如,任务调度。“ Rezolus 的作者之一、Twitter 工作后台网站的可靠性工程师Brian Martin说到,采用 10Hz(10 次/秒)的采样频率时,它通常会占用 15%的 CPU 内核。禁用 eBPF 可以进一步降低资源消耗。


Rezolus 是用 Rust 编写的,并在 Apache 2.0 许可下发布。它重用了一个名为rpc-perf的 Twitter 度量库。Twitter 工程团队使用 Rezolus 已经有一年多了。


原文链接:


Twitter Open Sources Its Telemetry Tool Rezolus for Detection of Short Lived Anomalies


2019-09-08 08:003401
用户头像

发布了 219 篇内容, 共 108.3 次阅读, 收获喜欢 525 次。

关注

评论

发布
暂无评论
发现更多内容

如何花“一点点小钱”突破华为云CCE服务的“防线”

华为云开发者联盟

容器 k8s

ClickHouse最佳实战之分布表写入流程分析

京东科技开发者

数据库

12张图带你彻底理解分布式事务产生的场景和解决方案!!

冰河

分布式事务 2PC 可靠消息最终一致 TCC 最大努力通知

架构师训练营第四周命题作业

一马行千里

极客大学架构师训练营 命题作业

numexpr:你以为numpy已经够快了,其实它还可以更快

计算机与AI

Python 学习 数据分析 Numpy

Apache Pulsar 社区周报:09-26 ~ 10-09

Apache Pulsar

大数据 开源 云原生 Apache Pulsar 消息中间件

Java-技术专题-JDK8-HashMap的实现原理

洛神灬殇

芯片破壁者(十七):“硅谷市长”罗伯特•诺伊斯开启的产业法则

脑极体

重大事故!IO问题引发线上20台机器同时崩溃

AI乔治

Java 架构 多线程 io 并发

使用Spring Boot创建docker image

程序那些事

Docker spring Spring Boot Spring Boot 2

架构师训练营第四周作业

脸不大

算法图解:如何找出栈中的最小值?

王磊

Java 数据结构 算法

年轻代频繁ParNew GC,导致http服务rt飙高

AI乔治

Java 学习 架构 JVM GC

一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程

AI乔治

Java 编程 架构 JVM GC

怎么才算掌握了JDK中的线程池

AI乔治

Java 编程 架构 jdk 线程池

打通IO栈:一次编译服务器性能优化实战

AI乔治

Java 编程 架构 io 高性能

一次百万长连接压测 Nginx OOM 的问题排查分析

AI乔治

Java nginx 架构 服务端 高性能

代表Java未来的ZGC深度剖析,牛逼!

AI乔治

Java 架构 ZGC JVM GC调优

图解面试题-二叉树的所有路径

9527

Java 面试 算法 LeetCode 二叉树

如何优雅的搞垮服务器,再优雅的救活

MySQL从删库到跑路

Linux 升级glibc 启动异常 无法进入系统 抢救模式

程序员黄金年龄25-28岁,我们30+的人该去哪儿?附华为案例;

Java架构师迁哥

Flink周期性水位线分配器-6-3

小知识点

scala 大数据 flink

为什么学习总是停在开头两页?

Nydia

异步excel导出组件设计和实现

Wayne Chu

Java 微服务 EasyExcel SpringCloud 服务治理

一周信创舆情观察(9.28~10.11)

统小信uos

让超宽带抵达产业互联网:UBBF上演智能联接全面落地

脑极体

架构师训练营第 1 期第四周课后练习题

Leo乐

极客大学架构师训练营

架构师训练营第四周学习笔记

一马行千里

学习 极客大学架构师训练营

阿里大牛精心整理了46张PPT,教你弄懂JVM、GC算法和性能调优

Java架构之路

Java 程序员 面试 编程语言 JVM

Netty源码解析 -- 客户端启动过程

binecy

Netty nio 源码阅读

系统架构--作业

Nick~毓

Twitter开源遥测工具Rezolus,可用于检测瞬态异常_开源_Hrishikesh Barua_InfoQ精选文章