菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow lokibreadcrumb arrow loki.source.journal
开源

loki.source.journal

loki.source.journal 从systemd日志读取并转发到其他 loki.* 组件。

可以通过不同的标签指定多个 loki.source.journal 组件。

注意

请确保 grafana-alloy 用户是以下组的成员

  • adm
  • systemd-journal

用法

alloy
loki.source.journal "LABEL" {
  forward_to    = RECEIVER_LIST
}

参数

组件启动一个新的日志读取器,并将日志条目分发到 forward_to 中传入的接收器列表。

loki.source.journal 支持以下参数

名称类型描述默认必需
format_as_jsonbool是否将原始日记条目作为JSON转发。false
max_age持续时间从进程开始的最老相对时间,将读取。"7h"
路径字符串读取条目的目录路径。""
匹配字符串日记匹配以过滤。不支持+字符,只添加逻辑AND匹配。""
转发到list(LogsReceiver)发送日志条目的接收者列表。
relabel_rulesRelabelRules应用于日志条目的重标记规则。{}
标签map(string)应用于每个从日记输出的日志的标签。{}

注意

添加一个job标签,包含组件全名loki.source.journal.LABEL

format_as_json参数为true时,日志消息以JSON形式传递,包含日记条目的所有原始字段。否则,日志消息取自日记条目中MESSAGE字段的正文。

path参数为空时,将使用/var/log/journal/run/log/journal来发现日记条目。

relabel_rules参数可以利用loki.relabel组件的rules导出值,在将日志条目转发到forward_to中指定的接收者列表之前应用一个或多个重标记规则。

从日记中读取的所有消息都包含遵循__journal_FIELDNAME模式的内部标签,发送到指定在forward_to中的接收者列表之前将被删除。要保留这些标签,请使用relabel_rules参数并将它们重标记为不以__开头。

注意

journald的许多字段名称以_开头,例如_systemd_unit。最终的内部标签名称将是__journal__systemd_unit,在__journalsystemd_unit之间有两个下划线。

组件健康

loki.source.journal只有在给定无效配置的情况下才报告为不健康。

调试指标

  • loki_source_journal_target_parsing_errors_total(计数器):读取日记消息时的解析错误总数。
  • loki_source_journal_target_lines_total(计数器):成功读取的日记行总数。

示例

alloy
loki.relabel "journal" {
  forward_to = []

  rule {
    source_labels = ["__journal__systemd_unit"]
    target_label  = "unit"
  }
}

loki.source.journal "read"  {
  forward_to    = [loki.write.endpoint.receiver]
  relabel_rules = loki.relabel.journal.rules
  labels        = {component = "loki.source.journal"}
}

loki.write "endpoint" {
  endpoint {
    url ="loki:3100/api/v1/push"
  }
}

兼容组件

loki.source.journal可以接受以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅相关文档以获取更多详细信息。