Alloy 指标详解

Alloy 常用 Prometheus 指标详解

Alloy 作为现代日志采集与处理引擎,内置丰富的 Prometheus 指标,便于对采集链路、资源消耗、进程健康等进行全方位监控。本文详细解析 Alloy 典型监控指标,助力 K8s 日志链路运维和性能分析。


1. 采集链路相关指标

1.1 日志采集字节速率

  • 指标名loki_source_file_read_bytes_total
  • 类型:Counter
  • 释义:Alloy 采集的日志文件累计读取字节数。
  • 用途:配合 rate() 计算每秒采集字节速率,衡量采集链路带宽压力。
  • 典型监控
    1
    
    sum(rate(loki_source_file_read_bytes_total[1m]))

1.2 日志采集行速率

  • 指标名loki_source_file_read_lines_total
  • 类型:Counter
  • 释义:Alloy 采集的日志文件累计读取行数。
  • 用途:配合 rate() 计算每秒采集行速率,衡量采集链路处理能力。
  • 典型监控
    1
    
    sum(rate(loki_source_file_read_lines_total[1m]))

1.3 采集文件总数

  • 指标名loki_source_file_files_active_total
  • 类型:Gauge
  • 释义:当前 Alloy 正在采集的活跃日志文件数量。
  • 用途:监控采集范围变化,及时发现采集异常或文件丢失。
  • 典型监控
    1
    
    sum(loki_source_file_files_active_total)

1.4 各文件采集字节数

  • 指标名loki_source_file_file_bytes_total{path=...}
  • 类型:Gauge
  • 释义:每个被采集日志文件累计读取的字节数。
  • 用途:分析单文件采集量,定位热点日志源。
  • 典型监控
    1
    
    topk(10, loki_source_file_file_bytes_total)

2. Alloy 资源消耗指标

2.1 Alloy 进程 CPU 使用率

  • 指标名alloy_resources_process_cpu_seconds_total
  • 类型:Counter
  • 释义:Alloy 进程累计消耗的 CPU 时间(秒)。
  • 用途:配合 rate() 计算 CPU 使用率,监控资源瓶颈。
  • 典型监控
    1
    
    rate(alloy_resources_process_cpu_seconds_total[1m])

2.2 Alloy 进程内存占用

  • 指标名alloy_resources_process_resident_memory_bytes
  • 类型:Gauge
  • 释义:Alloy 进程当前实际占用的物理内存(字节)。
  • 用途:监控内存消耗,及时发现内存泄漏或异常增长。
  • 典型监控
    1
    
    alloy_resources_process_resident_memory_bytes

3. Alloy 进程健康与组件状态

3.1 Alloy 进程启动时间

  • 指标名alloy_resources_process_start_time_seconds
  • 类型:Gauge
  • 释义:Alloy 进程启动时间(Unix 时间戳)。
  • 用途:监控进程重启,结合告警及时发现异常。

3.2 Alloy 组件健康数

  • 指标名alloy_component_controller_running_components{health_type="healthy"}
  • 类型:Gauge
  • 释义:当前健康运行的 Alloy 组件数量。
  • 用途:监控组件健康状况,发现配置或运行异常。

4. Alloy 配置与版本信息

4.1 Alloy 版本信息

  • 指标名alloy_build_info
  • 类型:Gauge
  • 释义:Alloy 版本、分支、Go 版本等构建信息。
  • 用途:资产盘点、版本升级、兼容性分析。

4.2 Alloy 配置哈希

  • 指标名alloy_config_hash
  • 类型:Gauge
  • 释义:当前 Alloy 配置文件的哈希值。
  • 用途:配置变更追踪,辅助自动化运维。

5. 典型监控场景与告警建议

  • 采集速率骤降:可能采集端阻塞、磁盘IO瓶颈或上游 flog 异常。
  • 内存/CPU异常升高:需关注采集压力、日志格式变化或 Alloy 版本 bug。
  • 组件健康数减少:需排查配置变更、依赖服务异常等。
  • 进程频繁重启:建议结合 start_time_seconds 和告警系统联动。

如需更多指标解析或实际运维案例,欢迎补充交流!

0%