Logstash 参考指南(使用Filebeat Modules)
使用Filebeat Modules
Filebeat附带预构建的模块,这些模块包含收集、解析、充实和可视化各种日志文件格式数据所需的配置,每个Filebeat模块由一个或多个文件集组成,这些文件集包含摄取节点管道、Elasticsearch模板、Filebeat勘探者配置和Kibana仪表盘。
Filebeat模块是一个很好的入门方法,但是你可能会发现摄取管道无法提供你所需的处理能力,如果是这样,你需要使用Logstash。
使用Logstash而不是摄取节点
Logstash提供了一个摄取管道转换工具,帮助你将摄取管道定义迁移到Logstash的configs,但是,该工具目前不支持摄取节点可用的所有处理器。
你可以按照本节中的步骤构建和运行Logstash配置,这些配置解析Filebeat模块收集的数据,然后你就可以在Kibana中使用与Filebeat相同的仪表盘来可视化你的数据。
创建并启动Logstash管道
- 创建一个Logstash管道配置,从Beats输入读取并解析事件,有关详细示例,请参阅配置示例。
启动Logstash,并传入解析日志的管道配置文件,例如:
bin/logstash -f mypipeline.conf
当Logstash运行并监听来自Beats的输入时,你将看到以下消息:[2017-10-13T00:01:15,413][INFO ][logstash.inputs.beats ] Beats inputs: Starting input listener {:address=>"127.0.0.1:5044"} [2017-10-13T00:01:15,443][INFO ][logstash.pipeline ] Pipeline: started {"pipeline.id"=>"main"}
Logstash管道现在可以接收来自Filebeat的事件,接下来,设置并运行Filebeat。
设置并运行Filebeat
- 如果你还没有设置Filebeat索引模板和示例Kibana仪表盘,那么现在运行Filebeat
setup
命令来完成此任务:./filebeat -e setup
-e
标志是可选的,并将输出发送到标准error,而不是syslog。这个一次性设置步骤需要连接Elasticsearch和Kibana,因为Filebeat需要在Elasticsearch中创建索引模板,并将样例仪表盘加载到Kibana。
加载完模板和仪表盘之后,你会看到消息INFO Kibana dashboards successfully loaded. Loaded dashboards
。 配置Filebeat将日志行发送到Logstash,为此,在
filebeat.yml
配置文件中,禁用Elasticsearch输出,并启用Logstash输出,例如:#output.elasticsearch: #hosts: ["localhost:9200"] output.logstash: hosts: ["localhost:5044"]
- 运行
modules enable
命令以启用你想要运行的模块,例如:./filebeat modules enable nginx
你可以通过在Filebeatmodules.d
目录下编辑配置文件来进一步配置模块,例如,如果日志文件不在模块期望的位置,你可以设置var.paths
选项。 启动Filebeat,例如,要在前台启动Filebeat,请使用:
根据安装Filebeat的方式,在尝试运行Filebeat模块时,可能会看到与文件所有权或权限相关的错误,如果遇到与文件所有权或权限相关的错误,请参阅Beats平台参考资料中的配置文件所有权和权限。./filebeat -e
有关更多信息,请参阅启动Filebeat。
可视化数据
要在Kibana中可视化数据,可以通过将浏览器指向端口5601来启动Kibana web界面,例如:http://127.0.0.1:5601。