0

我正在使用 grafana loki 来编写仪表板。我需要按级别对日志进行分组以创建图表,但在日志的详细信息中我看不到级别标签: 没有标签的水平

我的日志是这样的:

2021-05-31 14:23:00.005  INFO 1 --- [   scheduling-1] AssociationService       : Scheduler Association finish at 31-05-2021 02:23:00

有一种方法可以推断级别并将其与标签“级别”相关联吗?

4

1 回答 1

0

您可能想要使用正则表达式阶段:

- job_name: my-job
  pipeline_stages:
  - regex: 
      # extracts only log_level from the log line
      expression: '\s+(?P<log_level>\D+)\s.*'
  - labels:
      # sources extracted log_level as label 'level' value
      level: log_level

上面的表达式只匹配log_level,但您可以添加更多命名的捕获组并以相同的方式使用它们,

^(?P<time>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{3})\s+(?P<log_level>\S+)\s(?P<rest>.*)$

或更不严格:

(?P<time>\S+\s\S+)\s+(?P<log_level>\D+)\s(?P<rest>.*)

match timelog_level以及rest该行的提取它们以备后用。

检查regex101 操场

于 2022-01-25T09:55:13.467 回答