otelcol.exporter.loki
otelcol.exporter.loki
接收来自其他 otelcol
组件的 OTLP 格式日志,将它们转换为 Loki 格式日志条目,并将其转发到 loki
组件。
注意
otelcol.exporter.loki
是一个与 OpenTelemetry Collector 中的lokiexporter
无关的自定义组件。
默认情况下,OTLP 日志的属性不会转换为 Loki 属性。要将它们转换,OTLP 日志应包含特殊的“提示”属性
- 要转换 OTLP 资源属性到 Loki 标签,请使用
loki.resource.labels
提示属性。 - 要转换 OTLP 日志属性到 Loki 标签,请使用
loki.attribute.labels
提示属性。
标签将被转换为 [Prometheus 格式][],这比 OTLP 格式更受限。有关标签转换的示例,请参阅将 OTLP 属性转换为 Loki 标签部分。
可以通过指定不同的标签来指定多个 otelcol.exporter.loki
组件。
用法
otelcol.exporter.loki "LABEL" {
forward_to = [...]
}
参数
otelcol.exporter.loki
支持以下参数
名称 | 类型 | 描述 | 默认 | 必选 |
---|---|---|---|---|
forward_to | 列表(接收者) | 将转换后的 Loki 日志转发到何处。 | 是 |
导出字段
以下字段被导出,并且可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
输入 | otelcol.Consumer | 其他组件可以使用该值发送遥测数据。 |
输入
接受日志的 otelcol.Consumer
数据。其他遥测信号将被忽略。
发送到 输入
的日志将被转换为兼容 Loki 的日志条目,并按顺序转发到 forward_to
参数。
组件健康状态
如果给定无效配置,则 otelcol.exporter.loki
只会报告不健康状态。
调试信息
otelcol.exporter.loki
不公开任何特定于组件的调试信息。
示例
基本用法
以下示例接收通过 gRPC 传入的 OTLP 日志,进行转换并将转换后的日志条目转发到 loki.write
otelcol.receiver.otlp "default" {
grpc {}
output {
logs = [otelcol.exporter.loki.default.input]
}
}
otelcol.exporter.loki "default" {
forward_to = [loki.write.local.receiver]
}
loki.write "local" {
endpoint {
url = "loki:3100"
}
}
将 OTLP 属性转换为 Loki 标签
以下示例将以下属性转换为 Loki 标签
- OTLP 资源属性
service.name
和service.namespace
。 - OTLP 日志属性
event.domain
和event.name
。
标签将被转换为 Prometheus 格式。[ Prometheus 格式 ] 例如
OpenTelemetry 属性 | Prometheus 标签 |
---|---|
name | name |
host.name | host_name |
host_name | host_name |
name (of the host) | name__of_the_host_ |
2 cents | key_2_cents |
__name | __name |
_name | key_name |
_name | _name (如果启用了 PermissiveLabelSanitization ) |
otelcol.receiver.otlp "default" {
grpc {}
output {
logs = [otelcol.processor.attributes.default.input]
}
}
otelcol.processor.attributes "default" {
action {
key = "loki.attribute.labels"
action = "insert"
value = "event.domain, event.name"
}
action {
key = "loki.resource.labels"
action = "insert"
value = "service.name, service.namespace"
}
output {
logs = [otelcol.exporter.loki.default.input]
}
}
otelcol.exporter.loki "default" {
forward_to = [loki.write.local.receiver]
}
loki.write "local" {
endpoint {
url = "loki:3100"
}
}
兼容组件
otelcol.exporter.loki
可以接受以下组件的参数
otelcol.exporter.loki
的导出可以被以下组件使用
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅相关文档。