温馨提示×

CentOS中Filebeat配置文件解析

小樊
52
2025-07-30 20:21:22
栏目: 智能运维

Filebeat 是一个轻量级的日志收集器,用于将日志数据从源传输到如 Elasticsearch 或 Logstash 等后端存储系统。在 CentOS 系统中,Filebeat 的配置文件通常位于 /etc/filebeat/filebeat.yml

以下是 Filebeat 配置文件的主要部分及其解析:

1. filebeat.inputs

定义了 Filebeat 要监控的日志文件或目录。

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
  ignore_older: 72h
  • type: 输入类型,通常是 log
  • enabled: 是否启用该输入。
  • paths: 要监控的日志文件或目录。
  • ignore_older: 忽略超过该时间的日志文件。

2. filebeat.modules

定义了 Filebeat 要加载的模块。

filebeat.modules:
  path: ${config.home}/modules.d/*.yml
  reload.enabled: false
  • path: 模块配置文件的路径。
  • reload.enabled: 是否在运行时重新加载模块配置。

3. filebeat.processors

定义了 Filebeat 在发送日志数据之前要应用的处理器。

filebeat.processors:
- add_fields:
    fields:
      custom_field: "value"
  • add_fields: 添加自定义字段到事件中。

4. filebeat.output.elasticsearch

定义了 Filebeat 将日志数据发送到的 Elasticsearch 集群。

filebeat.output.elasticsearch:
  hosts: ["localhost:9200"]
  index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
  • hosts: Elasticsearch 集群的地址。
  • index: 日志数据的索引名称模板。

5. setup.template.settings

定义了 Elasticsearch 索引模板的设置。

setup.template.settings:
  index.number_of_shards: 3
  index.codec: best_compression
  • index.number_of_shards: 索引的分片数量。
  • index.codec: 索引的压缩编解码器。

6. setup.template.name

定义了 Elasticsearch 索引模板的名称。

setup.template.name: "filebeat"

7. setup.template.pattern

定义了 Elasticsearch 索引模板的匹配模式。

setup.template.pattern: "filebeat-*"

8. logging.level

定义了 Filebeat 的日志级别。

logging.level: info
  • info: 默认日志级别,显示一般信息。
  • debug: 显示调试信息。
  • error: 显示错误信息。

示例配置文件

以下是一个完整的示例配置文件:

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
  ignore_older: 72h

filebeat.modules:
  path: ${config.home}/modules.d/*.yml
  reload.enabled: false

filebeat.processors:
- add_fields:
    fields:
      custom_field: "value"

filebeat.output.elasticsearch:
  hosts: ["localhost:9200"]
  index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"

setup.template.settings:
  index.number_of_shards: 3
  index.codec: best_compression

setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"

logging.level: info

通过编辑这个配置文件,你可以自定义 Filebeat 的行为,以满足你的具体需求。

0