Apache Kafka监控


Apache Kafka-概述

Apache Kafka是由LinkedIn开发的开源,容错,基于发布-订阅的消息传递系统。Kafka是一种分布式日志服务,由于其更高的吞吐量,可伸缩性,可靠性和复制性,通常被用来代替传统的消息broker。

监控Apache Kafka-监控内容

Apache Kafka是数据集成的一种完美选择,包含快速且高度可扩展的功能。Kafka节点以弹性方式创建和删除;一个节点实时处理来自数千个客户端的数百次读/写。数据流分为多个分区,并分布在不同的broker上。Kafka技术细节延伸极其广泛,为此,拥有强大的Kafka监控软件对于解决问题和优化性能至关重要。

Applications Manager的 Kafka性能监控旨在帮助管理员收集Kafka指标,管理集群并就潜在问题自动向其发出告警。让我们看看监控Kafka所需要看到的内容以及通过Applications Manager收集的性能指标:

  • 资源利用率详细信息-自动发现Kafka服务器,监控内存和CPU并获取有关资源消耗变化的告警。
  • 线程和JVM使用情况-使用诸如Daemon,Peak和Live Thread Count之类的指标跟踪线程使用情况。确保启动的线程不会使服务器的内存过载。
  • broker,控制器和复制统计信息-监控活动的控制器,并查看broker是否已启动了不可用分区的数量。监控broker统计信息,例如日志刷新延迟(以确保更长的刷新时间不会备份管道)和复制不足的分区(指示复制的速度不如配置的快)。
  • 网络和主题详细信息-精确定位导致速度下降的请求细分。请随时注意主机上的网络使用情况,以免性能下降与网络无关。使用Broker Topic字节速率指标,确保磁盘吞吐量不会引起性能瓶颈。
  • 更快地解决性能问题-Apache Kafka的组件出现性能问题时,可立即获得通知。在终端用户遇到问题之前,请意识到性能瓶颈并采取快速的补救措施。

创建一个新的Kafka监视器

支持的版本:版本0.7.0至0.10.0.1

使用REST API创建新的Kafka监视器: 点击此处

要创建Apache Kafka Monitor,请执行以下步骤: 

  1. 点击新建监视器 链接。选择 Apache Kafka
  2. 输入监视器的显示名称
  3. 输入运行Kafka的主机的 IP地址主机名
  4. 在JMX端口字段中输入 JMX端口。
  5. 输入凭证详细信息,例如用户名,密码JNDIPath,或从凭证管理列表中选择凭证。
  6. 输入轮询间隔时间(以分钟为单位)。
  7. 如果要测试对Apache Kafka服务器的访问,请点击测试凭证按钮。
  8. 从组合框中选择要与Apache Kafka 监视器关联的 业务组(可选)。您可以选择多个组来关联您的监视器。
  9. 点击 添加监视器。这将从网络中发现Apache Kafka并开始监控。

注意: 
如果启用JMX后仍无法添加监视器,请尝试提供以下参数:
 -Djava.rmi.server.hostname = [YOUR_IP]

监控参数

通过点击监视器选项卡,转到监视器类别视图。在中间件/Portal表下点击Apache Kafka。显示的是Apache Kafka批量配置视图,分布在三个选项卡中:

  • 可用性标签提供了过去24小时或30天的可用性历史记录。
  • 性能选项卡提供了过去24小时或30天的健康状况和事件。
  • 列表视图使您可以执行批量管理配置。

Applications Manager的Kafka性能监控可基于以下选项卡中列出的指标提供对Kafka服务器的完全可见性:

概览

