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

otelcol 接收器 FileStats

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

注意

otelcol.receiver.file_stats 是对来自 otelcol-contrib 分发的上游 OpenTelemetry Collector filestats 接收器的封装。如果需要,错误报告或功能请求将被重定向到上游存储库。

可以通过为它们提供不同的标签来指定多个 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 支持以下参数

名称类型描述默认值是否必需
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 块

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_includemetrics_exclude可用于进一步过滤哪些指标被赋予file.name属性。如果一个指标与所有metrics_include块匹配且与所有metrics_exclude块都不匹配,则添加file.name属性。

metrics_include块

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

名称类型描述默认值是否必需
strict字符串要包含的指标的确切名称。yes*
regexp字符串要包含的指标的正则表达式。yes*

必须指定strictregexp之一。

metrics_exclude块

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

名称类型描述默认值是否必需
strict字符串要排除的指标的确切名称。yes*
regexp字符串要排除的指标的正则表达式。yes*

必须指定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字符串控制包装收集器发出的指标的详细程度。"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)要发送日志的消费者列表。[]
metricslist(otelcol.Consumer)要发送指标的消费者列表。[]
跟踪list(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 可以接受以下组件的参数:

注意

连接某些组件可能没有意义,或者组件可能需要进一步配置才能正确连接。请参阅链接的文档以获取更多详细信息。