一、问题描述
在Kibana上查询生产环境的日志时,发现某个关键字一直无法查询到,怀疑想要的日志被丢弃了,遂登录服务器查询原始日志,果然发现日志存在被丢弃的问题。经定位,在Logstash的日志中发现问题所在:
Limit of total fields 1000 has been exceeded while adding new fileds [4]
二、问题原因
Elasticsearch的Mapping做了映射保护,为了防止索引中错误的内容导致Mappings爆炸,索引中的最大字段数默认值为1000。这里日志中的某一段内容超出了默认字段数的限制,所以导致这一段日志被丢弃,没有存到elasticsearch中,所以在Kibana上无法查到想要的日志。
三、解决办法
登录Kibana,找到Management中的Dev Tools,点击进入:
查询问题索引的settings,如下:
GET logstash-p_xxx_..._xxx-2022.05.01/_settings
调整字段的限制:
PUT logstash-p_xxx_..._xxx-2022.05.01/_settings
{
"index.mapping.total_fields.limit": 3000
}
成功如下所示:
{
"acknowledged" : true
}
文章来源:https://www.toymoban.com/news/detail-508249.html
四、在Kibana上检查
在Kibana上检查问题是否解决,经测试,问题成功解决:
文章来源地址https://www.toymoban.com/news/detail-508249.html
到了这里,关于解决Elasticsearch索引报错问题之Limit of total fields 1000 has been exceeded ...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!