参数描述
内存详情
Total Physical Memory Size物理内存总量(以兆字节为单位)。
Free Physical Memory Size可用物理内存量(以兆字节为单位)。
Committed Virtual Memory Size保证正在运行的进程可用的虚拟内存量(以兆字节为单位)。
Total Swap Space SizeJVM保留的虚拟内存的总大小。
Free Swap Space Size可用虚拟内存大小。
线程详情
Daemon Thread Count当前正在运行的守护程序线程数。
Peak Thread Count自Java虚拟机启动或重置峰值以来的活动线程峰值。
Live Thread Count当前正在运行的活动线程数。
Total Started Thread Count自Java虚拟机启动以来创建和启动的线程总数。
堆和非堆内存详细信息
NonHeapMemoryUsage当前正在使用的非堆内存。
HeapMemoryUsage当前正在使用的堆内存。

控制器详细信息

在Kafka集群中,其中一个broker充当控制器,它负责管理分区和副本的状态,并执行诸如重新分配分区之类的管理任务。

参数描述
Kafka控制器详细信息
Active Controller Count集群中活动控制器的数量。
Offline Partitions Count不可用分区的数量。
Leader Election Rate leader elections的比率。
Unclean Leader Election RateUnclean Leader Election Rate

Broker 详情

参数描述
日志详细信息
Log Flush Rate异步磁盘日志刷新率。
Broker主题指标
Bytes In/Min每分钟的总传入字节速率(此broker上写入主题的数据量)。
Bytes Out/Min每分钟的总传出字节速率。
Bytes Rejected/Min每分钟broker拒绝的消息中的数据量。
Failed Fetch Requests/Minbroker每分钟针对该主题未能处理的来自使用者的数据读取请求数。
Failed Produce Requests/Min来自生产者的失败请求数。
Messages In/Min进入Kafkabroker的消息数。
复制管理器
IsrExpands/Min同步中副本扩展的数量。(如果broker关闭,则某些分区的ISR将缩小。当该broker再次启动时,一旦完全获取副本,ISR将被扩展)。
IsrShrinks/Min同步副本的数量减少。(如果broker发生故障,则某些分区的ISR将缩小。当该broker再次发生故障时,一旦完全获取副本,ISR将被扩展)。
Leader Count特定主机作为领导者的分区数。
Partition Count集群中的分区数。
Under Replicated Partitions这表明集群中的分区数量未充分复制。
Request Handler Avg Idle Percen请求处理程序线程空闲的平均时间百分比。

网络详情

参数描述
请求处理率
Request Produce/Min在此broker上写入主题的消息数。
Request Fetch Consumer/Min用户从此broker程序上的此主题获取的数据量。
Request Fetch Follower/Min来自作为分区跟随者的broker的请求以获取新数据。
所需时间
Total Time Produce/Min满足指定请求的总时间。
Total Time Fetch Consumer/Min使用者从此broker上的该主题中获取数据的总时间。
Total Time Fetch Follower/Min分区获取新数据所花费的总时间
网络处理器速率
Network Processor Avg Idle Percent/Min每分钟网络处理器的平均可用容量。

Topics 详情

参数描述
主题详情
Topic Name指定主题名称。
Bytes in/Min每分钟的总传入字节速率(此broker上写入主题的数据量)。
Bytes Out/Min每分钟的总传出字节速率。
Failed Fetch Requests/Min每分钟失败的提取请求总数。
Failed Produce Requests/Min失败的生产者请求总数。
Messages In/Min进入Kafkabroker的消息数。

配置

参数描述
储存详情
Boot Class Path引导类加载器用来搜索类文件的引导类路径。
Class Path系统类加载器用来搜索类文件的Java类路径。
Spec Vendor此产品实现的JMX规范的供应商。
Spec Version该产品实现的JMX规范版本。
VM NameJava虚拟机名称。
VM VendorJava虚拟机实施供应商。

受到世界各地客户的喜爱

"具有广泛监控功能的Standout工具"

它允许我们跟踪关键指标,如响应时间、资源利用率、错误率和交易性能。实时监控告警会及时通知我们任何问题或异常,使我们能够立即采取行动。

审稿人角色:研究与开发

我喜欢Applications Manager,因为它可以帮助我们检测服务器和SQL数据库中存在的问题。
卡洛斯·里韦罗

Lexmark技术支持经理

受到全球6000多家企业的信任

我们的客户