otelcol 接收器文件统计
otelcol.receiver.file_stats
从指定的文件和文件夹(使用glob模式指定)收集指标。
注意
otelcol.receiver.file_stats
是对来自otelcol-contrib
分发的上游 OpenTelemetry Collectorfilestats
接收器的包装。如需提交错误报告或功能请求,请将它们重定向到上游仓库,如有必要。
可以通过不同的标签指定多个 otelcol.receiver.file_stats
组件。
警告
otelcol.sender.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 block
file.atime
块配置 file.atime
指标。file.atime
记录自上次访问文件或文件夹以来经过的时间,自纪元以来的 Unix 秒数。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | 布尔型 | 是否收集 file.atime 指标。 | false | 否 |
file.count block
file.count
块配置 file.count
指标。file.count
记录特定glob模式下的文件和文件夹数量。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | 布尔型 | 是否收集 file.count 指标。 | false | 否 |
file.ctime block
file.ctime
块配置 file.ctime
指标。file.ctime
记录自上次更改文件或文件夹以来经过的时间,自纪元以来的 Unix 秒数。更改包括权限、所有权和时间戳。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | 布尔型 | 是否收集 file.ctime 指标。 | false | 否 |
file.mtime block
file.mtime
块配置 file.mtime
指标。file.mtime
记录自上次修改文件或文件夹以来经过的时间,自纪元以来的 Unix 秒数。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | 布尔型 | 是否收集 file.mtime 指标。 | true | 否 |
file.size block
file.size
块配置 file.size
指标。file.size
记录文件或文件夹的大小(字节)。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
enabled | 布尔型 | 是否收集 file.size 指标。 | true | 否 |
resource_attributes block
resource_attributes
块配置发送到下游组件的指标的资源属性。它不接受任何参数,但包含用于配置单个资源属性的其它块。
请参考单个资源属性块的文档,以了解是否默认启用了该资源属性。
file.name block
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 block
metrics_include
块配置匹配指标的过滤器。metrics_include
块可以指定多次。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
严格的 | 字符串 | 要包含的指标的确切名称。 | 是* | |
regexp | 字符串 | 要包含的指标的常规表达式。 | 是* |
必须指定 strict
或 regexp
中的一个。
metrics_exclude 块
metrics_exclude
块配置用于排除指标的过滤器。可以多次指定 metrics_exclude
块。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
严格的 | 字符串 | 要排除的指标的确切名称。 | 是* | |
regexp | 字符串 | 要排除的指标的常规表达式。 | 是* |
必须指定 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 | 字符串 | 控制封装收集器发出的指标详细程度。 | "详细 " | 否 |
disable_high_cardinality_metrics
是 Grafana Alloy 中 telemetry.disableHighCardinalityMetrics
功能门在 OpenTelemetry 收集器中的等效功能。它会删除可能导致高基数指标的属性。例如,删除关于 HTTP 和 gRPC 连接的指标中的 IP 地址和端口号属性。
注意
如果配置了disable_high_cardinality_metrics
,则它仅适用于otelcol.exporter.*
和otelcol.receiver.*
组件。
level
是 Grafana Alloy 中 OpenTelemetry 收集器中 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
不暴露任何组件特定的调试信息。
示例
此示例在最终发送到 OTLP 兼容端点之前,通过批处理程序转发位于 /var/log
的 .log
扩展名文件和文件夹的文件统计信息。
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 = env("OTLP_ENDPOINT")
}
}
兼容组件
otelcol.receiver.file_stats
可以接受以下组件的参数
注意
连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅链接文档。