一、問題描述
在Kibana上查詢生產(chǎn)環(huán)境的日志時,發(fā)現(xiàn)某個關(guān)鍵字一直無法查詢到,懷疑想要的日志被丟棄了,遂登錄服務(wù)器查詢原始日志,果然發(fā)現(xiàn)日志存在被丟棄的問題。經(jīng)定位,在Logstash的日志中發(fā)現(xiàn)問題所在:
Limit of total fields 1000 has been exceeded while adding new fileds [4]
二、問題原因
Elasticsearch的Mapping做了映射保護(hù),為了防止索引中錯誤的內(nèi)容導(dǎo)致Mappings爆炸,索引中的最大字段數(shù)默認(rèn)值為1000。這里日志中的某一段內(nèi)容超出了默認(rèn)字段數(shù)的限制,所以導(dǎo)致這一段日志被丟棄,沒有存到elasticsearch中,所以在Kibana上無法查到想要的日志。
三、解決辦法
登錄Kibana,找到Management中的Dev Tools,點擊進(jìn)入:
查詢問題索引的settings,如下:
GET logstash-p_xxx_..._xxx-2022.05.01/_settings
調(diào)整字段的限制:
PUT logstash-p_xxx_..._xxx-2022.05.01/_settings
{
"index.mapping.total_fields.limit": 3000
}
成功如下所示:
{
"acknowledged" : true
}
文章來源:http://www.zghlxwxcb.cn/news/detail-508249.html
四、在Kibana上檢查
在Kibana上檢查問題是否解決,經(jīng)測試,問題成功解決:文章來源地址http://www.zghlxwxcb.cn/news/detail-508249.html
到了這里,關(guān)于解決Elasticsearch索引報錯問題之Limit of total fields 1000 has been exceeded ...的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!