1.目标

在我们上一篇Kafka教程中,我们讨论了Kafka Tools。今天,我们将看到Kafka Monitoring。在此,我们将学习如何监控Apache Kafka的概念。此外,我们将涵盖在故障排除或Kafka监控时可以提供帮助的所有可能/合理的Kafka指标。此外,我们将讨论审计和Kafka监控工具,如Kafka Monitoring JMX。
那么,让我们从Apache Kafka中的Monitoring开始。

Apache Kafka监控 - 方法和工具

2.什么是卡夫卡监测?

众所周知,Kafka的集中式设计具有很强的耐用性和容错性。此外,由于Kafka是一个分布式系统,因此主题在多个节点之间进行分区和复制。此外,Kafka可以成为数据集成的极具吸引力的选择,具有有意义的性能监控和对问题的及时警报。基本上,当对Kafka问题进行故障排除时,应用程序管理器会向需要采取纠正措施的人收集所有性能指标和警报。让我们详细讨论Kafka Monitoring -

Kafka监测简介

一个。跟踪系统资源利用率

确保您没有资源耗尽“跟踪系统资源利用率”自动发现Kafka服务器,并跟踪资源利用率详细信息,如内存,CPU和磁盘随时间的增长。但是,我们确保您的Apache Kafka服务器已启动并按预期持续运行。因此,只要资源消耗突然激增或模式异常,您就可以快速得到通知。
探索Apache Kafka用例| 卡夫卡应用程序

湾 保留线程和JVM使用的选项卡

Kafka依赖于Java垃圾收集进程来释放内存,因为它在Java虚拟机(JVM)中运行。垃圾收集运行的频率越高,Kafka集群中的活动就越多。确保启动的线程不会使服务器的内存过载,同时确保跟踪JVM堆大小。此外,为了防止系统中出现性能瓶颈,请使用守护程序,峰值和活动线程计数等指标跟踪线程使用情况。

C。了解代理,控制器和复制统计信息

在Kafka集群中,为了管理分区和副本的状态以及执行管理任务(如重新分配分区),其中一个代理充当控制器,该控制器负责。为了在发生问题时查看哪个Kafka代理是控制器,监视活动控制器并防止服务中断,脱机分区计数。此外,它还监视代理的日志刷新延迟 - 但是,将日志刷新到磁盘所需的时间越长,管道就会崩溃。此外,要了解复制是否与配置一样快,它会跟踪未复制的分区。

d。监控网络和主题详细信息

全面了解主机上的网络使用情况,跟踪网络吞吐量或汇总代理主题的传入和传出字节速率,以获取有关潜在瓶颈所在位置的更多信息。做出明智的决定。
阅读Apache Kafka Architecture及其基本概念

即 更快地解决性能问题

如果Apache Kafka的组件存在性能问题,请立即获取通知。此外,找出导致过度负载的应用程序,并了解性能瓶颈。在最终用户遇到问题之前,请采取快速补救措施。

3.卡夫卡监测中的度量和警报

基本上,我们的一般经验法则是“收集所有可能/合理的指标,以便在排除故障时提供帮助,仅向那些需要您采取行动的人发出警报”。
一个。我们进行图表和警报的度量标准

  • 消息速率

    MBEAN NAME: kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
  1. MBEAN NAME:kafka.server:type = BrokerTopicMetrics,name = MessagesInPerSec
  • 来自客户端的速率字节

    MBEAN NAME: kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
  1. MBEAN NAME:kafka.server:type = BrokerTopicMetrics,name = BytesInPerSec
  • 来自其他经纪商的一个字节

    MBEAN NAME:kafka.server:type=BrokerTopicMetrics,name=ReplicationBytesInPerSec
  1. MBEAN名称:kafka.server:type = BrokerTopicMetrics,name = ReplicationBytesInPerSec
  • 要求率

    MBEANNAME: kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower}
  1. MBEANNAME:kafka.network:type = RequestMetrics,name = RequestPerSec,request = { Produce | FetchConsumer | FetchFollower }
  • 错误率

    MBEAN NAME: kafka.network:type=RequestMetrics,name=ErrorsPerSec,request=([-.\w]+),error=([-.\w]+)
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = ErrorsPerSec,request = ([ - 。\ w ] + ),error = ([ - 。\ w ] + )

