使用Filebeat转发日志

在您需要收集和转发日志的主机上安装Filebeat,(参见参考部分中的详细说明的链接)。

注意:确保Filebeat的版本与ELK镜像的版本相同。

示例Filebeat设置和配置

注意:GITHUB上的源Git仓库nginx-filebeat文件名子目录包含一个示例Dockerfile,使您能够创建实现以下步骤的Docker镜像。

这里是一个示例/etc/filebeat/filebeat.yml配置文件,用于转发syslog和authentication日志以及nginx日志。

output:
  logstash:
    enabled: true
    hosts:
      - elk:5044
    ssl:
      certificate_authorities:
        - /etc/pki/tls/certs/logstash-beats.crt
    timeout: 15

filebeat:
  prospectors:
    -
      paths:
        - /var/log/syslog
        - /var/log/auth.log
      document_type: syslog
    -
      paths:
        - "/var/log/nginx/*.log"
      document_type: nginx-access

在示例配置文件中,确保用ELK服务主机的主机名或IP地址替换elk中的elk:5044

您还需要复制logstash-beats.crt文件(它包含证书颁发机构的证书或服务器证书,作为证书是自签名的),用于Logstash的Beats输入插件;从ELK镜像的源代码库中查看关于证书/etc/pki/tls/certs/logstash-beats.crt的更多信息的安全注意事项

备注-当在Windows机器上使用Filebeat时,而不是使用certificate_authorities配置选项,可以将来自logstash-beats.crt的证书安装在Windows的可信根证书颁发机构存储中。

备注- ELK镜像包括配置项(/etc/logstash/conf.d/11-nginx.conf/opt/logstash/patterns/nginx)解析Nginx访问日志,如上面的Filebeat实例所转发的那样。

如果您是第一次启动Filebeat,则应在Elasticsearch中加载默认索引模板。在编写该文档时,Filebeat版本6,在Elasticsearch中加载索引模板不起作用,请参阅已知问题

启动Filebeat:

sudo /etc/init.d/filebeat start

关于处理多行日志条目的注释

为了处理多行日志条目(例如堆栈跟踪),使用Filebeat作为单个事件,您可能需要考虑在Beats 1.1.0中引入的Filebeat's multiline option,作为更改Logstash的配置文件以使用Logstash's multiline codec

results matching ""

    No results matching ""