filebeat自定义索引名称
环境准备
1.配置filebeat使用自定义的索引名称
我们配置192.168.81.220的filebeat使用自定义的索引名称
1.1.配置nginx开启json格式的日志
[root@node-2 ~]# vim /etc/nginx/nginx.conf http { log_format main '{"客户端内网地址":"$remote_addr",' '"时间":"$time_iso8601",' '"URL":"$request",' '"状态码":$status,' '"传输流量":$body_bytes_sent,' '"跳转来源":"$http_referer",' '"浏览器":"$http_user_agent",' '"客户端外网地址":"$http_x_forwarded_for",' '"请求响应时间":$request_time,' '"后端地址":"$upstream_addr"}'; } [root@node-2 ~]# systemctl reload nginx
1.2.配置filebeat使用自定义的索引名
自定义索引名主要修改output的配置,自定义索引名,必须新设置一个模板,否则会报错
配置解释:
output.elasticsearch:
hosts: [“192.168.81.210:9200”]
index: “nginx-jiangxl-access-%{+yyyy.MM}” //自定义索引名,这里配置的日期是按月进行创建索引了,也就是1个月创建一个索引,个人还是建议以天来创建索引,这样容易备份
setup.template.name: “nginx” //设置一个新的模板,模板的名称
setup.template.pattern: “nginx-*” //模板匹配那些索引,这里表示以nginx开头的所有的索引
setup.template.enabled: false //关掉默认的模板配置
setup.template.overwrite: true //开启新设置的模板
1.修改配置 [root@node-2 ~]# vim /etc/filebeat/filebeat.yml filebeat.inputs: - type: log enabled: true paths: - /var/log/nginx/access.log - /var/log/nginx/error.log json.keys_under_root: true json.overwrite_keys: true output.elasticsearch: hosts: ["192.168.81.210:9200"] index: "nginx-jiangxl-access-%{+yyyy.MM}" setup.template.name: "nginx" setup.template.pattern: "nginx-*" setup.template.enabled: false setup.template.overwrite: true 2.重启filebeat [root@node-2 ~]# systemctl restart filebeat
1.3.查看es是否增加了新的索引
可以看到自定义的索引已经创建好了,但是由于我们启用了新的模板,则应用了es默认的配置,5个分片1个副本,旁边的索引使用的是默认的filebeat配置,3个分片1个副本
1.4.在kibana上关联es索引
点击Managerment—索引模式—创建索引
索引名使用通配符的形式,这样以后索引的nginx-jiangxl开头的索引库收集来的日志可以聚合展示了,否则每个月甚至每天都需要创建索引
可以看到在选择字段的时候也比原来的要少,因为是自定义的模板,因此字段只有我们定义的内容,默认的模板把所有支持的字段都会加上
创建成功