登录
首页 >  Golang >  Go问答

处理时间戳 - 解决日志时间戳与Grafana时间序列不匹配问题

来源:stackoverflow

时间:2024-02-26 23:09:26 353浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《处理时间戳 - 解决日志时间戳与Grafana时间序列不匹配问题》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我一直在努力获取正确的格式来处理 promtail 配置中的时间戳。

我的日志格式:

2022-08-02 16:46:02.141 内容

我的 promtail 配置:

pipeline_stages:
  - multiline:
      firstline: '^\d{4}-\d{2}-\d{2}'
      max_wait_time: 10s
  - regex:
      expression: '(?P

使用此配置,我仍然在 grafana 中得到“ts”字段,其值不正确(该值与日志中的值不匹配)。 我不知道格式是否正确,我尝试了很多组合,但没有达到预期的效果。在 go 演示中,该值被解析为“2022-08-02 16:46:02.141 +0000 utc”,没有错误 - 可以吗?如何使grafana中的“ts”值与log中的值相同?

我昨天尝试了调试模式,在 promtail 日志中出现如下错误:

level=error ts=2022-08-03t12:37:14.977444831z caller=client.go:380 component=client host=localhost:3100 msg="发送批次的最终错误" status=400 error="服务器返回 http状态 400 错误请求 (400):流 '{filename=\"/opt/loki/my.log\" 的条目,job=\"varlogs\",stream=\"stdout\",时间=\"2022- 08-03 14:38:49,150\"}' 的时间戳太新:2022-08-03t14:38:49z"

我认为loki可以处理这个问题(unordered_writes默认为true),这是我的格式问题还是lokiconf的问题?

任何帮助将不胜感激。


正确答案


我明白了,这个https://github.com/grafana/loki/issues/2639对我帮助很大。这一切都与时间戳阶段的位置有关。

- timestamp:
     source: time
     format: 2006-01-02 15:04:05,999
     location: "Europe/Berlin"

好了,本文到此结束,带大家了解了《处理时间戳 - 解决日志时间戳与Grafana时间序列不匹配问题》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>