菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow otelcolbreadcrumb arrow otelcol.receiver.file_stats
开源

otelcol.receiver.file_stats

otelcol.receiver.file_stats 从使用 glob 模式指定的文件和文件夹收集指标。

注意

otelcol.receiver.file_stats 是上游 OpenTelemetry Collector otelcol-contrib 分发版中 filestats 接收器的封装。如果需要,Bug 报告或功能请求将重定向到上游仓库。

可以通过为其提供不同的标签来指定多个 otelcol.receiver.file_stats 组件。

警告

otelcol.receiver.file_stats 仅在 macOS、Linux 和 Windows 上工作。

用法

alloy
otelcol.receiver.file_stats "LABEL" {
  include = "GLOB_PATTERN"

  output {
    metrics = [...]
  }
}

参数

otelcol.receiver.file_stats 支持以下参数

名称类型描述默认值必需
includestring用于收集统计信息的路径的 Glob 模式。
collection_intervalduration收集统计信息的频率。"1m"
initial_delayduration收集统计信息前的初始等待时间。"1s"
timeoutduration收集的超时时间;0s 表示无超时。"0s"

include 是一个 glob 模式,用于指定从哪些路径(文件和文件夹)收集统计信息。* 字符匹配目录中的条目,而 ** 包括子目录。例如,/var/log/**/*.log 匹配 /var/log 目录中所有递归地以 .log 结尾的文件和目录。

timeout 参数控制由 collection_interval 指定的每次收集的超时时间。超时适用于 include 参数匹配到的所有路径的整个收集过程。

otelcol.receiver.file_stats 的定义中支持以下块

层级描述必需
metricsmetrics配置哪些指标将被发送到下游组件。
metrics > file.atimefile.atime配置 file.atime 指标。
metrics > file.countfile.count配置 file.count 指标。
metrics > file.ctimefile.ctime配置 file.ctime 指标。
metrics > file.mtimefile.mtime配置 file.mtime 指标。
metrics > file.sizefile.size配置 file.size 指标。
resource_attributesresource_attributes为发送到下游组件的指标配置资源属性。
resource_attributes > file.namefile.name配置 file.name 资源属性。
resource_attributes > file.name > metrics_includemetrics_include包含 file.name 资源属性的指标。
resource_attributes > file.name > metrics_excludemetrics_exclude排除 file.name 资源属性的指标。
resource_attributes > file.pathfile.path配置 file.path 资源属性。
resource_attributes > file.path > metrics_includemetrics_include包含 file.path 资源属性的指标。
resource_attributes > file.path > metrics_excludemetrics_exclude排除 file.path 资源属性的指标。
debug_metricsdebug_metrics配置此组件为监控其状态而生成的指标。
outputoutput配置将接收到的遥测数据发送到何处。

metrics 块

metrics 块配置将发送到下游组件的指标集。它不接受参数,但包含其他块用于配置单个指标

关于该指标是否默认启用,请参阅各个指标块的文档。

file.atime 块

file.atime 块配置 file.atime 指标。file.atime 跟踪自文件或文件夹最后一次访问以来的经过时间(以 Unix 纪元秒为单位)。

名称类型描述默认值必需
enabledboolean是否收集 file.atime 指标。false

file.count 块

file.count 块配置 file.count 指标。file.count 跟踪指定 glob 模式中的文件和文件夹数量。

名称类型描述默认值必需
enabledboolean是否收集 file.count 指标。false

file.ctime 块

file.ctime 块配置 file.ctime 指标。file.ctime 跟踪自文件或文件夹最后一次更改以来的经过时间(以 Unix 纪元秒为单位)。更改包括权限、所有权和时间戳。

名称类型描述默认值必需
enabledboolean是否收集 file.ctime 指标。false

file.mtime 块

file.mtime 块配置 file.mtime 指标。file.mtime 跟踪自文件或文件夹最后一次修改以来的经过时间(以 Unix 纪元秒为单位)。

