otelcol.receiver.file_stats
otelcol.receiver.file_stats
从使用 glob 模式指定的文件和文件夹收集指标。
注意
otelcol.receiver.file_stats
是上游 OpenTelemetry Collectorotelcol-contrib
分发版中filestats
接收器的封装。如果需要,Bug 报告或功能请求将重定向到上游仓库。
可以通过为其提供不同的标签来指定多个 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 | string | 用于收集统计信息的路径的 Glob 模式。 | 是 | |
collection_interval | duration | 收集统计信息的频率。 | "1m" | 否 |
initial_delay | duration | 收集统计信息前的初始等待时间。 | "1s" | 否 |
timeout | duration | 收集的超时时间;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 块
metrics
块配置将发送到下游组件的指标集。它不接受参数,但包含其他块用于配置单个指标
关于该指标是否默认启用,请参阅各个指标块的文档。
file.atime 块
file.atime
块配置 file.atime
指标。file.atime
跟踪自文件或文件夹最后一次访问以来的经过时间(以 Unix 纪元秒为单位)。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否收集 file.atime 指标。 | false | 否 |
file.count 块
file.count
块配置 file.count
指标。file.count
跟踪指定 glob 模式中的文件和文件夹数量。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否收集 file.count 指标。 | false | 否 |
file.ctime 块
file.ctime
块配置 file.ctime
指标。file.ctime
跟踪自文件或文件夹最后一次更改以来的经过时间(以 Unix 纪元秒为单位)。更改包括权限、所有权和时间戳。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否收集 file.ctime 指标。 | false | 否 |
file.mtime 块
file.mtime
块配置 file.mtime
指标。file.mtime
跟踪自文件或文件夹最后一次修改以来的经过时间(以 Unix 纪元秒为单位)。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否收集 file.mtime 指标。 | true | 否 |
file.size 块
file.size
块配置 file.size
指标。file.size
跟踪文件或文件夹的大小(以字节为单位)。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否收集 file.size 指标。 | true | 否 |
resource_attributes 块
resource_attributes
块为发送到下游组件的指标配置资源属性。它不接受参数,但包含其他块用于配置单个资源属性
关于该资源属性是否默认启用,请参阅各个资源属性块的文档。
file.name 块
file.name
块配置 file.name
资源属性。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否包含 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 | string | 要包含的指标的确切名称。 | 是* | |
regexp | string | 要包含的指标的正则表达式。 | 是* |
必须且只能指定 strict
或 regexp
中的一个。
metrics_exclude 块
metrics_exclude
块配置一个用于排除指标的过滤器。metrics_exclude
块可以多次指定。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
strict | string | 要排除的指标的确切名称。 | 是* | |
regexp | string | 要排除的指标的正则表达式。 | 是* |
必须且只能指定 strict
或 regexp
中的一个。
file.path 块
file.path
块配置 file.path
资源属性。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | boolean | 是否包含 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 | 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.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
可以接受来自以下组件的参数
注意
某些组件的连接可能不合理,或者组件可能需要进一步配置才能使连接正常工作。更多详情请参阅相关文档。