otelcol 接收器 FileStats
otelcol.receiver.file_stats
从使用glob模式指定的文件和文件夹中收集指标。
注意
otelcol.receiver.file_stats
是对来自otelcol-contrib
分发的上游 OpenTelemetry Collectorfilestats
接收器的封装。如果需要,错误报告或功能请求将被重定向到上游存储库。
可以通过为它们提供不同的标签来指定多个 otelcol.receiver.file_stats
组件。
警告
otelcol.receiver.file_stats
只在 macOS、Linux 和 Windows 上工作。
用法
otelcol.receiver.file_stats "LABEL" {
include = "GLOB_PATTERN"
output {
metrics = [...]
}
}
参数
otelcol.receiver.file_stats
支持以下参数
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
include | 字符串 | 用于收集统计信息的路径的 glob 路径。 | 是 | |
collection_interval | 持续时间 | 多久收集一次统计信息。 | "1m" | 否 |
initial_delay | 持续时间 | 在收集统计信息之前的初始等待时间。 | "1s" | 否 |
timeout | 持续时间 | 收集的超时时间;0s 表示无超时。 | "0s" | 否 |
include
是一个 glob 模式,用于指定要收集统计信息的路径(文件和文件夹)。*
字符匹配目录中的条目,而 **
包括子目录。例如,/var/log/**/*.log
匹配 /var/log
中所有以 .log
结尾的文件和目录。
timeout
参数控制由 collection_interval
指定的每次收集的超时时间。超时适用于 include
参数匹配的所有路径的整个收集过程。
块
以下块在 otelcol.receiver.file_stats
的定义中受支持
层次结构 | 块 | 描述 | 是否必需 |
---|---|---|---|
metrics | metrics | 配置将发送到下游组件的哪些指标。 | 否 |
metrics > file.atime | file.atime | 配置 file.atime 指标。 | 否 |
metrics > file.count | file.count | 配置 file.count 指标。 | 否 |
metrics > file.ctime | file.ctime | 配置 file.ctime 指标。 | 否 |
metrics > file.mtime | file.mtime | 配置 file.mtime 指标。 | 否 |
metrics > file.size | file.size | 配置 file.size 指标。 | 否 |
resource_attributes | resource_attributes | 配置发送到下游组件的指标的资源属性。 | 否 |
resource_attributes > file.name | file.name | 配置 file.name 资源属性。 | 否 |
resource_attributes > file.name > metrics_include | metrics_include | 包含 file.name 资源属性的指标。 | 否 |
resource_attributes > file.name > metrics_exclude | metrics_exclude | 排除 file.name 资源属性的指标。 | 否 |
resource_attributes > file.path | file.path | 配置 file.path 资源属性。 | 否 |
resource_attributes > file.path > metrics_include | metrics_include | 包含 file.path 资源属性的指标。 | 否 |
resource_attributes > file.path > metrics_exclude | metrics_exclude | 排除 file.path 资源属性的指标。 | 否 |
debug_metrics | debug_metrics | 配置此组件生成的指标,以监控其状态。 | 否 |
output | output | 配置发送接收到的遥测数据的位置。 | 是 |
metrics block
metrics
块配置将发送到下游组件的指标集。它不接受任何参数,但包含用于单个指标的块。
- 有关 file.atime 块的详细信息
- 有关 file.count 块的详细信息
- 有关 file.ctime 块的详细信息
- 有关 file.mtime 块的详细信息
- 有关 file.size 块的详细信息
有关单个指标块是否默认启用的详细信息,请参阅指标块的文档。
file.atime 块
file.atime
块配置 file.atime
指标。 file.atime
跟踪自上次访问文件或文件夹以来经过的时间,以自纪元以来的 Unix 秒计算。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否收集 file.atime 指标。 | false | 否 |
file.count 块
file.count
块配置 file.count
指标。 file.count
跟踪指定 glob 模式中文件和文件夹的数量。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否收集 file.count 指标。 | false | 否 |
file.ctime 块
《file.ctime》块配置了《file.ctime》指标。《file.ctime》追踪自文件或文件夹上次变更以来经过的时间,以自纪元以来的Unix秒为单位。变更包括权限、所有权和时间戳。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否收集《file.ctime》指标。 | false | 否 |
file.mtime块
《file.mtime》块配置了《file.mtime》指标。《file.mtime》追踪自文件或文件夹上次修改以来经过的时间,以自纪元以来的Unix秒为单位。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否收集《file.mtime》指标。 | true | 否 |
file.size块
《file.size》块配置了《file.size》指标。《file.size》追踪文件或文件夹的大小,以字节为单位。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否收集《file.size》指标。 | true | 否 |
resource_attributes块
《resource_attributes》块配置发送到下游组件的指标资源属性。它不接受任何参数,但包含其他用于配置单个资源属性的块。
- 《a href="#filename-block">file.name》块
- 《a href="#filepath-block">file.path》块
请参阅各个资源属性块的文档,以确定该资源属性是否默认启用。
file.name块
《file.name》块配置《file.name》资源属性。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否包含《file.name》资源属性。 | true | 否 |
当enabled
为true时,file.name
属性包含在所有指标中。
子块metrics_include
和metrics_exclude
可用于进一步过滤哪些指标被赋予file.name
属性。如果一个指标与所有metrics_include
块匹配且与所有metrics_exclude
块都不匹配,则添加file.name
属性。
metrics_include块
《metrics_include》块配置匹配指标的过滤器。《metrics_include》块可以指定多次。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
strict | 字符串 | 要包含的指标的确切名称。 | yes* | |
regexp | 字符串 | 要包含的指标的正则表达式。 | yes* |
必须指定strict
或regexp
之一。
metrics_exclude块
《metrics_exclude》块配置排除指标的过滤器。《metrics_exclude》块可以指定多次。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
strict | 字符串 | 要排除的指标的确切名称。 | yes* | |
regexp | 字符串 | 要排除的指标的正则表达式。 | yes* |
必须指定strict
或regexp
之一。
file.path块
《file.path》块配置《file.path》资源属性。
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
enabled | 布尔值 | 是否包含《file.path》资源属性。 | false | 否 |
当enabled
为true时,file.path
属性包含在所有指标中。子块metrics_include
和metrics_exclude
可用于进一步过滤哪些指标被赋予file.path
属性。如果一个指标与所有metrics_include
块匹配且与所有metrics_exclude
块都不匹配,则添加file.path
属性。
debug_metrics块
《debug_metrics》块配置此组件生成的指标以监视其状态。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
disable_high_cardinality_metrics | 布尔值 | 是否禁用某些高基数指标。 | true | 否 |
level | 字符串 | 控制包装收集器发出的指标的详细程度。 | "detailed" | 否 |
《disable_high_cardinality_metrics》是Grafana Alloy对OpenTelemetry Collector中的telemetry.disableHighCardinalityMetrics
功能门的等效项。它删除可能导致高基数指标的属性。例如,从HTTP和gRPC连接的指标中删除具有IP地址和端口号的属性。
注意
如果配置,则disable_high_cardinality_metrics
仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是合金与 OpenTelemetry Collector 中的 telemetry.metrics.level
功能门等效。可能的值有 "none"
、"basic"
、"normal"
和 "detailed"
。
输出块
output
块配置一组组件,将这些组件用于转发结果遥测数据。
支持以下参数
名称 | 类型 | 描述 | 默认值 | 是否必需 |
---|---|---|---|---|
日志 | list(otelcol.Consumer) | 要发送日志的消费者列表。 | [] | 否 |
metrics | list(otelcol.Consumer) | 要发送指标的消费者列表。 | [] | 否 |
跟踪 | list(otelcol.Consumer) | 要发送跟踪的消费者列表。 | [] | 否 |
您必须指定 output
块,但所有参数都是可选的。默认情况下,遥测数据将被丢弃。根据需要配置 metrics
、logs
和 traces
参数,以便将遥测数据发送到其他组件。
导出字段
otelcol.receiver.file_stats
不导出任何字段。
组件健康状态
当 otelcol.receiver.file_stats
以下情况发生时,会报告为不健康:
- 它被赋予无效的配置。
- 它在不受支持的操作系统上运行。
调试信息
otelcol.receiver.file_stats
不公开任何特定组件的调试信息。
示例
此示例通过批处理程序将位于 /var/log
的具有 .log
扩展名的文件和文件夹的文件统计信息转发,最后发送到一个 OTLP 兼容的端点。
otelcol.receiver.file_stats "default" {
include = "/var/log/**/*.log"
output {
metrics = [otelcol.processor.batch.default.input]
}
}
otelcol.processor.batch "default" {
output {
metrics = [otelcol.exporter.otlp.default.input]
}
}
otelcol.exporter.otlp "default" {
client {
endpoint = sys.env("OTLP_ENDPOINT")
}
}
兼容组件
otelcol.receiver.file_stats
可以接受以下组件的参数:
注意
连接某些组件可能没有意义,或者组件可能需要进一步配置才能正确连接。请参阅链接的文档以获取更多详细信息。