NORMAL VALUE:每个请求类型,每个错误代码计算的响应中的错误数。如果响应包含多个错误,则计算所有错误。error = NONE表示响应成功。
看看卡夫卡的优缺点

  • 请求大小(字节)

    MBEAN NAME: kafka.network:type=RequestMetrics,name=RequestBytes,request=([-.\w]+)
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = RequestBytes,request = ([ - 。\ w ] + )

NORMAL VALUE:每种请求类型的请求大小。

  • 临时内存大小(以字节为单位)

    MBEAN NAME: kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request={Produce|Fetch}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = TemporaryMemoryBytes,request = { Produce | Fetch }

NORMAL VALUE:用于消息格式转换和解压缩的临时内存。

  • 消息转换时间

    MBEAN NAME: kafka.network:type=RequestMetrics,name=MessageConversionsTimeMs,request={Produce|Fetch}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = MessageConversionsTimeMs,request = { Produce | Fetch }

NORMAL VALUE:消息格式转换所花费的时间(以毫秒为单位)。

  • 邮件转换率

    MBEAN NAME: kafka.server:type=BrokerTopicMetrics,name={Produce|Fetch}MessageConversionsPerSec,topic=([-.\w]+)
  1. MBEAN NAME:kafka.server:type = BrokerTopicMetrics,name = { Produce | Fetch } MessageConversionsPerSec,topic = ([ - 。\ w ] + )

NORMAL VALUE:需要进行消息格式转换的记录数。

  • 向客户发送速率

    MBEAN NAME: kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
  1. MBEAN NAME:kafka.server:type = BrokerTopicMetrics,name = BytesOutPerSec
  • 向其他经纪人出售率

    MBEAN NAME: kafka.server:type=BrokerTopicMetrics,name=ReplicationBytesOutPerSec
  1. MBEAN NAME:kafka.server:type = BrokerTopicMetrics,name = ReplicationBytesOutPerSec
  • 记录冲洗率和时间

    MBEAN NAME: kafka.log:type=LogFlushStats,name=LogFlushRateAndTimeMs
  1. MBEAN名称:kafka.log:type = LogFlushStats,name = LogFlushRateAndTimeMs
  • 未复制分区的数量(| ISR | <|所有副本|)

    MBEAN NAME: kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions
  1. MBEAN NAME:kafka.server:type = ReplicaManager,name = UnderReplicatedPartitions

正常值:0

  • minIsr分区下的#(| ISR | <min.insync.replicas)

    MBEAN NAME: kafka.server:type=ReplicaManager,name=UnderMinIsrPartitionCount
  1. MBEAN NAME:kafka.server:type = ReplicaManager,name = UnderMinIsrPartitionCount

正常值:0

  • 离线日志目录数

我们来讨论Apache Kafka Workflow | Kafka Pub-Sub Messaging

MBEAN NAME: kafka.log:type=LogManager,name=OfflineLogDirectoryCount
  1. MBEAN名称:kafka.log:type = LogManager,name = OfflineLogDirectoryCount

正常值:0

  • 控制器是否在代理上有效

    MBEAN NAME: kafka.controller:type=KafkaController,name=ActiveControllerCount
  1. MBEAN NAME:kafka.controller:type = KafkaController,name = ActiveControllerCount

正常值:群集中只有一个代理应该有1

  • 领导人选举率

    MBEAN NAME: kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs
  1. MBEAN NAME:kafka.controller:type = ControllerStats,name = LeaderElectionRateAndTimeMs

正常值:当存在代理失败时非零

  • 不干净的领导人选举率

    MBEAN NAME:kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec
  1. MBEAN NAME:kafka.controller:type = ControllerStats,name = UncleanLeaderElectionsPerSec

正常值:0

  • 分区计数

    MBEAN NAME: kafka.server:type=ReplicaManager,name=PartitionCount
  1. MBEAN NAME:kafka.server:type = ReplicaManager,name = PartitionCount

正常价值:大多数甚至是经纪人

  • 领导者复制品计数

    MBEAN NAME: kafka.server:type=ReplicaManager,name=LeaderCount
  1. MBEAN NAME:kafka.server:type = ReplicaManager,name = LeaderCount

