【ELK】使用filebeat为每个日志创建独立索引

        EFK是ELK日志监控架构中一个较为简单的、轻量级的日志监控框架,主要使用到了Filebeat 、Elasticsearch以及Kibana。Filebeat采集日志,并通过配置为某一类日志(如Tomcat的日志、Nginx的日志等等)创建独立的索引。如果不做独立的配置,那么Filebeat将所有的日志都采用同一个默认索引。

        这里使用的EFK的版本都为7.16.2版本,Elastic安装为单节点。EFK的安装配置,我之前的文章有详细说明,这里就不做介绍了。

        下面直接上重点!

        Filebeat使用rpm包安装,安装后的配置目录为/etc/filebeat/,这里我们需要为filebeat服务的首次启动创建配置信息。下面两处标红的配置,是网上铺天盖地使用的配置,但是实际测试发现,加上之后,在Kibana里面无法展示自定义的索引,但是并不影响索引模板的展示。

# vi /etc/filebeat/filebeat.yml

filebeat.inputs:
- type: filestream
  enabled: false
  paths:
    - /var/log/*.log

- type: log
  enable: true
  paths:
    - /app/tomcat/logs/access.*.log
#  json.keys_under_root: true
#  json.overwrite_keys: true
  fields:
    index: haweb

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.ilm.enabled: false
setup.template.name: "tomcat-haweb-log"
setup.template.pattern: "tomcat-*"
setup.template.overwrite: true
setup.template.enabled: true

setup.template.settings:
  index.number_of_shards: 1

setup.kibana:
  host: "192.168.223.10:5601"

output.elasticsearch:
  hosts: ["192.168.223.10:9200"]
  index: "tomcat-%{[fields.index]}-*"
  indices:
    - index: "tomcat-haweb-%{+yyyy-MM-dd}"
      when.equals:
        fields:
          index: "haweb"
  username: "elastic"
  password: "3d8h#5v0M"

processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~

配置好以后,执行下面的命令

# filebeat setup
# systemctl start filebeat.service

然后,在kibana的管理页面中就可以看到我们创建的索引和索引模板了。

首页 - 管理 - Stack Management - 数据 - 索引管理

【ELK】使用filebeat为每个日志创建独立索引

 【ELK】使用filebeat为每个日志创建独立索引

 创建索引模式

【ELK】使用filebeat为每个日志创建独立索引

根据自定义的索引,查看对应的服务日志信息

【ELK】使用filebeat为每个日志创建独立索引

 

上一篇:如何在2020年创建安全,低成本的物联网网络


下一篇:1269道Java技术答疑,阿里技术专家帮你Java技术进阶