我正在使用 grafana loki 来编写仪表板。我需要按级别对日志进行分组以创建图表,但在日志的详细信息中我看不到级别标签:
我的日志是这样的:
2021-05-31 14:23:00.005 INFO 1 --- [ scheduling-1] AssociationService : Scheduler Association finish at 31-05-2021 02:23:00
有一种方法可以推断级别并将其与标签“级别”相关联吗?
您可能想要使用正则表达式阶段:
- 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 time
,log_level
以及rest
该行的提取它们以备后用。