You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断Kafka消费者使用TLS/PLAINTEXT监听器?禁用前确认使用情况

如何确认Kafka消费者使用的是TLS还是PLAINTEXT监听器

1. 用Kafka消费者组工具查配置

执行kafka-consumer-groups.sh --describe --group <你的消费者组名> --bootstrap-server <Broker地址>,在输出里找security.protocol配置项:

  • 值为PLAINTEXT时,消费者用的是明文监听器;值为SSL或SASL_SSL时,用的是TLS监听器。
  • 若消费者未显式配置该参数,默认是PLAINTEXT,需结合其他方式验证。

2. 查看Broker日志定位连接端口

打开Broker的logs/server.log日志文件,搜索Accepted connection from关键词:

  • 日志会显示连接的客户端IP和使用的端口,比如Accepted connection from /192.168.1.100 on port 9092,如果9092是你配置的PLAINTEXT端口,说明该消费者用的是明文连接。
  • 可以用grep快速过滤:grep "Accepted connection from" logs/server.log | grep ":9092"(替换成你的PLAINTEXT端口),有输出就说明存在明文消费者连接。

3. 通过JMX获取连接的监听器类型

启用Broker的JMX端口(默认9999),用JConsole或VisualVM连接后:

  • 找到kafka.server下的SocketServer MBean,查看Connections属性,里面会列出每个连接对应的监听器名称(PLAINTEXT或SSL)。
  • 也可以用命令行工具批量查询:
    echo "get kafka.server:type=SocketServer,name=Connections" | jmxterm -n -l service:jmx:rmi:///jndi/rmi://<BrokerIP>:9999/jmxrmi
    

4. 抓包验证流量类型

在Broker机器上用tcpdump抓取PLAINTEXT端口的流量:

tcpdump -i any port 9092 -A

如果能抓到可见的Kafka消息内容(比如topic名称、明文消息),说明有消费者在用PLAINTEXT监听器;如果该端口无流量,证明当前没有明文连接。

禁用PLAINTEXT监听器前的注意事项

  • 持续监控一段时间(几小时到一天),确认无新的明文连接接入。
  • 先在测试环境禁用PLAINTEXT,验证所有消费者可正常连接TLS监听器。
  • 生产环境可先限制PLAINTEXT端口的访问IP,逐步降低依赖后再完全禁用。

内容的提问来源于stack exchange,提问作者jhamu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:37:13