regex - 如何使用 Grok Patterns 跳过消息的开头?
问题描述
我正在尝试使用 Graylog 中的 Grok Patterns 仅提取 Linux 日志的最后一部分,但这比我说的要难。
这是我收到的消息:
3 月 18 日 11:10:01 graylog CRON[14637]: pam_unix(cron:session): session closed for user root
我只想保留日期、时间和“为用户 root 关闭会话”部分。
这是我尝试过的,没有结果:
%{GREEDYDATA} pam_unix(cron:session):
%{GREEDYDATA} session closed for user root
%{MONTH} %{BASE10NUM} %{TIME} %{GREEDYDATA}graylog CRON[18698]: pam_unix(cron:session):
也许我仍在使用“greedydata”错误(?),任何帮助将不胜感激!
解决方案
您可以使用
%{MONTH:month} %{BASE10NUM:day} %{TIME:time} %{DATA}: pam_unix\(cron:session\):\s*%{GREEDYDATA:message}
详情:
%{MONTH:month}
- 月份名称%{BASE10NUM:day}
- 一位或多位数字%{TIME:time}
- 时间模式%{DATA}
-.*?
惰性点正则表达式模式,匹配除换行符之外的任何零个或多个字符,尽可能少(请注意,您可以将其更改为%{DATA:cron}
以进入graylog CRON[14637]
输出): pam_unix\(cron:session\):
- 文字: pam_unix(cron:session):
文本\s*
- 零个或多个空格%{GREEDYDATA:message}
-.*
正则表达式模式匹配该行的其余部分。
推荐阅读
- javascript - 将 OoXml 插入单词抛出错误:未知
- python - 如何在一行中打印列表元素?
- docker - php:5-apache mcrypt.h 未找到
- angular - Angular 5.2 自定义 HttpClient 类 - 无法将 responseType 更改为 blob
- javascript - 如何在nodejs中执行猫鼬查询
- php - 在 Woocommerce 中添加自定义订单状态“已发货”
- google-chrome - Docker 和沙箱中的 Chrome/Chromium
- visual-studio - Visual Studio SSRS - DataElementOutput 隐藏在 csv 中
- java - 如何在从 log4j 输出的 Log 中显示标题?
- android - 无法在博览会中打开开发模式