半路接收环境,遇见ELK日志不能创建索引接收日志的问题
es6.8版本,默认mappings的类型是doc,但是在es创建时设置了自定义模版,把这个mappings的类型改成了自定义
注:这个截图是已经改好了的
这时候就和es默认使用的type产生了冲突,es在接收到日志之后就会报错
在kibana上看见这的mapping的类型是自己设置的XXX
注:这个截图是已经改好了的
虽然冲突但还是可以收集到日志,但是在创建自定义索引的时候会因为此错误而导致创建索引时找不到对应的索引,并且默认会输出到logstash上的日志也会消失。
不管是ai还是寻找各自教程,教的都是kibana上更改索引管理中这个创建索引的mappings,通过使用开发工具各自改改改。
实际上底层这个模版是在ES已经被定义好的,上层的更改没有任何意义,想要正常还得从ES下手。
通过查看安装脚本发现,es有制作日志的模版脚本,从这里下手进行更改。
先把模版里面的自定义mappings的type类型改成doc,然后将新改好的模版重新加载,最后重启ES查看是否生效。
shell
curl -u elastic:密码 -XPOST http://es地址/_template/audit -H 'Content-Type:application/json' -d 模版路径
之后再到kibana里面重新查看,可以成功创建,问题解决