实验性
otelcol:导出器:Awss3
实验性:这是一个实验性组件。实验性组件可能会频繁进行破坏性更改,并且可能会被删除而没有等效的替代品。要使用该组件,必须将
stability.level
标志设置为experimental
。
otelcol.exporter.awss3
接受其他 otelcol
组件的遥测数据并将它们写入 AWS S3 存储桶。
注意
otelcol.exporter.awss3
是 OpenTelemetry Collector Contribawss3
导出器的包装器。如果需要,错误报告或功能请求将被重定向到上游存储库。
您可以通过提供不同的标签来指定多个 otelcol.exporter.awss3
组件。
使用方法
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_uploader | s3_uploader | 配置向其发送遥测数据的 AWS S3 存储桶详细信息。 | 是 |
marshaler | marshaler | 用于生成输出数据的编解码器。 | 否 |
debug_metrics | debug_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 | 字符串 | 覆盖导出器使用的端点,而不是从 region 和 s3_bucket 构建它。 | 否 | |
s3_force_path_style | 布尔值 | 将此设置为 true 以强制请求使用 路径样式请求 | false | 否 |
disable_ssl | 布尔值 | 将此设置为 true 以在发送请求时禁用 SSL。 | false | |
compression | 字符串 | 文件应该如何压缩? none ,gzip | none | 否 |
marshaler 块
Marshaler 决定发送到 AWS S3 的数据格式。目前实现了以下 marshaler
otlp_json
(默认):代表 JSON 的 OpenTelemetry 协议格式。otlp_proto
:代表 Protocol Buffers 的 OpenTelemetry 协议格式。每个对象中写入单个 protobuf 消息。sumo_ic
:代表 Sumo Logic 安装收集器存档格式。 此格式仅支持日志。body
:将日志体作为字符串导出。 此格式仅支持日志。
以下参数被支持:
名称 | 类型 | 描述 | 默认 | 必需的 |
---|---|---|---|---|
类型 | 字符串 | 用于生成输出数据的编解码器。 | "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_ic
marshaler。
导出字段
以下字段被导出,并且可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
输入 | 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存储桶
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
的导出内容可以被以下组件消费
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关详细信息,请参阅链接的文档。