You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Filebeat脚本处理器中用event.Get()获取所有字段?

在Filebeat Script处理器中获取所有事件字段

要在Filebeat的Script处理器里通过event.Get()获取整条记录的所有字段,直接**不带任何参数调用event.Get()**即可,不需要传入键值。

具体配置示例

在Filebeat的processors配置块中,添加Script处理器的示例如下:

processors:
  - script:
      lang: painless
      source: >
        // 获取包含所有字段的对象
        def allFields = event.Get();
        // 示例操作:遍历所有字段(调试场景可用)
        for (Map.Entry field : allFields.entrySet()) {
          logger.info('字段名: {}, 对应值: {}', field.getKey(), field.getValue());
        }
        // 示例操作:修改指定字段
        if (allFields.containsKey('message')) {
          event.Set('message', allFields.get('message') + ' [已标记处理]');
        }

补充说明

  • 无参数的event.Get()会返回一个包含当前事件所有顶级字段的Map对象,你可以像操作普通Map一样对它做遍历、取值、判断字段存在性等操作。
  • 针对嵌套字段(比如user.email),会以user作为顶级键,对应的值是包含email的子Map,可通过allFields.get('user').get('email')的方式访问嵌套字段。

内容的提问来源于stack exchange,提问作者Mike R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:15:41