loki.source.journal
loki.source.journal
从systemd日志读取并转发到其他 loki.*
组件。
可以通过不同的标签指定多个 loki.source.journal
组件。
注意
请确保
grafana-alloy
用户是以下组的成员
- adm
- systemd-journal
用法
loki.source.journal "LABEL" {
forward_to = RECEIVER_LIST
}
参数
组件启动一个新的日志读取器,并将日志条目分发到 forward_to
中传入的接收器列表。
loki.source.journal
支持以下参数
名称 | 类型 | 描述 | 默认 | 必需 |
---|---|---|---|---|
format_as_json | bool | 是否将原始日记条目作为JSON转发。 | false | 否 |
max_age | 持续时间 | 从进程开始的最老相对时间,将读取。 | "7h" | 否 |
路径 | 字符串 | 读取条目的目录路径。 | "" | 否 |
匹配 | 字符串 | 日记匹配以过滤。不支持+ 字符,只添加逻辑AND匹配。 | "" | 否 |
转发到 | list(LogsReceiver) | 发送日志条目的接收者列表。 | 是 | |
relabel_rules | RelabelRules | 应用于日志条目的重标记规则。 | {} | 否 |
标签 | 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
,在__journal
和systemd_unit
之间有两个下划线。
组件健康
loki.source.journal
只有在给定无效配置的情况下才报告为不健康。
调试指标
loki_source_journal_target_parsing_errors_total
(计数器):读取日记消息时的解析错误总数。loki_source_journal_target_lines_total
(计数器):成功读取的日记行总数。
示例
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
可以接受以下组件的参数
- 导出Loki
LogsReceiver
的组件
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅相关文档以获取更多详细信息。