菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow otelcolbreadcrumb arrow otelcol.exporter.loki
开源

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 组件。

用法

alloy
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

alloy
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.nameservice.namespace
  • OTLP 日志属性 event.domainevent.name

标签将被转换为 Prometheus 格式。[ Prometheus 格式 ] 例如

OpenTelemetry 属性Prometheus 标签
namename
host.namehost_name
host_namehost_name
name (of the host)name__of_the_host_
2 centskey_2_cents
__name__name
_namekey_name
_name_name(如果启用了 PermissiveLabelSanitization
alloy
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"
  }
}

Prometheus 格式

兼容组件

otelcol.exporter.loki 可以接受以下组件的参数

otelcol.exporter.loki 的导出可以被以下组件使用

注意

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