正常价值:大多数甚至是经纪人

  • ISR收缩率

    MBEAN NAME: kafka.server:type=ReplicaManager,name=IsrShrinksPerSec
  1. MBEAN NAME:kafka.server:type = ReplicaManager,name = IsrShrinksPerSec

正常值:如果代理发生故障,某些分区的ISR将缩小。当该经纪人再次上涨时,一旦副本完全赶上,ISR将会扩大。除此之外,ISR收缩率和扩张率的预期值均为0。

  • ISR扩张率

    MBEAN NAME: kafka.server:type=ReplicaManager,name=IsrExpandsPerSec
  1. MBEAN NAME:kafka.server:type = ReplicaManager,name = IsrExpandsPerSec

正常值:

  • 消息中的最大滞后顺序是跟随者和领导者副本

    MBEAN NAME: kafka.server:type=ReplicaFetcherManager,name=MaxLag,clientId=Replica
  1. MBEAN NAME:kafka.server:type = ReplicaFetcherManager,name = MaxLag,clientId = Replica

正常值:滞后应与生产请求的最大批量大小成比例

  • 每个关注者副本的消息滞后

    MBEAN NAME: kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([-]+)
  1. MBEAN NAME:kafka.server:type = FetcherLagMetrics,name = ConsumerLag,clientId = ([ - 。\ w ] + ),topic = ([ - 。\ w ] + ),partition = ([ 0 - 9 ] + )

正常值:滞后应与生产请求的最大批量大小成比例。

  • 请求在生产者炼狱等待

    MBEAN NAME: kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Produce
  1. MBEAN NAME:kafka.server:type = DelayedOperationPurgatory,name = PurgatorySize,delayedOperation = Produce

NORMAL VALUE:如果使用ack = -1,则为非零

  • 请求在炼狱中等待

    MBEAN NAME: kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Fetch
  1. MBEAN NAME:kafka.server:type = DelayedOperationPurgatory,name = PurgatorySize,delayedOperation = Fetch

NORMAL VALUE:size取决于使用者中的fetch.wait.max.ms

  • 请求总时间参见 -

    MBEAN NAME: kafka.network:type=RequestMetrics,name=TotalTimeMs,request={Produce|FetchConsumer|FetchFollower}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = TotalTimeMs,request = { Produce | FetchConsumer | FetchFollower }

正常值:分为队列,本地,远程和响应发送时间

  • 请求在请求队列中等待的时间

我们来讨论Apache Kafka Producer For Beginners 2018

MBEAN NAME:kafka.network:type=RequestMetrics,name=RequestQueueTimeMs,request={Produce|FetchConsumer|FetchFollower}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = RequestQueueTimeMs,request = { Produce | FetchConsumer | FetchFollower }

正常值:

  • 请求在领导者处理的时间

    MBEAN NAME: kafka.network:type=RequestMetrics,name=LocalTimeMs,request={Produce|FetchConsumer|FetchFollower}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = LocalTimeMs,request = { Produce | FetchConsumer | FetchFollower }

正常值:

  • 请求等待关注者的时间

    MBEAN NAME: kafka.network:type=RequestMetrics,name=RemoteTimeMs,request={Produce|FetchConsumer|FetchFollower}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = RemoteTimeMs,request = { Produce | FetchConsumer | FetchFollower }

NORMAL VALUE:当ack = -1时,产生请求非零

  • 请求在响应队列中等待的时间

    MBEAN NAME: kafka.network:type=RequestMetrics,name=ResponseQueueTimeMs,request={Produce|FetchConsumer|FetchFollower}
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = ResponseQueueTimeMs,request = { Produce | FetchConsumer | FetchFollower }

正常值:

  • 是时候发送回复了

    MBEAN NAME: Old consumer:
    kafka.consumer:type=ConsumerFetcherManager,name=MaxLag,clientId=([-.\w]+)
  1. MBEAN NAME:kafka.network:type = RequestMetrics,name = ResseseSendTimeMs,request = { Produce | FetchConsumer | FetchFollower }

正常值:

  • 消费者落后于制片人的许多消息。由消费者发布,而不是经纪人。
  1. MBEAN NAME:老消费者:
  2. MBEAN NAME: Old consumer:
    kafka.consumer:type=ConsumerFetcherManager,name=MaxLag,clientId=([-.\w]+)
  3. kafka.consumer:type = ConsumerFetcherManager,name = MaxLag,clientId = ([ - 。\ w ] + )

