Filebeat 是一个轻量级的日志收集器,用于将日志数据发送到 Elasticsearch 或 Logstash 进行存储和分析。在 CentOS 环境下,Filebeat 的配置文件通常位于 /etc/filebeat/filebeat.yml
。下面是对该配置文件中一些关键部分的解读:
filebeat.inputs
: 定义了 Filebeat 需要收集的日志文件或输入源。例如:
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log
这里,Filebeat 会收集 /var/log/
目录下的所有 .log
文件。
filebeat.modules
: 定义了 Filebeat 需要启用的模块。模块可以帮助你更方便地收集特定应用程序的日志。例如:
filebeat.modules: path: ${config.home}/modules.d/*.yml reload.enabled: false
这里,Filebeat 会加载 ${config.home}/modules.d/
目录下的所有 .yml
模块配置文件。
output.elasticsearch
: 定义了 Filebeat 输出日志的目标,这里是将日志发送到 Elasticsearch。例如:
output.elasticsearch: hosts: ["localhost:9200"] index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
这里,Filebeat 将日志发送到本地的 Elasticsearch 实例(地址为 localhost:9200
),并使用 filebeat-%{[agent.version]}-%{+yyyy.MM.dd}
作为索引名称。
setup.template.settings
: 定义了 Elasticsearch 索引模板的设置。例如:
setup.template.settings: index.number_of_shards: 3 index.codec: best_compression _source.enabled: true
这里,设置了索引的分片数为 3,使用了最佳压缩编解码器,并启用了源数据。
setup.template.name
: 定义了 Elasticsearch 索引模板的名称。例如:
setup.template.name: "filebeat"
这里,索引模板的名称为 filebeat
。
setup.template.pattern
: 定义了 Elasticsearch 索引模板匹配的索引名称模式。例如:
setup.template.pattern: "filebeat-*"
这里,索引模板匹配所有以 filebeat-
开头的索引。
这些是 Filebeat 配置文件中的一些关键部分。你可以根据自己的需求修改这些设置。更多关于 Filebeat 配置文件的详细信息,请参考官方文档:https://www.elastic.co/guide/en/beats/filebeat/current/configuration-file.html