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. 【笔记】ROS常用命令

    环境相关 查看当前环境下包含的包路径echo $ROS_PACKAGE_PATH查看包含的包的路径roscd package TF树相关 查看所有坐标系的状态rosrun tf tf_monitor ...

  2. ctx控制超时的使用

    cancel package main import ( "context" "fmt" "time" ) func gen(ctx con ...

  3. 个人Vim配置(即vim目录下vimrc_)

    因为是C++选手所以大部分带有Dev遗留的...格式 colorscheme molokai"配色方案,注意molokai不是自带而是自己调配的,SublimeText3标准配色,想要的点这 ...

  4. P3746 【[六省联考2017]组合数问题】

    题目是要我们求出如下柿子: \[\sum_{i=0}^{n}C_{nk}^{ik+r}\] 考虑k和r非常小,我们能不能从这里切入呢? 如果你注意到,所有组合数上方的数\(\%k==r\),那么是不是 ...

  5. 2016android在线测试15-图像 camera2

    1.ImageView类用于显示各种图像,例如:图标,图片,下面对于ImageView类加载图片方法的描述有: void setImageResource(int resld): 设置Drawanbl ...

  6. Tkinter 之爬虫框架项目实战

    一.效果图 二.源码 ''' 测试内容页爬取''' def test_content_url(self): try: url = self.test_url_var.get().strip() ite ...

  7. maven 发现有一个包 需要升级包版本

    maven有个包需要升级版本号,但是升级完了之后,怎么编译都是原来的: 后来修改了一下版本号,然后编译,就好了,再把版本号改回来就行了: 本地版本库地址:File==>Other Setting ...

  8. Oracle存储过程 函数 计算使用资源

    目录 存储过程与函数 存储过程的优势 存储过程 打印语句 选择语句 函数 计算使用资源 存储过程与函数 存储过程的优势 存储过程 /* 多行注释 */ -- 单行注释 //展示错误信息 show er ...

  9. git 清除所有untracked file

    上次合并分支的时候,出现了一些没见过的文件,有.orig等等.如下图: 接下来,就是git的神奇操作命令: git  clean  -f 将所有untracked file 一次性删除

  10. m4a 转MP3

    import os for filename in os.listdir(r'.'): print filename os.rename(filename,filename.replace(' ',' ...