下午16:11分客户突然在微信群里反馈kibana上的监控数据有丢失情况,看监控确实是从8点开始就一直没有监控数据。
看到问题后我们第一时间介入排查,看到8点字样,第一反应怀疑当天的监控索引写入有问题(我们北京东八区早8个小时)。于是开始查看八点附近的日志。果然看到从8点开始,大量的报错,具体报错如下:
报错信息非常明显:
nested: IllegalArgumentException[Rejecting mapping update to [.monitoring-logstash-6-2020.04.22] as the final mapping would have more than 1 type: [gzlj, doc]];
由于该客户的es版本是6.8.2的,因此无法支持多于一个的type。那为什么会出现两个type呢?开始第一时间排查客户的索引模版,执行下面的命令:
GET _template
终于发现了问题的根本原因:
原来客户在定义一个索引模板的时候,把这里的index_pattern设置成了*,这也就意味着后面所有新增的索引都会匹配到这个模板,包括es自身创建的一些索引。
所以解决的方法就是把该模板对应的index_pattern 设置成客户自己索引的前缀。
改完之后,索引创建成功,且kibana上又可以看到美丽的监控数据曲线了。
上云就上腾讯云,ES就用腾讯云EShttps://cloud.tencent.com/product/es
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。