如何配置Logstash丢弃含heartbeat字段的HTTP Webhook事件?
Logstash 丢弃心跳事件配置方案
你提供的配置存在语法错误,以下是两种符合需求的正确配置方式:
方式一:只要heartbeat字段存在就丢弃(忽略字段值)
如果不管heartbeat字段的值是什么,只要事件包含这个字段就丢弃,用以下配置:
filter { if exists([heartbeat]) { drop {} } }
exists([heartbeat])是严格判断字段是否存在的条件,哪怕字段值是null、false这类假值,只要事件里有这个字段就会被丢弃。
方式二:仅当heartbeat字段为真值时丢弃
如果需要只丢弃heartbeat字段值为真(比如true、非空字符串、非零数字)的事件,用以下配置:
filter { if [heartbeat] { drop {} } }
这种写法会判断字段存在且值为「真」才执行丢弃动作,若字段存在但值为假则不会丢弃。
注意事项
- 字段路径要准确:如果
heartbeat是嵌套字段(比如在metadata下),要写成[metadata][heartbeat]的形式 - 修改配置后需要重启Logstash才能生效
内容的提问来源于stack exchange,提问作者Meme-ento
相关产品推荐
相关产品推荐

