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 和告警系统联动。
如需更多指标解析或实际运维案例,欢迎补充交流!