otelcol.processor.probabilistic_sampler
otelcol.processor.probabilistic_sampler
接收来自其他 otelcol 组件的日志和跟踪数据,并根据配置选项应用概率采样。
概率采样处理器支持多种跨度和日志记录的采样模式。
采样在每个请求的基础上进行,无状态地考虑单个项目。有关整个跟踪采样的信息,请参阅 otelcol.processor.tail_sampling
。
对于跟踪跨度,此采样器支持基于配置的采样百分比应用于 TraceID 的概率采样。此外,采样器识别 sampling.priority
注释,该注释可以强制采样器应用 0% 或 100% 的采样。
对于日志记录,此采样器可以配置为使用嵌入式 TraceID 并遵循与应用于跨度相同的逻辑。
当 TraceID 未定义时,可以配置采样器对选定的日志记录属性应用哈希。
此采样器还支持采样优先级。
注意
otelcol.processor.probabilistic_sampler
是上游 OpenTelemetry Collector Contribprobabilistic_sampler
处理器的包装器。如有必要,错误报告或功能请求将被重定向到上游存储库。
您可以通过赋予它们不同的标签来指定多个 otelcol.processor.probabilistic_sampler
组件。
用法
otelcol.processor.probabilistic_sampler "LABEL" {
output {
logs = [...]
traces = [...]
}
}
参数
otelcol.processor.probabilistic_sampler
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必填 |
---|---|---|---|---|
mode | 字符串 | 采样模式。 | "proportional" | 否 |
hash_seed | uint32 | 用于计算哈希算法的整数。 | 0 | 否 |
sampling_percentage | float32 | 采样的跟踪或日志的百分比。 | 0 | 否 |
sampling_precision | int | 用于对采样阈值进行编码的十六进制数字数量。 | 4 | 否 |
fail_closed | 布尔值 | 是否拒绝与采样相关的错误项目。 | true | 否 |
attribute_source | 字符串 | 定义在 from_attribute 中查找属性的位置。 | "traceID" | 否 |
from_attribute | 字符串 | 用于采样目的的日志记录属性的名称。 | "" | 否 |
sampling_priority | 字符串 | 用于设置与 sampling_percentage 设置不同的采样优先级的日志记录属性的名称。 | "" | 否 |
您可以将 mode
设置为 "proportional"
、"equalizing"
或 "hash_seed"
。默认值为 "proportional"
,除非配置了 hash_seed
或将 attribute_source
设置为 record
。有关模式的更多信息,请参阅上游收集器的 模式选择文档 部分。
hash_seed
确定一个整数来计算哈希算法。此参数可用于跟踪和日志。当用于日志时,它计算日志记录的哈希值。为了使哈希工作,所有处于同一层级的收集器(例如,位于同一个负载均衡器后面)必须具有相同的 hash_seed
。还可以利用不同的 hash_seed
在不同的收集器层级来支持额外的采样要求。
sampling_percentage
确定跟踪或日志的采样百分比。如果您将此参数设置为大于或等于 100 的值,则所有跟踪或日志都将被采样。
attribute_source
(仅日志)确定在 from_attribute
中查找属性的位置。允许的值为 traceID
或 record
。
from_attribute
(仅日志)确定用于采样目的的日志记录属性的名称,例如唯一的日志记录 ID。仅当跟踪 ID 不存在或将 attribute_source
设置为 record
时才会使用属性的值。
sampling_priority
(仅日志)确定用于设置与 sampling_percentage
设置不同的采样优先级的日志记录属性的名称。0 表示从不采样日志记录,大于或等于 100 表示始终采样日志记录。
probabilistic_sampler
支持两种类型的跟踪采样
sampling.priority
语义约定,由 OpenTracing 定义。- 跟踪 ID 哈希。
sampling.priority
语义约定优先于跟踪 ID 哈希。跟踪 ID 哈希根据跟踪 ID 确定的哈希值进行采样。
probabilistic_sampler
支持根据其跟踪 ID 或特定日志记录属性对日志进行采样。
sampling_precision
必须是一个介于 1 和 14(包含)之间的值。
块
在 otelcol.processor.probabilistic_sampler
的定义内支持以下块
层次结构 | 块 | 描述 | 必填 |
---|---|---|---|
debug_metrics | debug_metrics | 配置此组件生成的度量,以监控其状态。 | 否 |
debug_metrics 块
debug_metrics
块配置此组件生成的度量,以监控其状态。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必填 |
---|---|---|---|---|
disable_high_cardinality_metrics | 布尔值 | 是否禁用某些高基数度量。 | true | 否 |
level | 字符串 | 控制包装收集器发出的度量的详细程度。 | "detailed" | 否 |
disable_high_cardinality_metrics
是 OpenTelemetry Collector 中 telemetry.disableHighCardinalityMetrics
功能开关的 Grafana Alloy 等效项。它会删除可能导致高基数度量的属性。例如,它会删除有关 HTTP 和 gRPC 连接的度量中的包含 IP 地址和端口号的属性。
注意
如果配置了disable_high_cardinality_metrics
,则它仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是 OpenTelemetry Collector 中 telemetry.metrics.level
功能开关的 Alloy 等效项。可能的值为 "none"
、"basic"
、"normal"
和 "detailed"
。
导出的字段
以下字段已导出,可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
input | otelcol.Consumer | 其他组件可以使用该值将遥测数据发送到该值。 |
input
接受任何以下类型的遥测信号的 otelcol.Consumer
OTLP 格式数据
- 日志
- 跟踪
组件运行状况
仅当给出无效配置时,otelcol.processor.probabilistic_sampler
才被报告为不健康。
调试信息
otelcol.processor.probabilistic_sampler
不公开任何特定于组件的调试信息。
示例
基本用法
otelcol.processor.probabilistic_sampler "default" {
hash_seed = 123
sampling_percentage = 15.3
output {
logs = [otelcol.exporter.otlp.default.input]
}
}
采样 15% 的日志
otelcol.processor.probabilistic_sampler "default" {
sampling_percentage = 15
output {
logs = [otelcol.exporter.otlp.default.input]
}
}
根据其“logID”属性对日志进行采样
otelcol.processor.probabilistic_sampler "default" {
sampling_percentage = 15
attribute_source = "record"
from_attribute = "logID"
output {
logs = [otelcol.exporter.otlp.default.input]
}
}
根据“priority”属性对日志进行采样
otelcol.processor.probabilistic_sampler "default" {
sampling_percentage = 15
sampling_priority = "priority"
output {
logs = [otelcol.exporter.otlp.default.input]
}
}
兼容组件
otelcol.processor.probabilistic_sampler
可以接受来自以下组件的参数
otelcol.processor.probabilistic_sampler
具有可被以下组件使用的导出内容
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能使连接正常工作。有关更多详细信息,请参阅链接的文档。