centos

CentOS中FileBeat如何自定义输出格式

小樊
41
2025-08-16 16:45:25
栏目: 智能运维

在CentOS中,要自定义FileBeat的输出格式,你需要修改FileBeat的配置文件filebeat.yml。以下是一个示例,展示了如何自定义输出格式:

  1. 打开FileBeat配置文件:
sudo vi /etc/filebeat/filebeat.yml
  1. filebeat.yml文件中,找到output.elasticsearch部分。如果你还没有配置输出到Elasticsearch,请添加以下内容:
output.elasticsearch:
  hosts: ["localhost:9200"]
  index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
  1. 要自定义输出格式,你需要使用processors功能。在filebeat.yml文件中,找到或添加processors部分。以下是一个示例,展示了如何添加一个名为custom_format的自定义处理器:
processors:
- add_fields:
    fields:
      custom_field: "custom_value"
  1. 然后,你需要创建一个自定义的模板文件,用于定义输出格式。在/etc/filebeat/templates.d/目录下创建一个名为custom_output_format.yml的新文件:
sudo vi /etc/filebeat/templates.d/custom_output_format.yml
  1. custom_output_format.yml文件中,添加以下内容,用于定义自定义输出格式:
template.name: "custom_output_format"
template.pattern: "custom_output_format-*"
template.enabled: true
template.source: >
  {
    "template": {
      "index_patterns": ["{{ .IndexPattern }}"],
      "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 0
      },
      "mappings": {
        "_doc": {
          "properties": {
            "custom_field": {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
  1. 保存并关闭文件。

  2. 重新启动FileBeat服务以应用更改:

sudo systemctl restart filebeat

现在,FileBeat将使用自定义的输出格式,并将数据发送到Elasticsearch。你可以根据需要修改custom_output_format.yml文件中的设置,以满足你的需求。

0
看了该问题的人还看了