Kafka jvm监控
Kafka Rebalance:
https://blog.csdn.net/lzxlfly/article/details/106246879
https://juejin.cn/post/7053811887955410981
kafka 监控
https://zhuanlan.zhihu.com/p/127954833
https://developer.aliyun.com/article/938483
https://zhuanlan.zhihu.com/p/352538481
https://blog.csdn.net/aa5305123/article/details/84648677
https://docs.confluent.io/platform/current/kafka/monitoring.html#producer-metrics
https://github.com/prometheus/jmx_exporter
https://grafana.com/grafana/dashboards/10973-kafka-dashboard333/
Kafka 零拷贝
https://zhuanlan.zhihu.com/p/78335525
开启 jmx 监控
# jmx 端口
JMX_PORT=9999
# 默认网卡IP地址
default_net_car=`ip r | awk '/default via/ {print $5}'`
[ ! -z ${default_net_car} ] && IPADDR=`ip r | awk -v netcar=$default_net_car '{if($3==netcar) print $9}'` || echo '$netcar is null'
# 启动脚本添加 jvm 启动端口
sed -ri "/^EXTRA_ARGS/i export JMX_PORT=${JMX_PORT}" kafka-server-start.sh
# 备份原有的 EXTRA_ARGS 参数
sed -ri '/^EXTRA_ARGS/h;/^EXTRA_ARGS/G;s/^(EXTRA_ARGS.*)/# \1/' kafka-server-start.sh
# 修改 EXTRA_ARGS 参数
sed -ri "s@^(EXTRA_ARGS.*)@EXTRA_ARGS='-name kafkaServer -loggc -Djava.rmi.server.hostname=${IPADDR} -Dcom.sun.management.jmxremote.rmi.port=${JMX_PORT}'@g" kafka-server-start.sh
如果有启动firewalld服务,请放开jmx端口
- sudo firewall-cmd --add-port=$JMX_PORT/tcp --permanent
- sudo firewall-cmd --reload
重启Kafka服务
cd /app/kafka/bin/
# 停止服务
./kafka-server-stop.sh
# 启动服务
./kafka-server-start.sh -daemon ../config/server.properties
jconsole 连接
安装jdk默认带有。jdk 下载路径 https://www.oracle.com/cn/java/technologies/downloads/
软件存放路径在 安装目录/bin/jconsole.exe


通过 jvm_export 暴露指标
# 下载 jar 包
curl -o /app/kafka/libs/jmx_prometheus_javaagent-0.18.0.jar https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.18.0/jmx_prometheus_javaagent-0.18.0.jar
# 配置文件
curl -L -o /app/kafka/config/jvm_config.yaml https://raw.githubusercontent.com/prometheus/jmx_exporter/main/example_configs/kafka-2_0_0.yml
# 修改Kafka启动脚本
JMX_EXPORT_PORT=7071
sed -ri -e '/^EXTRA_ARGS/a # jmx export config' -e '/^EXTRA_ARGS/a export KAFKA_OPTS="-javaagent:\$base_dir/../libs/jmx_prometheus_javaagent-0.18.0.jar='"${JMX_EXPORT_PORT}"':\$base_dir/../config/jvm_config.yaml"' -e '/^EXTRA_ARGS/G' kafka-server-start.sh
修改Kafka启动脚本后原来文件比对

如果有启动firewalld服务,请放开jmx端口
- sudo firewall-cmd --add-port=$JMX_EXPORT_PORT/tcp --permanent
- sudo firewall-cmd --reload
重启Kafka服务
cd /app/kafka/bin/
# 停止服务
./kafka-server-stop.sh
# 启动服务
./kafka-server-start.sh -daemon ../config/server.properties

浙公网安备 33010602011771号