实验性
otelcol.processor.interval
实验性:这是一个实验性组件。实验性组件可能经常发生重大更改,并且可能会被移除而没有任何等效的替代品。要使用此组件,必须将
stability.level
标志设置为实验性
。
otelcol.processor.interval
聚合指标,并定期将最新值转发到管道中的下一个组件。处理器支持聚合以下指标类型
- 单调递增,累积总和
- 单调递增,累积直方图
- 单调递增,累积指数直方图
- 仪表盘
- 摘要
以下指标类型将不会进行聚合,而是将原始数据不变地传递给管道中的下一个组件
- 所有增量指标
- 非单调递增的总和
注意
在时间间隔内聚合数据是一个固有的有损过程。对于单调递增的累积总和、直方图和指数直方图,您会失去精度,但您不会失去整体数据。在聚合非单调递增的总和、仪表盘和摘要时,您可能会丢失数据。例如,一个值可以增加到原始值,然后再减少到原始值,您可能会在聚合中丢失这种变化。在大多数情况下,这种类型的数据丢失是可以接受的。但是,您可以更改配置,使这些更改后的值通过并不进行聚合。
警告
导出后,任何内部状态都将被清除。如果没有新的指标传入,下一个时间间隔将不会导出任何内容。
注意
otelcol.processor.interval
是上游OpenTelemetry Collectorinterval
处理器的包装器。如果需要,错误报告或功能请求将被重定向到上游存储库。
用法
otelcol.processor.interval "LABEL" {
output {
metrics = [...]
}
}
参数
otelcol.processor.interval
支持以下参数
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
interval | 持续时间 | 处理器应导出聚合指标的时间间隔。 | "60s" | 否 |
块
以下块支持在otelcol.processor.interval
定义内部
层次结构 | 块 | 描述 | 必需 |
---|---|---|---|
输出 | 输出 | 配置发送接收到的遥测数据的地点。 | 是 |
透传 | 透传 | 配置要透传而不是聚合的指标类型。 | 否 |
debug_metrics | debug_metrics | 配置此组件生成的用于监控其状态的指标。 | 否 |
输出块
output
块配置了一组组件,以将结果遥测数据转发到。
以下参数被支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
日志 | list(otelcol.Consumer) | 发送日志的消费者列表。 | [] | 否 |
指标 | list(otelcol.Consumer) | 发送指标的消费者列表。 | [] | 否 |
跟踪 | list(otelcol.Consumer) | 发送跟踪的消费者列表。 | [] | 否 |
您必须指定output
块,但所有其参数都是可选的。默认情况下,遥测数据将被丢弃。根据需要配置metrics
、logs
和traces
参数,以将遥测数据发送到其他组件。
透传块
passthrough
块配置了哪些指标类型应透传而不是聚合。
以下属性被支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
仪表 | 布尔型 | 确定是否以原样透传仪表指标或聚合。 | false | 否 |
摘要 | 布尔型 | 确定是否以原样透传摘要指标或聚合。 | false | 否 |
debug_metrics块
debug_metrics
块配置了此组件生成的用于监控其状态的指标。
以下参数被支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | 布尔型 | 是否禁用某些高基数指标。 | true | 否 |
级别 | 字符串 | 控制包装收集器发出的指标的详细程度。 | "详细" | 否 |
disable_high_cardinality_metrics
是Grafana Alloy中与OpenTelemetry Collector中的telemetry.disableHighCardinalityMetrics
功能门相当的。它移除了可能导致高基数指标的属性。例如,从关于HTTP和gRPC连接的指标中移除了具有IP地址和端口号的属性。
注意
如果配置,则disable_high_cardinality_metrics
仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是Alloy在OpenTelemetry Collector中与telemetry.metrics.level
功能门相当的属性。可能的值有"none"
、"basic"
、"normal"
和"detailed"
。
导出字段
以下字段被导出,并且可以被其他组件引用
名称 | 类型 | 描述 |
---|---|---|
输入 | otelcol.Consumer | 其他组件可以用来发送遥测数据的一个值。 |
input
接受用于指标的otelcol.Consumer
数据。
组件健康状态
如果给定无效配置,则仅报告otelcol.processor.interval
为不健康。
调试信息
otelcol.processor.interval
不公开任何特定组件的调试信息。
示例
此示例接收OTLP指标,并在发送到下一个导出器之前对其进行30秒的聚合。
otelcol.receiver.otlp "default" {
grpc { ... }
http { ... }
output {
metrics = [otelcol.processor.interval.default.input]
}
}
otelcol.processor.interval "default" {
interval = "30s"
output {
metrics = [otelcol.exporter.otlphttp.grafana_cloud.input]
}
}
otelcol.exporter.otlphttp "grafana_cloud" {
client {
endpoint = "https://otlp-gateway-prod-gb-south-0.grafana.net/otlp"
auth = otelcol.auth.basic.grafana_cloud.handler
}
}
otelcol.auth.basic "grafana_cloud" {
username = env("GRAFANA_CLOUD_USERNAME")
password = env("GRAFANA_CLOUD_API_KEY")
}
时间戳 | 指标名称 | 聚合时间范围 | 属性 | 值 |
---|---|---|---|---|
0 | test_metric | 累积 | labelA: foo | 4.0 |
2 | test_metric | 累积 | labelA: bar | 3.1 |
4 | other_metric | 增量 | fruitType: orange | 77.4 |
6 | test_metric | 累积 | labelA: foo | 8.2 |
8 | test_metric | 累积 | labelA: foo | 12.8 |
10 | test_metric | 累积 | labelA: bar | 6.4 |
由于这是一个增量指标,处理器立即将以下指标传递给链中的下一个处理器。
时间戳 | 指标名称 | 聚合时间范围 | 属性 | 值 |
---|---|---|---|---|
4 | other_metric | 增量 | fruitType: orange | 77.4 |
在下一个interval
(默认为15秒)时,处理器将以下指标传递给链中的下一个处理器。
时间戳 | 指标名称 | 聚合时间范围 | 属性 | 值 |
---|---|---|---|---|
8 | test_metric | 累积 | labelA: foo | 12.8 |
10 | test_metric | 累积 | labelA: bar | 6.4 |
兼容组件
otelcol.processor.interval
可以接受以下组件的参数
otelcol.processor.interval
的导出可以被以下组件消费
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。请参阅相关文档以获取更多详细信息。