filter - 流利位上的 grep 过滤器上的排除模式似乎不起作用
问题描述
我正在尝试从尾部输入中过滤掉一些记录到流利的位。但这似乎不起作用。从日志文件中,我需要从键值为“log”的所有记录中排除 1)具有 1 个或多个数字后跟空格的记录 2)行中任何位置的值为“Series”的记录 3)值为“transacttime”的记录' 线上的任何地方。
它们可以是相同或不同的记录
[INPUT]
Name tail
Path /mnt/volume_nyc3_03/xenfix*.out
Tag genfix
DB /mnt/volume_nyc3_03/ggantel-gf.db
[FILTER]
Name grep
Match *
Exclude log ^[0-9]*\
Exclude log *Series*
Exclude log *transacttime*
[OUTPUT]
Name pulsar
Match *
Host somerandom-id.us-east-1.elb.amazonaws.com
Port 6650
Topic persistent://public/default/genfixlogs
[OUTPUT]
Name stdout
Match genfix
这不会从输出中排除任何记录,如下所示
{"log":"0 1"}
----- got message -----
{"log":"2019-09-17 21:25:08.636465 Series([], Name: transacttime, dtype: datetime64[ns])"}
----- got message -----
{"log":"2019-09-17 21:25:08.633038 Series([], Name: transacttime, dtype: datetime64[ns])"}
----- got message -----
{"log":"2019-09-17 21:25:08.680237 Series([], Name: transacttime, dtype: datetime64[ns])"}
----- got message -----
{"log":"2019-09-17 21:25:08.890903 Series([], Name: transacttime, dtype: datetime64[ns])"}
解决方案
使用正则表达式时需要用 // 括起来。
下面是一个例子。
[FILTER]
Name grep
Match *
Exclude log /^[0-9]*/
Exclude log /.*Series.*/
Exclude log /.*transacttime.*/
推荐阅读
- dns - Request to Cloudflare DNS from Cloudflare worker not returning the DNS result
- c# - 在我编辑其 itemssource(这是一个 DB)后,我无法更新列表框的内容
- php - Sage Accounting API UnexpectedError
- asp.net-mvc - 自定义 EPiServer 表单:成功消息未显示为 HTML 代码
- reactjs - 有没有办法在 onClick 方法中调用多个函数而无需提供参数?
- bash - 处理中的替换命令。ebextensions
- python-3.x - 使用 Gensim 在 Python 中重新训练预训练的词嵌入
- azure-active-directory - 使用 Azure AD 进行 Azure 应用服务身份验证 - 为什么需要 AD 应用?
- vue.js - 模块解析失败:意外字符 '@' (1:0) vuejs 、 vuetify 和 vuex
- node.js - npm 错误!错误:EACCES:权限被拒绝,打开