centos

如何自定义CentOS上Filebeat的输出格式

小樊
61
2025-04-20 18:26:56
栏目: 智能运维

在CentOS上自定义Filebeat的输出格式,您需要编辑Filebeat的配置文件filebeat.yml。以下是自定义输出格式的步骤:

  1. 打开终端。

  2. 使用文本编辑器(如vi、nano等)打开filebeat.yml配置文件。通常位于/etc/filebeat/filebeat.yml。例如,使用vi编辑器,输入以下命令:

    sudo vi /etc/filebeat/filebeat.yml
    
  3. filebeat.yml文件中,找到output部分。如果没有这个部分,请添加它。然后,在output部分下,您可以定义自己的输出模块和格式。例如,如果您想将日志发送到Elasticsearch并自定义输出格式,可以使用以下配置:

    output.elasticsearch:
      hosts: ["localhost:9200"]
      index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
      pipeline: "filebeat-%{[agent.version]}"
      template.name: "filebeat-template"
      template.enabled: true
      template.id: "filebeat-template"
      template.version: 3
      template.source: |
        {
          "index_patterns": ["filebeat-*"],
          "settings": {
            "number_of_shards": 1,
            "number_of_replicas": 0
          },
          "mappings": {
            "_source": {
              "enabled": true
            },
            "properties": {
              "@timestamp": {
                "type": "date"
              },
              "message": {
                "type": "text"
              },
              "filebeat": {
                "properties": {
                  "beat": {
                    "properties": {
                      "name": {
                        "type": "keyword"
                      },
                      "version": {
                        "type": "keyword"
                      }
                    }
                  },
                  "input_type": {
                    "type": "keyword"
                  },
                  "source": {
                    "type": "keyword"
                  },
                  "offset": {
                    "type": "long"
                  },
                  "file": {
                    "properties": {
                      "path": {
                        "type": "keyword"
                      }
                    }
                  },
                  "log": {
                    "type": "object"
                  },
                  "stream": {
                    "type": "keyword"
                  }
                }
              }
            }
          }
        }
    

    在这个例子中,我们定义了一个Elasticsearch输出模块,并自定义了索引名称、模板ID和映射。

  4. 保存并关闭filebeat.yml文件。

  5. 重新启动Filebeat服务以应用更改:

    sudo systemctl restart filebeat
    

现在,Filebeat将使用您自定义的输出格式发送日志到Elasticsearch。请注意,这个例子是针对Elasticsearch输出模块的。如果您使用其他输出模块(如Logstash或消息队列),则需要根据相应的文档进行配置。

0
看了该问题的人还看了