• 对于注定会优秀的人来说,他所需要的,只是时间!
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!

<七>Prometheus学习笔记–Prometheus监控之kafka集群

Prometheus eryajf 4周前 (05-02) 214°C 已收录 3个评论
本文预计阅读时间 6 分钟

prometheus监控kafka常见的有两种开源方案,一种是传统的部署exporter的方式,一种是通过jmx配置监控,本文将采用第二种方式进行配置。

  • 项目地址:
    • kafka_exporter:https://github.com/danielqsj/kafka_exporter
    • jmx_exporter:https://github.com/prometheus/jmx_exporter

1、安装部署

现有kafka三节点的集群,环境大概如下:

主机 组件
10.3.0.41–node1 zookeeper,kafka
10.3.0.42–node2 zookeeper,kafka
10.3.20.4–node3 zookeeper,kafka

接着分别在如上三台主机上进行如下配置:

wget https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/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

分别创建统一的配置放置目录:

mkdir -p /usr/local/kafka/jmx/
mv kafka-2_0_0.yml  /usr/local/kafka/jmx/kafka-2_0_0.yml
mv jmx_prometheus_javaagent-0.12.0.jar /usr/local/kafka/jmx/jmx_prometheus_javaagent-0.12.0.jar

然后在启动的配置文件中添加如下两行:

$ cat bin/kafka-server-start.sh

if [ $# -lt 1 ];
then
    echo "USAGE: $0 [-daemon] server.properties [--override property=value]*"
    exit 1
fi
base_dir=$(dirname $0)

if [ "x$KAFKA_LOG4J_OPTS" = "x" ]; then
    export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties"
fi

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}

#如下两行内容
export JMX_PORT="9999"
export KAFKA_OPTS="-javaagent:/usr/local/kafka/jmx/jmx_prometheus_javaagent-0.12.0.jar=9991:/usr/local/kafka/jmx/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 "$@"

然后重启kafka。

2,配置 prometheus.yml 添加监控目标

$ vim /usr/local/prometheus/prometheus.yml

  - job_name: 'kafka-cluster'
    scrape_interval: 5s
    static_configs:
    - targets: ['10.3.0.41:9991']
    - targets: ['10.3.0.42:9991']
    - targets: ['10.3.20.4:9991']

重启服务。

$ systemctl restart prometheus

或者通过命令热加载:

curl  -XPOST localhost:9090/-/reload

5,配置 Grafana 的模板

展示模板通过ID进行导入,可用ID有:758910466,11963等等

image-20191113163958873


weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明<七>Prometheus学习笔记–Prometheus监控之kafka集群
喜欢 (1)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!永远不要忘记,激情的奋进,就是美好的未来!

您必须 登录 才能发表评论!

(3)个小伙伴在吐槽
  1. 您好 我按照您的配置在ip:9991页面中可以看到采集的指标,但是在granfana的仪表盘中不显示,请问您用的是哪一个模板
    赵根硕2020-05-11 16:51 Windows 10 | Chrome 80.0.3987.149
    • eryajf
      这个原因可能很多,如果你在grafana中接入prometheus数据源时验证通过了,那么应该就是配置上不大对,你可以说下你用的哪个模板
      eryajf2020-05-11 18:12 Mac OS X | Chrome 81.0.4044.138
      • 确实是配置的问题,我用的10555,之后又自己改了下配置就可以了,感谢!
        赵根硕2020-05-12 08:55 Windows 10 | Chrome 80.0.3987.149