如何在ELK集群中设置日志收集规则?

ELK集群是指将Elasticsearch、Logstash、Kibana组合在一起旨在提供实时分析,实时搜索,实时可视化的功能的的集成系统。

架构图如下: https://i.loli.net/2020/07/26/X1ucQy6fdabU2xo.png

ELK集群搭建可以通过安装版、Docker容器和Kubernetes等方式实现,根据不同的实际需求,可以选择不同的安装方式来安装和搭建ELK集群。

在进行ELK集群的搭建之后,需要进行插件的安装,用以收集和可视化日志,比如Filebeat和Logstash,以及Kibana等插件。安装完插件之后,需要对各个插件之间进行配置,以使其正常运行,实现日志收集功能。

为了让ELK集群正确收集日志信息,需要对每个插件进行合理的配置,首先,需要配置Filebeat,它是ELK集群中最重要的插件之一,它有一个inputs配置文件,可以用来获取logstash的inputs和logstash的输出信息,通过配置这个文件,可以让Filebeat从指定的IP地址获取实时的日志信息,Filebeat的inputs文件配置示例如下:


- type: log
  paths:
    - /var/log/*.log

- type: tcp
  host: 127.0.0.1
  port: 1234

还有logstash也是ELK集群中关键的配置文件,需要合理配置,Logstash中的inputs文件可以获取日志信息,Logstash中filter文件可以对日志信息进行过滤,Logstash中outputs文件用来将收集到的日志信息输出到Elasticsearch中,Logstash的inputs文件配置示例如下:


input {
        tcp {
            port => 1234
            mode => "client"
        }
    }
    filter {
        kv { }
    }
    output {
        elasticsearch {
            action => "index"
            index => "logstash-%{+YYYY.MM.dd}"
            hosts => ["localhost:9200"]
            document_type => "logs"
        }
   }

安装完所有插件之后,还需要对Kibana进行配置,用来可视化日志的数据,已进行数据分析和查询。 Kibana的配置示例如下:


server.name: kibana
server.host: 0.0.0.0
server.port: 5601
elasticsearch.url: http://localhost:9200

最后,在运行所有插件后,ELK集群即可正常工作,用以实现实时日志收集和可视化。

ELK集群是一种用于收集日志并进行可视化分析的集成系统,可以实时搜索和可视化日志,ELK集群的功能主要由Elaticsearch、Logstash以及Kibana组成,需要通过搭建ELK集群和安装插件,进行配置好各个插件之间的相互联系,就能正常工作,实现实时日志收集和可视化功能。

随机文章