洛基资源.journal
loki.source.journal
从systemd journal读取并将它们转发到其他 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 | 布尔值 | 是否将原始日志条目作为JSON转发。 | false | 否 |
max_age | 持续时间 | 从进程启动时间算起最老的相对时间将会被读取。 | "7h" | 否 |
path | 字符串 | 从目录中读取条目的路径。 | "" | 否 |
matches | 字符串 | 日志匹配以进行过滤。不支持 + 字符,只有逻辑AND匹配会被添加。 | "" | 否 |
forward_to | 列表(LogsReceiver) | 要发送日志条目的接收者列表。 | 是 | |
relabel_rules | RelabelRules | 应用于日志条目的重命名规则。 | {} | 否 |
labels | 映射(字符串) | 应用于从日志中输出的每个日志的标签。 | {} | 否 |
注意
添加一个job
标签,包含组件的全名loki.source.journal.LABEL
。
当 format_as_json
参数为真时,日志消息作为包含日志条目所有原始字段的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
的组件
注意
连接一些组件可能不合理或组件可能需要进一步配置以确保连接正确工作。请参阅相关文档以获取更多详细信息。