MRS 3.0.x获取Kafka服务指标Java样例
【摘要】 准备:运行样例程序的机器需与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变化率。 |
四. 参考资料
注:样例代码实现尽可能简单易懂,实际应用中请根据业务进行改造。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)