centos

CentOS中Filebeat配置文件解析

小樊
51
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

2. filebeat.modules

定义了 Filebeat 要加载的模块。

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

3. filebeat.processors

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

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

4. filebeat.output.elasticsearch

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

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

5. setup.template.settings

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

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

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

示例配置文件

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

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
看了该问题的人还看了