跳到主要内容

系统监控(System Monitoring)

tally 提供系统指标的监控接口,这些接口在文件中定义:

<tally/sigar.h>

核心功能与特性

Sigar 通过统一 API 抽象了不同操作系统之间的底层差异,提供一致的指标采集能力。例如,它允许在 Windows 和 Linux 平台上使用相同方法获取进程列表或实时 CPU 负载。

其数据采集范围包括但不限于:CPU 核心数及利用率、物理和虚拟内存使用情况、磁盘分区读写速率、网络接口流量统计等。这种设计简化了开发者在多平台适配时的复杂性。

Sigar(System Information Gatherer and Reporter)是一款跨平台的系统指标组件,主要用于采集操作系统的关键性能数据。它能够高效获取 CPU、内存、磁盘和网络等资源的使用信息,适用于运维监控、安全审计和学术研究等场景。

默认监控指标

导出的系统监控指标定义在文件中:

<tally/sigar_metric.h>

导出指标如下表所示:

指标类型变量名描述
FuncGauge<int64_t>mem_ram当前系统 RAM
FuncGauge<int64_t>mem_total系统总内存
FuncGauge<int64_t>mem_used当前系统内存使用量
FuncGauge<int64_t>mem_free当前系统空闲内存
FuncGauge<int64_t>mem_actual_used实际当前系统内存使用量
FuncGauge<int64_t>mem_actual_free实际当前系统空闲内存
FuncGauge<int64_t>swap_total交换分区总大小
FuncGauge<int64_t>swap_used交换分区使用量
FuncGauge<int64_t>swap_free交换分区空闲空间
FuncGauge<int64_t>cpu_userCPU 用户态时间
FuncGauge<int64_t>cpu_sysCPU 系统态时间
FuncGauge<int64_t>cpu_niceCPU nice 时间
FuncGauge<int64_t>cpu_idleCPU 空闲时间
FuncGauge<int64_t>cpu_waitCPU 等待时间
FuncGauge<int64_t>cpu_irqCPU IRQ 时间
FuncGauge<int64_t>cpu_soft_irqCPU 软件 IRQ 时间
FuncGauge<int64_t>cpu_stolenCPU 被偷取时间
FuncGauge<int64_t>cpu_totalCPU 总时间
FuncGauge<double>uptime系统运行时间
FuncGauge<double>loadavg_1m系统 1 分钟负载平均值
FuncGauge<double>loadavg_5m系统 5 分钟负载平均值
FuncGauge<double>loadavg_15m系统 15 分钟负载平均值
FuncGauge<double>disk_io_read磁盘 IO 读取吞吐量
FuncGauge<double>disk_io_write磁盘 IO 写入吞吐量
FuncGauge<double>disk_io_total磁盘 IO 总吞吐量(读 + 写)