Elastic Stack 监控 Kafka 和 Zookeeper

今天给大家演示一下如何使用 来监控 的运行情况。

测试环境准备

安装

下载解压。
Kafka 需要依赖 Zookeeper,依次,默认配置安装,启动。

Kafka 安装

下载解压。
修改 Kafka 的配置文件:config/server.properties

如果不修改,则会遇到 Metricbeat 连接失败,错误提示:

Kafka 和 Zookeeper 通信正常,拿几个官方的测试命令,可以测试一下是否正常。

Elasitcsearch 和 Kibana 安装

此次就不介绍了。

Metricbeat 安装配置

Metricbeat 安装很简单,下载解压,将目录 modules.d 下面的 kafka.yml.disabled 配置文件,重命名为 kafka.yml,该配置文件默认只开启了 partition 的监控指标收集,在这里,我们启用 consumergroup 的指标收集,完整的配置文件如下:

Metricbeat 还能支持 Zookeeper 的监控, 只需要在相同目录,将 zookeeper.yml.disabled 重命名为 zookeeper.yml.disabled,完成。

查看 Kibana

没错,只需要上面几个步骤,修改 Metricbeat 的几行配置,就可以完成 Kafka 和 Zookeeper 的监控,现在打开 Kibana,立马就能看到数据了,有图为证。

第一个是当前 Kafka topic 和 partition 的相关信息。

第二个是当前 Kafka topic 与 consumer 的相关信息。

第三个是 Zookeeper 的相关指标。

关于完整的字段列表,这里是文档地址:
https://www.elastic.co/guide/en/beats/metricbeat/current/exported-fields-kafka.html

配置 Dashboard

上面Kibana 的 Discover 虽然能够显示 Elasticsearch 里面已经有了监控数据了,但是为了方便使用,我们还需要配置一下可视化的展现,来更直观的进行监控和分析。这两个监控模块目前还没有自带 Dashboard,需要自己来配置可视化,配置图形界面可得花点时间,今天时间不够了。

收键。

附 Metricbeat 连接 Kafka 失败的异常截图: