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

实验性

otelcol:导出器:Awss3

实验性:这是一个实验性组件。实验性组件可能会频繁进行破坏性更改,并且可能会被删除而没有等效的替代品。要使用该组件,必须将 stability.level 标志设置为 experimental

otelcol.exporter.awss3 接受其他 otelcol 组件的遥测数据并将它们写入 AWS S3 存储桶。

注意

otelcol.exporter.awss3 是 OpenTelemetry Collector Contrib awss3 导出器的包装器。如果需要,错误报告或功能请求将被重定向到上游存储库。

您可以通过提供不同的标签来指定多个 otelcol.exporter.awss3 组件。

使用方法

alloy
otelcol.exporter.awss3 "<LABEL>" {
  s3_uploader {
    region = "<REGION>"
    s3_bucket = "<BUCKET_NAME>"
    s3_prefix = "<PREFIX>"
  }
}

替换以下内容

  • <LABEL>:为 otelcol.exporter.awss3 组件设置的标签。
  • <REGION>:AWS 区域。
  • <BUCKET_NAME>:S3 存储桶。
  • <PREFIX>:S3 键的前缀。

参数

otelcol.exporter.awss3 支持以下参数

名称类型描述默认必需的
encoding字符串用于组织数据的编码扩展名。如果设置,将覆盖 marshaler 配置选项。""
encoding_file_ext字符串当使用 encoding 配置选项时,文件格式扩展名后缀。如果不需要附加后缀,则可以留空。""

otelcol.exporter.awss3 定义中支持以下块

层次结构描述必需的
s3_uploaders3_uploader配置向其发送遥测数据的 AWS S3 存储桶详细信息。
marshalermarshaler用于生成输出数据的编解码器。
debug_metricsdebug_metrics配置此组件生成以监控其状态的指标。

s3_uploader 块

s3_uploader 块配置组件使用的 AWS S3 存储桶详细信息。

以下参数被支持:

名称类型描述默认必需的
region字符串AWS 区域。"us-east-1"
s3_bucket字符串S3 存储桶。
s3_prefix字符串S3 键的前缀(存储桶内的根目录)。
s3_partition字符串S3 键的时间粒度:小时或分钟。"minute"
role_arn字符串将被假定的角色 ARN。
file_prefix字符串用户定义的文件前缀。
endpoint字符串覆盖导出器使用的端点,而不是从 regions3_bucket 构建它。
s3_force_path_style布尔值将此设置为 true 以强制请求使用 路径样式请求false
disable_ssl布尔值将此设置为 true 以在发送请求时禁用 SSL。false
compression字符串文件应该如何压缩? nonegzipnone

marshaler 块

Marshaler 决定发送到 AWS S3 的数据格式。目前实现了以下 marshaler

以下参数被支持:

名称类型描述默认必需的
类型字符串用于生成输出数据的编解码器。"otlp_json"

debug_metrics 块

debug_metrics 块配置组件生成的度量为监控其状态。

以下参数被支持:

名称类型描述默认必需的
disable_high_cardinality_metrics布尔值是否禁用某些高基数指标。true
级别字符串控制包装收集器生成的指标的详细程度。"detailed"

disable_high_cardinality_metrics 是 Grafana Alloy 对 OpenTelemetry Collector 中的 telemetry.disableHighCardinalityMetrics 功能网的等价。

注意

如果配置了 disable_high_cardinality_metrics,则仅适用于 otelcol.exporter.*otelcol.receiver.* 组件。

level 是 OpenTelemetry Collector 中的 telemetry.metrics.level 功能网的 Alloy 等价。可能的值是 "none""basic""normal""detailed"

编码

编码覆盖了 marshaler(如果它存在),并将其设置为使用收集器配置中定义的编码扩展。

有关更多信息,请参阅 Open Telemetry [编码扩展][] 文档。

压缩

  • none(默认):不使用文件压缩。
  • gzip:使用 Gzip 压缩文件。 不支持 sumo_icmarshaler。

导出字段

以下字段被导出,并且可以被其他组件引用

名称类型描述
输入otelcol.Consumer其他组件可以使用该值将遥测数据发送到。

input 接受任何遥测信号(指标、日志或跟踪)的 otelcol.Consumer 数据。

组件健康

otelcol.exporter.awss3 仅在给定了无效配置时报告为不健康。

调试信息

otelcol.exporter.awss3 不公开任何特定于组件的调试信息。

调试指标

  • exporter_sent_spans_ratio_total(计数器):成功发送到目标的总跨度数量。
  • exporter_send_failed_spans_ratio_total(计数器):尝试发送到目标失败的总跨度数量。
  • exporter_queue_capacity_ratio(量表):重试队列的固定容量(按批次)。
  • exporter_queue_size_ratio(量表):当前重试队列的大小(按批次)。
  • rpc_client_duration_milliseconds(直方图):测量入站RPC的持续时间。
  • rpc_client_request_size_bytes(直方图):测量RPC请求数据的大小(未压缩)。
  • rpc_client_requests_per_rpc(直方图):测量每个RPC接收的消息数量。对于所有非流式RPC,应为1。
  • rpc_client_response_size_bytes(直方图):测量RPC响应消息的大小(未压缩)。
  • rpc_client_responses_per_rpc(直方图):测量每个RPC接收的消息数量。对于所有非流式RPC,应为1。

示例

此示例将抓取日志转发到AWS S3存储桶

alloy
local.file_match "logs" {
  path_targets = [{
    __address__ = "localhost",
    __path__    = "/var/log/{syslog,messages,*.log}",
    instance    = constants.hostname,
    job         = "integrations/node_exporter",
  }]
}

loki.source.file "logs" {
  targets    = local.file_match.logs.targets
  forward_to = [otelcol.receiver.loki.default.receiver]
}

otelcol.receiver.loki "default" {
  output {
    logs = [otelcol.exporter.awss3.logs.input]
  }
}

otelcol.exporter.awss3 "logs" {
  s3_uploader {
    region = "us-east-1"
    s3_bucket = "logs_bucket"
    s3_prefix = "logs"
  }
}

兼容组件

otelcol.exporter.awss3的导出内容可以被以下组件消费

注意

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