使用jmx exporter采集kafka指标

2023-05-16

🚀 优质资源分享 🚀

学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

预置条件

安装kafka、prometheus

使用JMX exporter暴露指标

下载jmx exporter以及配置文件。Jmx exporter中包含了kafka各个组件的指标,如server metrics、producer metrics、consumer metrics等,但这些指标并不是prometheus格式的,因此需要通过重命名方式转变为prometheus格式,重命名规则配置在kafka-2_0_0.yml中。

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
wget https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/kafka-2_0_0.yml 

kafka集群启用监控

启用的方式比较简单,只需要在kafka-server-start.sh中添加如下两行即可:

...
#添加如下两行
export JMX_PORT="7081"
export KAFKA_OPTS="-javaagent:/Users/charlie.liu/kafka\_2.13-3.2.3/monitor/jmx\_prometheus\_javaagent-0.12.0.jar=7072:/Users/charlie.liu/kafka\_2.13-3.2.3/monitor/kafka-2\_0\_0.yml"

COMMAND=$1
case $COMMAND in
  -daemon)
    EXTRA_ARGS="-daemon "$EXTRA\_ARGS
    shift
    ;;
  *)
    ;;
esac

exec $base\_dir/kafka-run-class.sh $EXTRA\_ARGS kafka.Kafka "$@"

prometheus的配置文件如下,启动之后即可看到kafka的指标:

global:
  scrape\_interval: 15s

scrape\_configs:
  - job\_name: "kafka-cluster"
    static\_configs:
    - targets: ["localhost:7072"]

采集producer/consumer的指标

kafka的producer metrics和consumer metrics的格式与kafka server metrics的格式不同,因此需要特定的重命名配置,可以将其追加到kafka-2_0_0.yml文件中:

# MBean: kafka.producer:type=producer-metrics,client-id=([-.w]+)
- pattern: kafka.(.*) client-id=(.*)><>(.+):\w*
 name: kafka\_$2-metrics
 labels:
 client\_id: "$3"
 attr\_name: "$4"
 help: "Kafka global client JMX metric $1 $2-metrics"
 type: GAUGE

# MBean: kafka.producer:type=producer-node-metrics,client-id=([-.w]+),node-id=([0-9]+)
# MBean: kafka.consumer:type=consumer-node-metrics,client-id=([-.w]+),node-id=([0-9]+)
- pattern: kafka.(.*) client-id=(.*), node-id=(.*)><>(.+):\w*
 name: kafka\_$2\_$5-metrics
 labels:
 client\_id: "$3"
 node\_id: "$4"
 attr\_name: "$5"
 help: "Kafka client JMX metric $1 $2-metrics"
 type: GAUGE

- pattern: kafka.(.*) client-id=(.*), topic=(.*)><>(.+):\w*
 name: kafka\_$2\_$5-metrics
 labels:
 client\_id: "$3"
 topic: "$4"
 attr\_name: "$5"
 help: "Kafka client JMX metric $1 $2-metrics"
 type: GAUGE

使用如下方式启动consumer,

KAFKA_OPTS="-javaagent:/kafka_2.13-3.2.3/monitor/jmx_prometheus_javaagent-0.12.0.jar=7073:/kafka_2.13-3.2.3/monitor/kafka-2_0_0.yml" kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic charlie-test1 --from-beginning

并在prometheus的配置文件中添加consumer target,reload prometheus 配置即可发现consumer的指标,producer的指标采集与consumer类似。

global:
  scrape\_interval: 15s

scrape\_configs:
  - job\_name: "kafka-cluster"
    static\_configs:
    - targets: ["localhost:7072"]

  - job\_name: "kafka-consumer"
    static\_configs:
    - targets: ["localhost:7073"]

官方给出了Jmx exporter的其他例子。

注:由于不同的配置Jmx exporter生成的kafka指标名称是不一样的,因此并没有统一的kafka grafana dashboard,最好还是自己绘制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用jmx exporter采集kafka指标 的相关文章

  • RabbitMQ延迟消息指南【.NET6+EasyNetQ】

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf

随机推荐

  • sql语法巧用之not取反

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 如何实现一个SQL解析器

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 方便快捷的在 CentOS 7 中安装 Nginx

    介绍 Nginx 是一种流行的高性能 Web 服务器 本教程将教您如何在 CentOS 7 服务器上安装和启动 Nginx 先决条件 本教程中的步骤需要具有特权的root用户 第 1 步 添加 EPEL 软件仓库 要添加 CentOS 7
  • 前端无法渲染CSS文件

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 5大负载均衡算法 (原理图解)

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • JUC中的AQS底层详细超详解

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 进制转换以及位运算

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 京东云开发者|探寻软件架构的本质,到底什么是架构?

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • JS中数值类型的本质

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • pta第二次博客

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • GCC 指令详解及动态库、静态库的使用

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • vulnhub靶场之THALES: 1

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • No 'Access-Control-Allow-Origin' header is present on the requested resource.跨域问题

    请求url xff1a 原因 xff1a spring的全局CORS配置出错 出错代码 xff1a 修改后代码 xff1a
  • Windows下自动云备份思源笔记到Gitee

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • mysql InnoDB事务

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 测试开发工程师到底是做什么的?

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • Java Timer使用介绍

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 我的 React 最佳实践

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf
  • 使用jmx exporter采集kafka指标

    x1f680 优质资源分享 x1f680 学习路线指引 xff08 点击解锁 xff09 知识定位人群定位 x1f9e1 Python实战微信订餐小程序 x1f9e1 进阶级本课程是python flask 43 微信小程序的完美结合 xf