新消费者:

 kafka.consumer:type=consumer-fetch-manager-metrics,client-id={client-id} Attribute: records-lag-max
  • 网络处理器空闲的平均时间分数
  • MBEAN NAME: kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent
  1. MBEAN NAME:kafka.network:type = SocketServer,name = NetworkProcessorAvgIdlePercent

正常值:介于0和1之间,理想情况下> 0.3

  • 请求处理程序线程空闲的平均时间部分
  • MBEAN NAME: kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent
  1. MBEAN NAME:kafka.server:type = KafkaRequestHandlerPool,name = RequestHandlerAvgIdlePercent

正常值:介于0和1之间,理想情况下> 0.3

  • 每个(用户,客户端ID),用户或客户端ID的带宽配额指标
  • MBEAN NAME: kafka.server:type={Produce|Fetch},user=([-.\w]+),client-id=([-.\w]+)
  1. MBEAN NAME:kafka.server:type = { Produce | Fetch } ,user = ([ - 。\ w ] + ),client-id = ([ - 。\ w ] + )

正常值:两个属性。throttle-time表示客户端被限制的时间量(ms)。理想情况下= 0.字节速率表示客户端的数据产生/消耗速率,以字节/秒为单位。对于(user,client-id)配额,指定了user和client-id。如果将per-client-id配额应用于客户端,则不指定用户。如果应用了每用户配额,则不指定client-id。
使用命令阅读Apache Kafka Operations

  • 请求每个(用户,客户端ID),用户或客户端ID的配额指标
  • MBEAN NAME: kafka.server:type=Request,user=([-.\w]+),client-id=([-.\w]+)
  1. MBEAN NAME:kafka.server:type = Request,user = ([ - 。\ w ] + ),client-id = ([ - 。\ w ] + )

正常值:两个属性。throttle-time表示客户端被限制的时间量(ms)。理想情况下= 0. request-time表示代理网络和I / O线程处理来自客户端组的请求所花费的时间百分比。对于(user,client-id)配额,指定了user和client-id。如果将per-client-id配额应用于客户端,则不指定用户。如果应用了每用户配额,则不指定client-id。

  • 请求免于限制
  • MBEAN NAME: kafka.server:type=Request
  1. MBEAN NAME:kafka.server:type = Request

NORMAL VALUE:exempt-throttle-time表示代理网络和I / O线程处理免于限制的请求所花费的时间百分比。

  • ZooKeeper客户端请求延迟
  • MBEAN NAME: kafka.server:type=ZooKeeperClientMetrics,name=ZooKeeperRequestLatencyMs
  1. MBEAN NAME:kafka.server:type = ZooKeeperClientMetrics,name = ZooKeeperRequestLatencyMs

NORMAL VALUE:来自代理的ZooKeeper请求的延迟(以毫秒为单位)。

  • ZooKeeper连接状态
  • MBEAN NAME: kafka.server:type=SessionExpireListener,name=SessionState
  1. MBEAN NAME:kafka.server:type = SessionExpireListener,name = SessionState

NORMAL VALUE:代理的ZooKeeper会话的连接状态,可能是Disconnected | SyncConnected | AuthFailed | ConnectedReadOnly | SaslAuthenticated | Expired之一。
湾 生产者/消费者/连接/流的通用监控指标

  • 连接关闭率

描述:窗口中每秒关闭的连接。

  1. MBEAN NAME:  kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 连接的创建率

描述:窗口中每秒建立的新连接。

  1. MBEAN NAME:  kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 网络IO速率

描述:每秒所有连接上的平均网络操作(读取或写入)数。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 传出字节速率

描述:每秒向所有服务器发送的平均传出字节数。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 请求速率

描述:每秒发送的平均请求数。
阅读Apache Kafka Consumer | 卡夫卡消费者的例子

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 请求 - 大小 - 平均

描述:窗口中所有请求的平均大小。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 请求 - 大小 - 最大

描述:窗口中发送的任何请求的最大大小。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 传入的字节速率

描述:字节/秒读取所有套接字。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 反应速度

描述:每秒发送的响应。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • 选择率

描述:I / O层检查每秒执行新I / O的次数。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • IO-等待时间-NS-平均

