Logstash 参考指南(使用Filebeat Modules)

xuliulei 2019-06-28

使用Filebeat Modules

Filebeat附带预构建的模块,这些模块包含收集、解析、充实和可视化各种日志文件格式数据所需的配置,每个Filebeat模块由一个或多个文件集组成,这些文件集包含摄取节点管道、Elasticsearch模板、Filebeat勘探者配置和Kibana仪表盘。

Filebeat模块是一个很好的入门方法,但是你可能会发现摄取管道无法提供你所需的处理能力,如果是这样,你需要使用Logstash。

使用Logstash而不是摄取节点

Logstash提供了一个摄取管道转换工具,帮助你将摄取管道定义迁移到Logstash的configs,但是,该工具目前不支持摄取节点可用的所有处理器。

你可以按照本节中的步骤构建和运行Logstash配置,这些配置解析Filebeat模块收集的数据,然后你就可以在Kibana中使用与Filebeat相同的仪表盘来可视化你的数据。

创建并启动Logstash管道

  1. 创建一个Logstash管道配置,从Beats输入读取并解析事件,有关详细示例,请参阅配置示例。
  2. 启动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

  1. 如果你还没有设置Filebeat索引模板和示例Kibana仪表盘,那么现在运行Filebeat setup命令来完成此任务:
    ./filebeat -e setup
    -e标志是可选的,并将输出发送到标准error,而不是syslog。

    这个一次性设置步骤需要连接Elasticsearch和Kibana,因为Filebeat需要在Elasticsearch中创建索引模板,并将样例仪表盘加载到Kibana。
    加载完模板和仪表盘之后,你会看到消息INFO Kibana dashboards successfully loaded. Loaded dashboards

  2. 配置Filebeat将日志行发送到Logstash,为此,在filebeat.yml配置文件中,禁用Elasticsearch输出,并启用Logstash输出,例如:

    #output.elasticsearch:
      #hosts: ["localhost:9200"]
    output.logstash:
      hosts: ["localhost:5044"]
  3. 运行modules enable命令以启用你想要运行的模块,例如:
    ./filebeat modules enable nginx
    你可以通过在Filebeat modules.d目录下编辑配置文件来进一步配置模块,例如,如果日志文件不在模块期望的位置,你可以设置var.paths选项。
  4. 启动Filebeat,例如,要在前台启动Filebeat,请使用:
    ./filebeat -e

    根据安装Filebeat的方式,在尝试运行Filebeat模块时,可能会看到与文件所有权或权限相关的错误,如果遇到与文件所有权或权限相关的错误,请参阅Beats平台参考资料中的配置文件所有权和权限

    有关更多信息,请参阅启动Filebeat

可视化数据

要在Kibana中可视化数据,可以通过将浏览器指向端口5601来启动Kibana web界面,例如:http://127.0.0.1:5601

相关推荐