看了一下官网,promtail 默认是读取日志时间作为时间戳,但是也可以自己从日志读取时间作为时间戳,有日志如下:
2022-02-17 21:50:17,869 [DubboServerHandler-132.147.1.198:20881-thread-474] INFO com.aaa.cccc.service.channel.OpPaaaaaaaSerivce [20220217214840017738] - 2222222
我的 promtail 配置如下:
- job_name: system
pipeline_stages:
# 这个阶段只有在被抓取地目标有一个标签名为 name 且值为 promtail 地时候才会执行
- match:
selector: '{job="onepay"}'
stages:
# regex 阶段解析出一个 level 、timestamp 与 component ,在该阶段结束时,这几个值只为 pipeline 内部设置,在以后地阶段可以使用这些值并决定如何处理他们。
- regex:
expression: '(?P<timestamp>[\d- :,]*) \[.*'
# 最后,时间戳阶段采用从 regex 提取地 timestamp ,并将其变成日志的新时间戳,并解析为 RFC3339Nano 格式。
- timestamp:
format: RFC3339Nano
# format: Year-Month-Day Hour:Minute:Second
# format: 2006-01-02 15:04:05
source: timestamp
发现查询到的日志时间戳还是读取日志的时间,有兄弟知道我哪里配置错误了吗。 (如发帖有问题辛苦管理员指出,谢谢)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.