2

目前,我正在寻找以 json 格式处理日志。

我设法将给定的时间戳转换为 RFC3339 格式。但是,通过 Promtail 对其进行解析时,它似乎已被解析,但并未用作显示的时间戳。相反,它使用 Promtail 将所述日志推送到 Loki 的时间戳。

下面是我的 Promtail 配置的片段:

scrape_configs:
- job_name: Test
  static_configs:
  - targets:
      - localhost
    labels:
      job: Testing2
      __path__: /path/to/*.json

  pipeline_stages:
  - json:
      expressions:
        timestamp: timestamp
  - timestamp:
      source: timestamp
      format: 2006-01-02T15:04:05Z07:00

我也尝试将时间戳格式切换RFC3339为无结果。

下面是我生成的示例日志

{"id":5072,"type":0,"timestamp":"2021-06-28T03:00:05+08:00","user":"System","ip":"127.0.0.1","computer":"localhost","desc":"Dummy message"}

这就是日志在 Grafana 中的显示方式。时间戳字段和 ts 字段(用于在 Grafana 中显示)是不同的。 Grafana 中显示的示例日志

对于调试的任何帮助或指导,我将不胜感激。如果需要任何其他信息,请告诉我!

4

1 回答 1

0

我建议您将字段的名称从更改timestamptime:时间戳的格式也看起来错误,与您生成的日志不同:

“时间戳”:

  • 2006-01-02T15:04:05Z07:00

日志格式:

  • “2021-06-28T03:00:05+08:00”

您应该在配置中输入正确的格式

pipeline_stages:
  - json:
      expressions:
        time: timestamp
  - timestamp:
      source: time
      format: 2006-01-02T15:04:05-07:00

您也可以尝试 03 而不是 15:

  • 2006-01-02T03:04:05-07:00
于 2022-01-21T17:09:12.770 回答