菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow lokibreadcrumb arrow loki.source.journal
通用可用 (GA) 开源

loki.source.journal

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

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

注意

确保 grafana-alloy 用户属于以下组

  • adm
  • systemd-journal

用法

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

参数

该组件启动新的 journal 读取器,并将日志条目扇出到 forward_to 中传递的接收器列表。

您可以使用以下参数配置 loki.source.journal

名称类型描述默认值必需
forward_tolist(LogsReceiver)要发送日志条目的接收器列表。
format_as_jsonbool是否将原始 journal 条目转发为 JSON。
labelsmap(string)要应用于从 journal 读取的每个日志的标签。{}
matchesstring用于过滤的 Journal 匹配项。不支持 + 字符,仅添加逻辑与 (AND) 匹配项。""
max_ageduration从进程启动时起将读取的最早相对时间。"7h"
pathstring读取条目的目录路径。""
relabel_rulesRelabelRules要应用于日志条目的重新标记规则。{}

注意

将添加一个 job 标签,其值为组件的完整名称 loki.source.journal.LABEL

format_as_json 参数为 true 时,日志消息将作为 JSON 传递,包含 journal 条目中的所有原始字段。否则,日志消息将取自 journal 条目中 MESSAGE 字段的内容。

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

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

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

注意

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

loki.source.journal 组件不支持任何块。您可以使用参数配置此组件。

组件健康状况

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

调试指标

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

示例

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 可以接受来自以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。请参阅链接文档了解更多详情。