更新时间:2022-08-26 16:51:02

问题描述:导入解析规则后,新建远程采集任务,远程采集类型数据进入,对应索引有数据增加,一段时间后,对应索引没有数据增加,其他类型的数据可以正常进入,filter有报错,具体如下:

问题原因:

当同时导入多个解析规则或解析规则数量很多的情况下修改解析规则,解析规则加载需要一段时间,加载时间和解析规则的数量和复杂程度有关,新建远程采集后,解析规则还未生效,未被解析的数据进入环境,而解析规则中做了替换字段值,本身int类型的字段经过解析规则后变成了string类型,当解析规则生效后,同一类型的日志同一个字段解析前后字段类型不同,会导致已经解析的数据无法写入OpenSearch。

排查思路:

  1. 解析规则避免修改字段的类型(比如替换字段值吗,本来是int类型,替换字段值会自动转换为string类型,用添加字段比较好),数据无法写入时,查看Logstash-filter日志,确认是否有异常;
  2. 当出现以上字段冲突情况时,需要先暂停数据输入(例如删除远程采集任务),删除索引库和日志库,重新接入数据(新建远程采集任务);
  3. 当同时导入解析规则比较多时,等待一段时间(根据解析规则的数量以及解析规则的复杂程度来判断等待时间),解析规则生效后再传入数据。