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

otelcol 接收器文件统计

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

注意

otelcol.receiver.file_stats 是对来自 otelcol-contrib 分发的上游 OpenTelemetry Collector filestats 接收器的包装。如需提交错误报告或功能请求,请将它们重定向到上游仓库,如有必要。

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

警告

otelcol.sender.file_stats 仅适用于 macOS、Linux 和 Windows。

用法

alloy
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 的定义中支持以下块

层级描述必需
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 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.nametrue

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

子块 metrics_includemetrics_exclude 可以用于进一步筛选哪些指标被赋予 file.name 属性。如果一个指标与所有 metrics_include 块匹配且与任意 metrics_exclude 块都不匹配,则添加 file.name 属性。

metrics_include block

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

名称类型描述默认值必需
严格的字符串要包含的指标的确切名称。是*
regexp字符串要包含的指标的常规表达式。是*

必须指定 strictregexp 中的一个。

metrics_exclude 块

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

名称类型描述默认值必需
严格的字符串要排除的指标的确切名称。是*
regexp字符串要排除的指标的常规表达式。是*

必须指定 strictregexp 中的一个。

file.path 块

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

名称类型描述默认值必需
enabled布尔型是否包含 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_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)要发送日志的消费者列表。[]
metricslist(otelcol.Consumer)要发送指标的消费者列表。[]
跟踪list(otelcol.Consumer)要发送跟踪的消费者列表。[]

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

导出字段

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

组件健康

当以下情况发生时,otelcol.receiver.file_stats 报告为不健康:

  • 它被赋予了无效的配置。
  • 它在不支持的操作系统中运行。

调试信息

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

示例

此示例在最终发送到 OTLP 兼容端点之前,通过批处理程序转发位于 /var/log.log 扩展名文件和文件夹的文件统计信息。

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 = env("OTLP_ENDPOINT")
  }
}

兼容组件

otelcol.receiver.file_stats 可以接受以下组件的参数

注意

连接某些组件可能不合理,或者组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅链接文档。