描述:I / O线程等待套接字准备读取或写入的平均时间长度(以纳秒为单位)。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • IO-等待比

描述:I / O线程等待的时间部分。

  1. MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • IO-时间-NS-平均

描述:每次选择呼叫的I / O平均时长(以纳秒为单位)。

MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  • IO比

描述:I / O线程花费在I / O上的时间的一部分。

MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
 
  • 连接数

描述:当前活动连接数。

MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
 
  • 成功认证率

描述:使用SASL或SSL成功验证的连接。
学习Apache Kafka Streams | 流处理拓扑

MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  1. MBEAN NAME:卡夫卡。[ producer | consumer | connect ] :type = [ producer | consumer | connect ] -metrics,client-id = ([ - 。\ w ] + )
  • 失败的认证率

描述:身份验证失败的连接。

MBEAN NAME: kafka.[producer|consumer|connect]:type=[producer|consumer|connect]-metrics,client-id=([-.\w]+)
  1. MBEAN NAME:卡夫卡。[ producer | consumer | connect ] :type = [ producer | consumer | connect ] -metrics,client-id = ([ - 。\ w ] + )

C。生产者/消费者/连接/流的常见每个代理度量标准

  • 传出字节速率

描述:节点每秒发送的平均传出字节数。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 请求速率

描述:节点每秒发送的平均请求数。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 请求 - 大小 - 平均

描述:节点窗口中所有请求的平均大小。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 请求 - 大小 - 最大

描述:窗口中为节点发送的任何请求的最大大小。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  2. kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 传入的字节速率

描述:节点每秒接收的平均响应数。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 请求等待时间 - 平均

描述:节点的平均请求延迟(以ms为单位)。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 请求延迟-MAX

描述:节点的最大请求延迟(以ms为单位)。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )
  • 反应速度

描述:节点每秒发送的响应。

MBEAN NAME: kafka.producer:type=[consumer|producer|connect]-node-metrics,client-id=([-.\w]+),node-id=([-]+)
  1. MBEAN NAME:kafka.producer:type = [ consumer | producer | connect ] -node-metrics,client-id = ([ - 。\ w ] + ),node-id = ([ 0 - 9 ] + )

4.其他 - 卡夫卡监测

此外,强烈建议监视GC时间和其他统计信息以及CPU利用率,I / O服务时间等各种服务器统计信息。此外,建议监视消息/字节速率(全局和每个主题),请求率/大小/时间,在消费者方面,客户端的所有分区中的消息和最小获取请求率的最大延迟。

5.卡夫卡监测审计

但是,最终警报是数据传递的正确性。审计发送的每条消息都被所有消费者使用,并测量发生这种情况的滞后。此外,对于重要主题,如果在某个时间段内未达到某种完整性,则会发出警报。
看看Apache Kafka职业范围与薪资趋势

6. Kafka监测工具

基本上,具有JMX支持的监视工具应该能够监视Kafka集群。他们之中有一些是:

卡夫卡监控工具

一个。check_kafka.pl

此Kafka监控工具执行完整的端到端测试,即它在Kafka中作为生产者插入消息,然后将其作为消费者提取。因此,我们可以说,在衡量服务时间的同时,这使我们的生活更轻松。
Kafka性能调优 - Kafka优化的方法

湾 KafkaOffsetMonitor

此Apache Kafka监控工具有助于监控Kafka使用者及其在队列中的位置(偏移)。它增强了我们对队列增长方式的理解,也说明了哪些消费者群体落后。

C。地洞

这是最聪明的工具IS Burrow,它是由LinkedIn人员开发的。此工具分析消费者偏移并滞后于一个时间窗口并确定消费者状态。因此,我们可以通过HTTP端点检索此状态,然后将其插入我们最喜欢的监视工具中。

d。雅虎的Kafka经理

但是,它执行一些基本的监控,它更像是一种管理工具。
所以,这就是Apache Kafka Monitoring。希望你喜欢我们的解释。
学习Apache Kafka + Spark Streaming Integration

7.结论 - Apache Kafka监控

因此,我们已经看到了如何详细监视Apache Kafka的概念。与此同时,我们讨论了不同的Kafka监控工具。此外,我们研究了Kafka Metrics和警报。

