regex - 删除包含哈希字符的日志行

标签 regex logging logstash logstash-grok

在我的Logstash托运人中,我想过滤掉用哈希字符注释的行:

#This log row should be dropped.
But one this should not.

我可以使用grep过滤器,但是由于不建议使用(即将停用),因此我尝试使用grok过滤器来代替它。此过滤器不起作用:
grok {
  match => ["message", "^#.*"]
  drop_if_match => true
}

我也尝试将正则表达式放在自定义模式文件中,但没有帮助。有任何想法吗?

最佳答案

如果您感兴趣的话,甚至更简单:

filter {
    if ([message] =~ /^#/) {
        drop{}
    }
}

Logstash的最后几个版本一直更加注重分支逻辑directly in the config files。需要一点时间来习惯,但是一旦您习惯了,就会非常方便。

关于regex - 删除包含哈希字符的日志行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20215575/

相关文章:

java - 正确使用反向引用和捕获组的 Java 正则表达式是什么

javascript - 我怎样才能加快我的正则表达式?

mysql - 是否可以从 MySQL 的事务回滚中排除某些查询/过程?

php - 如何使用 PHP 中的 log() 获取曲线上的点?

java - logstash-logback-encoder 在多行中显示堆栈跟踪

jquery - 增量正则表达式过滤器

java - 正则表达式:/w 是否表示 [a-zA-Z] 或 [a-zA-Z0-9_] 正如大多数教程提到的\w - 匹配单词字符?

mysql - Laravel - 哪个用户创建日志文件

elasticsearch - 将RabbitMQ连接到Logstash的RCP

elasticsearch - ELK - 删除可在 Kibana 中查看的旧日志