otelcol.receiver.awscloudwatch
实验性:这是一个实验性组件。实验性组件经常会发生破坏性更改,并且可能会被移除而没有等效的替代品。必须将
stability.level
标志设置为experimental
才能使用此组件。
otelcol.receiver.awscloudwatch
从 AWS CloudWatch 接收日志并将其转发到其他 otelcol.*
组件。
注意
otelcol.receiver.awscloudwatch
是上游 OpenTelemetry Collectorawscloudwatch
接收器的一个包装器。必要时,错误报告或功能请求将被重定向到上游仓库。
您可以通过为其指定不同的标签来指定多个 otelcol.receiver.awscloudwatch
组件。
用法
otelcol.receiver.awscloudwatch "<LABEL>" {
region = "us-west-2"
output {
logs = [...]
}
}
参数
您可以将以下参数与 otelcol.receiver.awscloudwatch
一起使用
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
region | string | 要从中收集日志的 AWS 区域。 | 是 | |
imds_endpoint | string | 要使用的自定义 EC2 IMDS 端点。 | 否 | |
profile | string | 要使用的 AWS 凭据配置文件。 | 否 |
如果未指定 imds_endpoint
,并且环境变量 AWS_EC2_METADATA_SERVICE_ENDPOINT
有值,则将使用该值作为 IMDS 端点。
块
您可以将以下块与 otelcol.receiver.awscloudwatch
一起使用
块 | 描述 | 必需 |
---|---|---|
output | 配置接收到的遥测数据发送到何处。 | 是 |
debug_metrics | 配置此组件生成的用于监控其状态的指标。 | 否 |
logs | 配置日志收集设置。 | 否 |
logs
logs
块配置如何从 CloudWatch 收集日志。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
max_events_per_request | int | 每次请求 CloudWatch 时处理的最大事件数。 | 1000 | 否 |
poll_interval | duration | 轮询新日志条目的频率。 | "1m" | 否 |
logs
块支持以下块
块 | 描述 | 必需 |
---|---|---|
groups | 配置要从中收集的日志组。 | 否 |
logs > groups
groups
块支持以下块
块 | 描述 | 必需 |
---|---|---|
autodiscover | 配置日志组的自动发现。 | 否 |
named | 配置要从中收集的特定日志组。 | 否 |
autodiscover
或 named
块是互斥的。
logs > groups > autodiscover
autodiscover
块配置日志组的自动发现。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
limit | int | 要发现的最大日志组数。 | 50 | 否 |
prefix | string | 用于过滤日志组的前缀。 | 否 |
autodiscover
块支持以下块
块 | 描述 | 必需 |
---|---|---|
streams | 配置日志流过滤。 | 否 |
logs > groups > autodiscover > streams
streams
块配置自动发现的日志组的日志流过滤。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
names | []string | 要收集的精确流名称列表。 | 否 | |
prefixes | []string | 用于过滤流的前缀列表。 | 否 |
logs > groups > named
named
块显式配置要从中收集的特定日志组。可以指定多个 named
块。
支持以下参数
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
group_name | string | CloudWatch 日志组的名称。 | 是 |
names | []string | 要收集的精确流名称列表。 | 否 |
prefixes | []string | 用于过滤流的前缀列表。 | 否 |
debug_metrics
debug_metrics
块配置此组件生成的用于监控其状态的指标。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | boolean | 是否禁用某些高基数指标。 | true | 否 |
disable_high_cardinality_metrics
是 Grafana Alloy 中等同于 OpenTelemetry Collector 的 telemetry.disableHighCardinalityMetrics
特性门的参数。它会移除可能导致高基数指标的属性。例如,在关于 HTTP 和 gRPC 连接的指标中,带有 IP 地址和端口号的属性会被移除。
注意
如果配置了
disable_high_cardinality_metrics
,它仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
output
必需
output
块配置一组组件,用于转发生成的遥测数据。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
logs | list(otelcol.Consumer) | 发送日志的消费者列表。 | [] | 否 |
metrics | list(otelcol.Consumer) | 发送指标的消费者列表。 | [] | 否 |
traces | list(otelcol.Consumer) | 发送追踪的消费者列表。 | [] | 否 |
您必须指定 output
块,但其所有参数都是可选的。默认情况下,遥测数据会被丢弃。相应地配置 metrics
、logs
和 traces
参数,将遥测数据发送到其他组件。
导出的字段
otelcol.receiver.awscloudwatch
不导出任何字段。
组件健康状态
otelcol.receiver.awscloudwatch
仅在配置无效时报告为不健康。
调试信息
otelcol.receiver.awscloudwatch
不公开任何组件特定的调试信息。
示例
以下示例从特定的 EKS 集群日志组收集日志,并通过批处理处理器进行转发
otelcol.receiver.awscloudwatch "default" {
region = "us-west-2"
logs {
poll_interval = "3m"
max_events_per_request = 5000
groups {
named {
group_name = "/aws/eks/dev-cluster/cluster"
names = ["api-gateway"]
}
named {
group_name = "/aws/eks/prod-cluster/cluster"
prefixes = ["app-", "service-"]
}
}
}
output {
logs = [otelcol.processor.batch.default.input]
}
}
otelcol.processor.batch "default" {
output {
logs = [otelcol.exporter.otlp.default.input]
}
}
otelcol.exporter.otlp "default" {
client {
endpoint = env("<OTLP_ENDPOINT>")
}
}
兼容组件
otelcol.receiver.awscloudwatch
可以接受来自以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。请参阅链接文档以获取更多详细信息。