名称类型描述默认值必需
enabledboolean是否收集 file.mtime 指标。true

file.size 块

file.size 块配置 file.size 指标。file.size 跟踪文件或文件夹的大小(以字节为单位)。

名称类型描述默认值必需
enabledboolean是否收集 file.size 指标。true

resource_attributes 块

resource_attributes 块为发送到下游组件的指标配置资源属性。它不接受参数,但包含其他块用于配置单个资源属性

关于该资源属性是否默认启用,请参阅各个资源属性块的文档。

file.name 块

file.name 块配置 file.name 资源属性。

名称类型描述默认值必需
enabledboolean是否包含 file.name 资源属性。true

enabled 为 true 时,file.name 属性将包含在所有指标中。

子块 metrics_includemetrics_exclude 可用于进一步过滤哪些指标被赋予 file.name 属性。如果某个指标匹配所有 metrics_include 块且不匹配任何 metrics_exclude 块,则会添加 file.name 属性。

metrics_include 块

metrics_include 块配置一个用于匹配指标的过滤器。metrics_include 块可以多次指定。

名称类型描述默认值必需
strictstring要包含的指标的确切名称。是*
regexpstring要包含的指标的正则表达式。是*

必须且只能指定 strictregexp 中的一个。

metrics_exclude 块

metrics_exclude 块配置一个用于排除指标的过滤器。metrics_exclude 块可以多次指定。

名称类型描述默认值必需
strictstring要排除的指标的确切名称。是*
regexpstring要排除的指标的正则表达式。是*

必须且只能指定 strictregexp 中的一个。

file.path 块

file.path 块配置 file.path 资源属性。

名称类型描述默认值必需
enabledboolean是否包含 file.path 资源属性。false

enabled 为 true 时,file.path 属性将包含在所有指标中。子块 metrics_includemetrics_exclude 可用于进一步过滤哪些指标被赋予 file.path 属性。如果某个指标匹配所有 metrics_include 块且不匹配任何 metrics_exclude 块,则会添加 file.path 属性。

debug_metrics 块

debug_metrics 块配置此组件为监控其状态而生成的指标。

支持以下参数

名称类型描述默认值必需
disable_high_cardinality_metricsboolean是否禁用某些高基数指标。true

disable_high_cardinality_metrics 是 Grafana Alloy 中 OpenTelemetry Collector 的 telemetry.disableHighCardinalityMetrics 功能门的等效项。它会移除可能导致高基数指标的属性。例如,关于 HTTP 和 gRPC 连接的指标中带有 IP 地址和端口号的属性会被移除。

注意

如果配置了 disable_high_cardinality_metrics,它仅适用于 otelcol.exporter.*otelcol.receiver.* 组件。

output 块

output 块配置一组组件,用于将生成的遥测数据转发到这些组件。

支持以下参数

名称类型描述默认值必需
logslist(otelcol.Consumer)发送日志到消费者列表。[]
metricslist(otelcol.Consumer)发送指标到消费者列表。[]
traceslist(otelcol.Consumer)发送链路追踪到消费者列表。[]

您必须指定 output 块,但其所有参数都是可选的。默认情况下,遥测数据会被丢弃。相应地配置 metricslogstraces 参数以将遥测数据发送到其他组件。

导出的字段

otelcol.receiver.file_stats 不导出任何字段。

组件健康状态

otelcol.receiver.file_stats 在以下情况被报告为不健康:

  • 配置无效。
  • 在不支持的操作系统上运行。

调试信息

otelcol.receiver.file_stats 不暴露任何特定于组件的调试信息。

示例

此示例将 /var/log 中以 .log 扩展名结尾的文件和文件夹的文件统计信息通过批处理器转发,最后发送到支持 OTLP 的端点

alloy
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 可以接受来自以下组件的参数

注意

某些组件的连接可能不合理,或者组件可能需要进一步配置才能使连接正常工作。更多详情请参阅相关文档。