MRS 3.0.x获取Kafka服务指标Java样例

举报
Lothar 发表于 2021/02/26 19:50:40 2021/02/26
【摘要】 准备:运行样例程序的机器需与MRS集群网络连通一. 运行样例程序1. 获取集群浮动ip登录集群master节点登录MRS集群Master节点,执行命令ip a | grep wsom,对应ip即为浮动ip。浮动ip可能绑定在任意maste节点或控制节点上,若某一节点没获取到,请切换到其他节点尝试2. 配置用户。建议在mrs manager页面创建单独的用户用于获取监控指标,请参考:创建用户3...

准备:运行样例程序的机器需与MRS集群网络连通

一. 运行样例程序

1. 获取集群浮动ip登录集群master节点

登录MRS集群Master节点,执行命令ip a | grep wsom,对应ip即为浮动ip。浮动ip可能绑定在任意maste节点或控制节点上,若某一节点没获取到,请切换到其他节点尝试

2. 配置用户。建议在mrs manager页面创建单独的用户用于获取监控指标,请参考:创建用户

3. 下载附件中的代码,在根目录执行mvn clean package编译,将target目录下的mrs-cluster-metrics-1.0-jar-with-dependencies.jar拷贝到执行机器上。

4. 在执行机器上运行命令 java -jar mrs-cluster-metrics-1.0-jar-with-dependencies.jar {浮动ip} {用户名} {用户密码} {服务名} {指标名}

例如:java -jar mrs-cluster-metrics-1.0-jar-with-dependencies.jar 172.0.0.2 admin YourPassWord Kafka bk_topic_bytesinpersec

获取的指标直接输出到console,例如:

二. 样例程序说明

MRS Manger获取监控指标为Http Restful接口,比较特别的点是调用接口前要先经过cas认证。

样例代码中Main类为入口类,大家可以从该类开始阅读。

获取监控指标接口是

GET /api/v2/clusters/{cluster_id}/services/{service_name}/metrics

接口说明如下:

查询服务监控指标数据:该接口用与查询指定集群的指定服务的监控指标数据。
权限:集群查看,集群管理

参数说明:

Response形如:

三. Kafka指标列表

