regex - 如何使用 logstash 和 grok 提取时间戳?
问题描述
我正在尝试使用 TIME 从 grok in logstash 中提取时间戳,但提取不成功。
我正在使用 grok 模式,但它不匹配或返回任何内容。
2019-07-30 14:12:23 -主要- 信息 - 地铁爬虫完成运行时间:00:00:02
%{TIMESTAMP_ISO8601:timestamp}%{GREEDYDATA}-%{SPACE}%{GREEDYDATA:crawler}%{SPACE}-%{SPACE}%{LOGLEVEL:level}%{TIME:time}
我没有匹配
解决方案
您可以使用
%{TIMESTAMP_ISO8601:timestamp}%{SPACE}-%{SPACE}%{DATA:crawler}%{SPACE}-%{SPACE}%{LOGLEVEL:level}%{DATA}%{TIME:time}
查看调试输出:
{
"timestamp": [
[
"2019-07-30 14:12:23"
]
],
"crawler": [
[
"__main__"
]
],
"level": [
[
"INFO"
]
],
"time": [
[
"00:00:02"
]
]
}
推荐阅读
- python - 行作为字典进入数据框python的列
- ios - 如何在 Swift 中正确使用 NSRegular Expression 和过滤字符串数组
- python - 由于存在命名空间,使用 python 解析 xml 时出错
- ios - WKWebview 阻止 updateUIView
- r - R-在特定刺痛/模式之后将行添加到数据框
- python - Django中的表单预览
- typescript - 无法复制 Angular:英雄之旅搜索行为,观察者问题
- amazon-s3 - 如何获取 aws 帐户的 userId?
- vb.net - 高级形式 - VB.Net
- javascript - 如何将 json 对象打印到 Mat 表?