还在为查看kafka的数据头痛吗,介绍一款非常好用的可视化工具【offsetexplorer】
我们在项目开发中根据实际业务需求会使用到一些中间件,比如缓存redis、消息队列Kafka/RocketMQ/RabbitMQ等,在代码中集成后,可以通过命令来查看数据的走向,但我们更希望的是有一些可视化的辅助工具,来帮助我们快速的查看和监控服务以及数据的走向。很多中间件官方并没有给我们提供一些比较好的可视化工具。今天小编以Kafka为例介绍kafka可视化工具offsetexplorer的使用,更加方便我们对kafka数据的直观感受。

一、下载安装
1、从kafkatool官网(https://www.kafkatool.com/)下载Offset Explorer,根据系统环境选择windows版本或者Linux版本等。如果是windows系统,根据系统的位数选择下载32位还是64位软件。

2、下载之后按照操作指引安装。


3、安装完成之后,在安装目录下,双击可执行文件offsetexplorer.exe,即可启动 Kafka Tool,建议将此文件在桌面创建快捷方式方便启动。

二、软件配置
1、首次启动offsetexplorer.exe,进入界面会提示:
You must configure connections to your kafka cluster.

这是因为刚开始还没有进行一些参数的配置,提醒你需要去设置, 我们点击确定,进入设置页面。在Add Cluster窗口Properties 选项下,填写Cluster name (实测其他的选项不需要修改,默认都可以,不影响使用)

(如果没有搭建zookeeper 服务,不需要修改zookeeper 的配置参数,即使后面页面弹框报错提示Unable to connection zookeeper server也不影响)

在Add Cluster窗口Advanced 选项下,填写Bootstrap servers参数,为kafka服务的ip和端口(必填)

配置完之后可以点击Test按钮测试一下是否可以正常连接。

kafka成功连接之后可以看到该kafka的Topics信息等,如果是集群kafka,可以看到集群下所有节点的信息。

打开某一个topic,点击Data查看数据,一开始是没有数据的,点击绿色的播放按钮才展示数据


我们看到展示的数据都是字节类型的,我们想转换成字符类型查看可直观一点,修改Content Types,默认是Byte Array,我们修改成String,再点击右下角的update按钮。

修改Content Types为String之后查看Data的效果:

注意,如果只在某一个topics上修改Content Types,那只有当前topics编码方式生效,其他的topics编码方式还是不变,如果需要修改让所有topics都生效,可以在Tools->Settings->Topics 设置Default Content Types。Key和Value都设置成String。
