Apache kafka 如何删除filebeat元数据

Apache kafka 如何删除filebeat元数据,apache-kafka,haproxy,filebeat,Apache Kafka,Haproxy,Filebeat,我使用filebeat将传入日志从haproxy转发到Kafka主题,但转发之后,filebeat向Kafka消息添加了太多元数据,这会消耗更多内存,这是我想要避免的 filebeat向kafka发送的消息示例,其中添加了元数据、主机和许多其他内容: { “@时间戳”:“2017-03-27T08:14:09.508Z”, “节拍”:{ “主机名”:“stage-kube03”, “名称”:“stage-kube03”, “版本”:“5.2.1” }, “输入类型”:“日志”, “信息”:{ “

我使用filebeat将传入日志从haproxy转发到Kafka主题,但转发之后,filebeat向Kafka消息添加了太多元数据,这会消耗更多内存,这是我想要避免的

filebeat向kafka发送的消息示例,其中添加了元数据、主机和许多其他内容:

{ “@时间戳”:“2017-03-27T08:14:09.508Z”, “节拍”:{ “主机名”:“stage-kube03”, “名称”:“stage-kube03”, “版本”:“5.2.1” }, “输入类型”:“日志”, “信息”:{ “信息”:{ “activityType”:空 }, “偏移量”:3783008, “源”:“/var/log/audit.log”, “类型”:“日志” } 如何控制/减少filebeat添加到kafka消息中的额外元数据以及日志行负载?下面是我的filebeat.yml文件

文件节拍配置示例#########################
#此文件是一个示例配置文件,仅突出显示最常见的
#同一目录中的filebeat.reference.yml文件包含所有
#支持带有更多注释的选项。您可以将其用作参考。
#
#您可以在此处找到完整的配置参考:
# https://www.elastic.co/guide/en/beats/filebeat/index.html
#有关更多可用模块和选项,请参阅filebeat.reference.yml示例
#配置文件。
#==============================================文件节拍输入=============================
filebeat.inputs:
#每个-都是一个输入。大多数选项可以在输入级别设置,因此
#您可以对各种配置使用不同的输入。
#以下是特定于输入的配置。
-类型:原木
#更改为true以启用此输入配置。
已启用:true
#应爬网和获取的路径。基于全局的路径。
路径:
-/var/log/haproxy.log
#排除_文件:[“.gz$”]
#字段:
#编解码器:普通
#令牌:用户令牌
#类型:haproxy_log
#根目录下的字段:true
#-c:\programdata\elasticsearch\logs\*
处理器:
-丢弃事件:
#字段:[“浏览”、“事件”、“数据集”]
#排除行。要匹配的正则表达式列表。它会删除
#匹配列表中的任何正则表达式。
#排除_行:[“^DBG”]
排除行:[“^source”]
#包含行。要匹配的正则表达式的列表。它导出要匹配的行
#匹配列表中的任何正则表达式。
#包括以下行:[“^ERR”、“^WARN”]
#排除文件。要匹配的正则表达式列表。Filebeat将删除
#正在匹配列表中的任何正则表达式。默认情况下,不会删除任何文件。
#排除_文件:['.gz$']
#可选的附加字段。这些字段可以自由选择
#将附加信息添加到爬网日志文件以进行筛选
#字段:
#级别:调试
#审查:1
###多行选项
#多行可以用于跨多行的日志消息。这是常见的
#用于Java堆栈跟踪或C行继续
#必须匹配的regexp模式。示例模式匹配以开头的所有行[
#多行模式:^\[
#定义pattern下的模式集是否应被否定。默认值为false。
#多行。否定:false
#Match可以设置为“after”或“before”。它用于定义是否应将行附加到模式
#在否定之前或之后(不)匹配的,或者只要基于否定的模式不匹配。
#注:在Logstash中,After等同于previous,before等同于next
#multiline.match:之后
#====================================================文件节拍模块===============================
filebeat.config.modules:
#配置加载的Glob模式
路径:${path.config}/modules.d/*.yml
#设置为true以启用配置重新加载
重新加载。已启用:false
#检查路径下文件的更改的时间段
#重新加载。周期:10秒
#===============================弹性搜索模板设置==========================
setup.template.settings:
index.number_的_碎片数:3
#index.codec:最佳压缩
#_source.enabled:false
#===================================================概述=====================================
#发布网络数据的发货人的名称。它可用于分组
#web界面中单个发货人发送的所有事务。
#姓名:
#托运人的标签包含在各自的字段中
#已发布交易记录。
#标签:[“服务-X”,“web层”]
#可选字段,您可以指定这些字段将附加信息添加到
#输出。
#字段:
#环境:登台
#=================================================仪表盘=====================================
#这些设置控制将示例仪表板加载到Kibana索引。加载
#默认情况下,仪表板处于禁用状态,可以通过设置
#选项,或者使用“-setup”CLI标志或“setup”命令。
#setup.dashboards.enabled:false
#从何处下载仪表板存档的URL。默认情况下,此URL
#具有基于节拍名称和版本计算的值。对于已发布
#版本,此URL指向artifacts.elastic.co上的仪表板存档
#网站。
#setup.dashboards.url:
#====================================================Kibana=====================================
#从Beats版本6.0.0开始,仪表板通过Kibana API加载。
#这需要Kibana端点配置。
setup.kibana:
#Kibana主机
#方案和端口可以省略,并将设置为默认值(http和5601)
#如果指定了其他路径,则需要该方案:http://localhost:5601/path
#IPv6地址应始终定义为:https://[2001:db8::1]:5601
#主机:“本地主机:5601”
#Kibana空间ID
#仪表板应加载到的Kibana空间的ID。默认情况下,
#将使用默认空间。
#space.id:
#=================================================弹性云==================================
#这些设置简化了将filebeat与弹性云结合使用的过程(https://cloud.elastic.co/).
#cloud.id
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
output.console:
  pretty: true
processors:
  - drop_fields:
      fields: ["agent", "log", "input", "host", "ecs" ]
  #- add_host_metadata: ~
  #- add_cloud_metadata: ~
{
  "@timestamp": "2020-11-27T15:55:17.098Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "_doc",
    "version": "7.10.0"
  },
  "message": "2020-11-27 00:29:58 status installed libc-bin:amd64 2.28-10"
}
filebeat.prospectors:
- input_type: log
  paths:
    - /var/log/*.log
output.console:
  pretty: true
processors:
  - drop_fields:
     fields: ["log_type", "input_type", "offset", "beat", "source"]
{
  "@timestamp": "2020-11-30T09:51:40.404Z",
  "message": "2020-11-27 00:29:58 status half-configured vim:amd64 2:8.1.0875-5",
  "type": "log"
}
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
output.console:
  pretty: true
processors:
  - drop_fields:
      fields: ["beat", "source", "prospector", "offset", "host", "log", "input", "event", "fileset" ]
  #- add_host_metadata: ~
  #- add_cloud_metadata: ~
{
  "@timestamp": "2020-11-30T10:08:26.176Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "doc",
    "version": "6.8.0"
  },
  "message": "2020-11-27 00:29:58 status unpacked vim:amd64 2:8.1.0875-5"
}