首页 > 解决方案 > 如何在 Filebeat 上使用 drop_event

问题描述

我有一些使用 kubernetes 从自动发现中收集的日志。如果日志包含一些单词,我想删除日志。我想删除这种日志:

130.211.2.205 - - [26/Oct/2021:17:10:50 +0000] "GET /stickearn-auth/check HTTP/1.1" 302 5722 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) 版本/15.0 Safari/605.1.15"

这是我的文件beat.yml:

    filebeat.autodiscover:
      providers:
       - type: kubernetes
         node: ${NODE_NAME}
         hints.enabled: true
         templates:
            - condition:
                equals:
                  kubernetes.namespace: default
              config:
                - type: container
                  paths:
                    - /var/log/containers/*${data.kubernetes.container.id}.log

    processors:
      - drop_event:
          when.regexp:
            message: 'GET'

    output.logstash:
      hosts: ['logstash:5044']

我尝试使用正则表达式、not.contains 以及值为 'GET' 的 exclude_lines(在处理器上),但仍然无法正常工作,并且仍然传递给 logstash。如何在filebeat上使用处理器删除这种日志?非常感谢

标签: elasticsearchfilebeat

解决方案


推荐阅读