KAFA 监测| Kafka监测的方法和工具的更多相关文章

  1. Linux性能监测:监测目的与工具

    Linux性能监测:监测目的与工具介绍 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不是说现在优化了,测试了 ...

  2. Kafka性能调优 - Kafka优化的方法

    今天,我们将讨论Kafka Performance Tuning.在本文“Kafka性能调优”中,我们将描述在设置集群配置时需要注意的配置.此外,我们将讨论Tuning Kafka Producers ...

  3. iOS-提高iOS开发效率的方法和工具

    提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...

  4. paip.自适应网页设计 跟 响应式 设计方法与工具补充(2)o54

    paip.自适应网页设计 跟 响应式 设计方法与工具补充(2)o54 #-----响应式 设计框架 Bootstrap比较热门. Foundation 号称是世界上最先进的响应式前端框架. #---绝 ...

  5. <转>提高iOS开发效率的方法和工具

    介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的ID ...

  6. 提高iOS开发效率的方法和工具

    http://www.cocoachina.com/ios/20150717/12626.html 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先 ...

  7. iOS开发——实用篇&提高iOS开发效率的方法和工具

    提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...

  8. 分享两个模拟get和post方法的工具类,让应用能够与服务器进行数据交互

    很久没有码字了,今天跟大家分享一个模拟get和post方法的工具类,在安卓应用中很多都需要跟服务器进行数据交互,这需要两方面的配合,首先服务器端会给应用提供一些数据交互的接口,可是怎样在应用中去调用呢 ...

  9. 音频软件开发中的debug方法和工具

    本文系作者原创.如转载,请注明出处. 谢谢! 音频软件开发同其他软件开发一样,都需要去调试.音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法 ...

随机推荐

  1. Java中多态

    多态:把子类看成是父类,把实现类看成是接口,这样类就具有多种形态,称为多态. 在多态中访问成员变量,访问的是父类中的成员变量. 在多态中访问成员方法,先访问的是子类,看看子类有没有覆盖重写要访问的父类 ...

  2. L1219

    八皇后问题. 然而重点在于判断斜线attack问题和 剪枝问题, 不过判断斜线这些东西都挺有意思的. 是坐标的思想但是 有不一样, 因为这个棋盘.. 斜线判断是可以理解了. 但是我想知道的是这个的原理 ...

  3. H5利用formData来上传文件(包括图片,doc,pdf等各种格式)方法小结!

    H5页面中我们常需要进行文件上传,那么怎么来实现这个功能呢??? 我主要谈如下两种方法. (一).传统的form表单方法 <form action="/Home/SaveFile1&q ...

  4. WinDbg常用命令系列---!cppexr

    !cppexr 简介 !cppexr显示C++异常记录的内容. 使用形式 !cppexr Address 参数 Address指定要显示的C++异常记录的地址. 支持环境 Windows 2000 E ...

  5. mybatis的判定时间字段问题 java.lang.IllegalArgumentException: invalid comparison: cn.hutool.core.date.DateTime and java.lang.String

    今天听组员说: mybatis在3.30版本及以上判定时间时 <if test="date_time != null and date_time != '' "> da ...

  6. 【NOIP2014】真题回顾

    题目链接 生活大爆炸版石头剪刀布 就是个模拟,不说了 联合权值 枚举每个点,统计它任意两个儿子的联合权值,统计的时候维护sum和max就行了 飞扬的小鸟 比较好的DP题,不难想到用dp[i][j]表示 ...

  7. mysql 去除字符串中的空格

    mysql> select " ddd dddee "; +--------------+ | ddd dddee | +--------------+ | ddd ddde ...

  8. 「APIO2018」选圆圈

    传送门 Description 有\(n\)个圆,每次找到这些圆中半径最大中的编号最小的圆,删除ta及与其有交集的所有圆. 对于每个圆,求出它是被哪一个圆删除的. Solution  K-D Tree ...

  9. lintcode-1174.下一个更大的元素 III

    题目描述: 1174. 下一个更大的元素 III 给定一个32位整数n,用同样的数字组成新的32位整数,使得它要比n大,返回最小的这样的数.如果不存在这样的整数,返回-1. 算法思路: 首先将这个数转 ...

  10. Flume(一) —— 启动与基本使用

    基础架构 Flume is a distributed, reliable(可靠地), and available service for efficiently(高效地) collecting, a ...