指标名 指标含义
bk_cpuusage Broker的CPU使用率。
bk_memusage Broker使用的内存大小。
bk_bytesinpersec 单个Broker上所有Topic每秒输入字节速率。
bk_bytesinpersec_allhost Kafka集群中所有Broker节点上Topic每秒输入字节速率的汇聚值。
bk_bytesoutpersec 单个Broker上所有Topic每秒输出字节速率。
bk_bytesoutpersec_allhost Kafka集群中所有Broker节点上Topic的每秒输出的字节速率的汇聚值。
bk_messagesinpersec 单个Broker上所有Topic每秒输入消息数。
bk_messagesinpersec_allhost Kafka集群中所有Broker节点上Topic每秒输入消息数的汇聚值。
bk_partitioncount 单个Broker上所拥有的分区数。
bk_partitioncount_allhost Kafka集群中所有Broker节点上分区数的总和。
bk_leadercount 单个Broker上所拥有的Leader数目。
bk_producer_requestpersec Kafka集群中各Broker节点上所接收到的Producer请求的每秒请求数。
bk_fetchconsumer_requestpersec Kafka集群中各Broker节点上所接收到的Fetch-consumer请求的每秒请求数。
bk_fetchfollower_requestpersec Kafka集群中各Broker节点上所接收到的Fetch-follower请求的每秒请求数。
bk_producer_requestpersec_allhost Kafka集群中所有Broker节点上所接收到的Producer请求的每秒请求数的汇聚值。
bk_fetchconsumer_requestpersec_allhost Kafka集群中所有Broker节点上所接收到的Fetch-consumer请求的每秒请求数的汇聚值。
bk_fetchfollower_requestpersec_allhost Kafka集群中所有Broker节点上所接收到的Fetch-follower请求的每秒请求数的汇聚值。
bk_brokercount Kafka集群中可用Broker数目。
bk_brokerstate Kafka集群中单个Broker运行的状态。
bk_disk_useage Broker磁盘的使用率
bk_disk_used Broker磁盘已使用大小
bk_activecontrollercount Broker实例上运行Controller的个数。
bk_activecontrollercount_allhost Kafka集群中所有Broker节点上Controller数的总和。
bk_offlinepartitionscount Broker上不可用的Partition数目。
bk_offlinepartitionscount_allhost Kafka集群中所有Broker上不可用的Partition数目总和。
bk_underreplicatedpartitions Broker上未完全同步的Partition数目。
bk_underreplicatedpartitions_allhost Kafka集群中所有Broker上未完全同步的Partition数目总和。
bk_io_read Broker的磁盘IO读速率。
bk_io_read_allhost Kafka服务总体磁盘IO读速率。
bk_io_write Broker的磁盘IO写速率。
bk_io_write_allhost Kafka服务总体磁盘IO写速率。
bk_cpuusage_allhost 服务总体CPU使用率。
broker_cpu_usage_calculate Kafka服务在集群中的CPU使用率。
bk_memusage_allhost Kafka服务总体内存使用大小。
bk_topic_bytesinpersec Kafka集群中当前Topic每秒收到的字节数。
bk_topic_bytesoutpersec Kafka集群中当前Topic每秒输出字节数。
bk_topic_bytesrejectedpersec Kafka集群中当前Topic每秒拒绝的字节数。
bk_topic_failedfetchrequestspersec Kafka集群中当前Topic每秒失败的fetch请求数。
bk_topic_failedproducerequestspersec Kafka集群中当前Topic每秒失败的produce请求数。
bk_topic_messagesinpersec Kafka集群中当前Topic每秒输入消息条数。
bk_topic_totalfetchrequestspersec Kafka集群中当前Topic每秒fetch请求数。
bk_topic_totalproducerequestspersec Kafka集群中当前Topic每秒produce请求数。
bk_heapmemory_used Kafka进程使用的堆内存大小。
bk_heapmemory_max Kafka进程可用的最大堆内存,可以在Kafka配置界面KAFKA_HEAP_OPTS配置项进行配置。
bk_heap_memory_usage_calculate Kafka堆内存使用百分比统计。
bk_directmemory_used Kafka进程使用的直接内存大小。
bk_directmemory_max Kafka进程可用的最大直接内存,可以在Kafka配置界面KAFKA_HEAP_OPTS配置项进行配置。
bk_direct_memory_usage_calculate Kafka直接内存使用百分比统计。
bk_gc_time_calculate Broker进程每分钟的垃圾回收时间统计(GC)。
bk_underreplicatedpartitions_percentage_calculate Kafka集群中所有Broker上未完全同步的Partition数目总和占Partition总数的百分比。
bk_fetch_requestqueuetime Fetch请求在请求队列的处理延迟时间。
bk_fetch_requestqueuetime_allhost 统计各节点Fetch请求在请求队列的延迟时间的平均值。
bk_produce_requestqueuetime Produce请求在请求队列的处理延迟时间。
bk_produce_requestqueuetime_allhost 统计各节点Produce请求在请求队列的延迟时间的平均值。
bk_fetch_responsequeuetime Fetch请求在响应队列的处理延迟时间。
bk_fetch_responsequeuetime_allhost 统计各节点Fetch请求在响应队列的处理延迟时间的平均值。
bk_produce_responsequeuetime Produce请求在响应队列的处理延迟时间。
bk_produce_responsequeuetime_allhost 统计各节点Produce请求在响应队列的处理延迟时间的平均值。
bk_fetch_totaltime Fetch请求的总体延迟时间。
bk_fetch_totaltime_allhost 统计各节点Fetch请求处理的总体延迟时间的平均值。
bk_produce_totaltime Produce请求的总体延迟时间。
bk_produce_totaltime_allhost 统计各节点Produce请求处理的总体延迟时间的平均值。
bk_topic_warningpartitionratio Kafka集群中所有Broker上该Topic不可用的Partition数目占该Topic全部Partition的百分比
bk_network_processor_average_idle_percent 单个Broker上网络I/O处理线程平均空闲率统计。
bk_request_handler_average_idle_metric 单个Broker上网络请求平均处理空闲率。
bk_request_queuesize 单个Broker请求通道中的请求数。
bk_clean_leader_selection_rate 单个Broker上Clean Leader选举率。
bk_unclean_leader_selection_rate 单个Broker上Unclean leader选举率。
bk_isr_shrinks 单个Broker上ISR收缩率。
bk_isr_expands 单个Broker上ISR变化率。

四. 参考资料

参考Manager Rest登陆Demo

注:样例代码实现尽可能简单易懂,实际应用中请根据业务进行改造。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。