某日现场技术支持找到了我,问我有个数据上报的功能,记录的都是上报失败,让我排查一下。我第一印象当然是甩锅,啊不对问一下情况,准备排查问题。
先交代一下基础情况:功能就是我们将我们系统的数据上报到对方的kafka集群里,对方再根据消费我们数据的情况产生反馈再推到Kafka,我们根据对方的反馈去更新我们上报数据的情况。
以下是我们聊天记录:
1、我:看下上报界面记录的错误原因
他:
2、我:(一看这不是不存在或者超时了吗)问下对方kafka是不是有问题,有没有删除什么topic或者其他的操作
他:都是正常的,我们运维监控平台也是可以连接到他们kafka集群的,用telent命令请求kafka集群也都是通的
3、我:确认下是不是我们这边发送的时候就异常了,这个错误是我们自己打上去的而不是对方反馈过来我们修改成异常的。
他:(查了日志,截图给我)是我们这边发送的时候就报错了。
4、我:(想到了之前这个客户数据一天是上亿的数据,开始怀疑是超时时间设置的短了)把Kafka超长时间加长一些吧
request.timeout.ms
我开始远程连上服务器,准备用kafka自带的命令行发送一条测试数据试一下。做为一名CV工程师肯定不会自己傻乎乎的敲命令,我问ChatGPT:
把命令复制一下改改就执行了,发现改了超长时间也还是会超时。这个时候有点不知道咋办了,于是问他:最近有调整过什么东西吗?
他:执行了系统中的一个脚本,修改了宿主机的IP
5、我:脚本发我一下
他:(复制过来一份文件,没错我直接让ChatGPT翻译去了)
6、我:(这个脚本太长了,翻译如下
看到修改了hosts文件,就大概知道原因了,原本对方kafka集群存到hosts里的配置信息应该是没了)检查一下hosts配置,把对方的存上去,试一下
他:可以了
至于这个原因呢,我也问了ChatGPT:
真是快乐的一天