Filebeat的Modules模块

一、简介

Filebeat采集日志文件除了可以自定义配置Input采集器、Processor处理器、输出目的地等,还提供大量的模板配置Modules来快速地配置采集通用格式的日志文件。例如Nginx标准格式的日志文件。

Filebeat的Module简化了常见日志格式的收集、解析和可视化。

一个典型的Module(例如,对于Nginx日志的Module)由一个或多个Fileset组成(对于Nginx,则是accesserror日志文件)。Fileset包含以下内容:

  • Filebeat输入配置:其中包含查找日志文件的默认路径,而这些默认路径取决于操作系统。Filebeat配置还负责在需要时将多行事件拼接在一起。
  • Elasticsearch Ingest节点Pipeline定义:用于解析日志行。
  • 字段定义:用于为每个字段配置Elasticsearch的正确类型。它们还包含每个字段的简短描述。
  • Kibana表盘样本:可以用来可视化日志文件。

Filebeat支持的Modules

Filebeat模块需要Elasticsearch 5.2或更高版本。

类型
Modules overview
Apache module
Auditd module
AWS module
CEF module
Cisco module
Coredns Module
Elasticsearch module
Envoyproxy Module
Google Cloud module
haproxy module
IBM MQ module
Icinga module
IIS module
Iptables module
Kafka module
Kibana module
Logstash module
MongoDB module
MSSQL module
MySQL module
nats module
NetFlow module
Nginx module
Osquery module
Palo Alto Networks module
PostgreSQL module
RabbitMQ module
Redis module
Santa module
Suricata module
System module
Traefik module
Zeek (Bro) Module

二、Module配置

1. 加载Modules

/etc/filebeat/filebeat.yml中配置加载Modules

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
  reload.period: 10s

指定特殊的filebeat全局配置文件来配置加载Modules

filebeat -c /etc/filebeat/filebeat-kong.yaml modules enable nginx

2. 查看所有Module

filebeat modules list

3. 启用Module

Filebeat的Modules配置文件通常在/etc/filebeat/modules.d

Filebeat提供了几种启用模块的不同方法:

  • 命令行启用module

      filebeat modules enable module名
    
  • 在配置文件/etc/filebeat/filebeat.yml中启用Modules

    filebeat.modules:
    - module: nginx
    - module: mysql
    - module: system
    
  • 在运行时使用Modules

    filebeat --modules nginx,mysql,system
    

4. 配置Module变量参数

Filebeat的Modules配置文件通常在/etc/filebeat/modules.d下。当module不启用时,自带的Module配置文件是以.disabled后缀的。启用后,会自动去掉.disabled后缀,此时可以修改module的默认变量参数

  • 在运行时配置Module变量参数

    filebeat -e --modules 模块名 -M "nginx.access.var.paths=[/var/log/nginx/access.log*]"
    
  • 在Modules的配置文件中配置变量参数

    以Nginx模块的配置文件为例/etc/filebeat/modules.d/nginx.yml

    - module: nginx
      # 设置Nginx访问日志fileset
      access:
        input:
            close_eof: true
        enabled: true
        # 日志文件路径。如果为空,默认根据操作系统版本自行选择日志文件路径.
        var.paths: [ "/var/log/nginx/access.log", "/var/log/nginx/admin_access.log" ]
      # 设置Nginx错误日志fileset
      error:
        enabled: true
        # 日志文件路径。如果为空,默认根据操作系统版本自行选择日志文件路径.
        var.paths: ["/var/log/nginx/error.log"]
    

注意:例如想要给Nginx模块的fileset添加一个参数close_eof: true,可使用以下参数

  • 配置文件

    - module: nginx
      access:
        input:
          close_eof: true
    
  • 命令行

    filebeat -e --modules nginx -M "*.*.input.close_eof=true" 
    # 或者
    filebeat -e --modules nginx -M "nginx.*.input.close_eof=true"
    # 或者
    filebeat -e --modules nginx -M "nginx.access.input.close_eof=true"
    
Copyright Curiouser all right reserved,powered by Gitbook该文件最后修改时间: 2020-06-16 21:35:29

results matching ""

    No results matching ""