写点什么

LinkedIn 详细介绍了由他们开源的 Kafka Monitor

  • 2016-06-14
  • 本文字数:1200 字

    阅读完需:约 4 分钟

在 2016 年 4 月份举行的 Kafka 峰会上,LinkedIn 在 Apache 2.0 许可协议开源 Kafka Monitor,并于近日详细介绍了该监控工具的架构以及他们最初的构建动机。在年初的时候,LinkedIn 曾在一篇有关Kafka 整体应用的文章中简单地提及过Kafka Monitor,但并没有详细介绍该项目的语义组成或者背后的动机。

Kafka Monitor 项目的动机有三个:

  1. 需要监控和测试 Kafka 部署并跟踪主干稳定性,以便他们能够尽早捕获正在开发的变更集中的问题;
  2. 需要不间断地在生产集群上监控 SLA,并不断地在测试集群上运行回归测试;
  3. 现有的监控框架无法满足其用例的扩展性、模块化需求,他们需要一个自定义的客户端库。

网站可靠性工程部门过去已经监控了输入速率、离线分区数和正在复制的分区数等指标,以确定 Kafka 集群的可用性和系统整体的健康状况。然而,问题在于,这类原始的值本身无法表明集群在终端用户体验方面是否真的可用。

在 LinkedIn 的公开出版物 Keystone Pipeline 里,他们提到了两个潜在的 Kafka 候选监控方案,微软的一个项目和Netflix Kafka 监控,但最终确定它们不适合自己的应用场景。

Kafka Monitor 允许开发人员组合模拟各种故障场景的模块,如 GC 中断、broker 硬杀及“滚动弹出(rolling bounces)”、磁盘故障,并随着场景进行收集有关服务运行时行为的指标。每次当生产者创建消息时抛出的异常被捕获,衡量生产者服务错误率的指标就会增加。消费者服务会跟踪一个由 Kafka 分区分割的增量索引计数器以及消息净荷的时间戳,以便度量消息丢失率、重复率以及端到端延迟。

Kafka Monitor 实例运行在一个单独的 Java 进程中,运行多个测试,介于用户或消费者服务与 Kafka 集群之间。Kafka Monitor 收集的运行时指标包括生产者服务的生产效率、消费者服务的消费效率、消息丢失、消息重复和端到端延迟。多个 Kafka Monitor 跨多个 Kafka 集群运行大量的测试场景,这可以由一个复制服务通过镜像方式捕获跨集群的总体延迟指标。

Kafka Monitor 原生支持 Java,但也为非 JVM 语言提供了一个 REST 接口。这对开源社区有着特殊的意义,LinkedIn 的 Dong Lin 表示:

我们一般会脱离 Apache Kafka 主干,并每季度生成一个新的内部版本,或者吸收 Apache Kafka 的新特性。脱离主干的一个显著的好处是,部署在 LinkedIn 生产集群中的 Kafka 经常有已经在 Apache Kafka 主干中检测到的问题,他们可以在 Apache Kafka 正式版本发布之前进行修复。

Kafka 项目本身包含一些系统测试,每次代码捡入时都会运行,鉴于和 Kafka 主干的紧密关系,LinkedIn 计划实现类似的系统测试。他们希望将 Kafka Monitor 和类似 Simoorg 这样的错误注入框架以及 Graphite 或类似的框架集成,以便能够通过一个单独的 Web 服务查看 Kafka Monitor 集群生成的所有指标。

LinkedIn 还简单地提到了如何设置基本的监控,生成并可视化核心指标。他们的 GitHub 页面提供了详细的信息。

查看英文原文 LinkedIn Details Open-Sourced Kafka Monitor

2016-06-14 19:005772
用户头像

发布了 1008 篇内容, 共 406.3 次阅读, 收获喜欢 345 次。

关注

评论

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

复盘上次Redis缓存雪崩事故,中级Java工程师面试题

Java 程序员 后端

Rust 与 C++:深入的语言比较

奔着腾讯去

c++ rust 安全 编程语言 并发

Kafka 常用工具脚本总结

Se7en

和腾讯大佬的技术面谈,BTAJ面试有关散列(哈希)表的面试题详解

Java 程序员 后端

OceanBase 源码解读(四):事务的一生

OceanBase 数据库

数据开发 oceanbase OceanBase 开源 OceanBase 社区版 OceanBase 数据库大赛

人类视觉神经科学助力音视频产业革命 - 弱网下的极限实时通信

声网

音视频 弱网下的极限实时视频通信

和阿里大牛的技术面谈,金三银四旗开得胜

Java 程序员 后端

JavaScript进阶(上)

Augus

JavaScript 9月日更

关系型数据库如何存储树形结构?

王博

网络安全之一个渗透测试小案例

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

中国移动5G消息开发者社区第三期直播课堂圆满结束,直播回放已上线社区!

5G消息

和腾讯大牛的技术面谈,分布式系统中ACID和CAP有什么区别

Java 程序员 后端

基础+缓存雪崩+哨兵+集群+Reids场景设计,经验分享

Java 程序员 后端

FLV格式解析

轻口味

android 音视频 RTMP 9月日更

☕【JVM技术指南】「理论总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】

码界西柚

JVM GC 垃圾回收算法 9月日更

16. 奇点来临?

Databri_AI

人工智能

NoSQL数据库——Cassandra

hanaper

上云迁移之路,如何选择适合方式?

云计算

和阿里大牛的技术面谈,字节跳动Java实习面试凉凉经

Java 程序员 后端

堪比狗血剧!18名Java程序员凭阿里P8笔记,同时斩获大厂offer

Java 编程 面试 阿里 大厂

“融合创新”是区块链的应用发展趋势吗?

CECBC

MDEX市值机器人系统开发功能介绍

量化系统19942438797

交易所 市值机器人 MDEX

和阿里大牛的技术面谈,springcloud面试题汇集与答案

Java 程序员 后端

想要掌握未来嘛?这份腾讯高工撰写的Redis实战笔记就告诉你什么是未来!

Java 腾讯 面试 大厂 金九银十

译介:《组装一台电脑9:精简》

姬翔

9月日更

桐乡引入百度智能云开物工业互联网,数字经济再提速

百度大脑

人工智能

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC

读完这份阿里高质量性能优化全解,我的系统终于不再频繁瘫痪了

Java 阿里巴巴 编程 面试 金九银十

Nacos 开源、自研、商业化三位一体战略解读

阿里巴巴中间件

云计算 阿里云 微服务 云原生 nacos

【Vuex 源码学习】第一篇 - Vuex 的基本使用

Brave

源码 vuex 9月日更

LinkedIn详细介绍了由他们开源的Kafka Monitor_开源_Dylan Raithel_InfoQ精选文章