metrics-agent

该Agent主要用于主机信息采集,包括但不限于CPU、内存、磁盘、网络、进程等。

项目地址: https://github.com/jkstack/metrics-agent

最新版本: version

兼容性

系统版本号内核版本是否支持
ubuntu12.043.2✅
ubuntu14.043.13✅
ubuntu16.044.4✅
ubuntu18.044.15✅
ubuntu20.045.4✅
ubuntu22.045.15✅
suse10(SP4)2.6.16.60-0.132.1❌
suse11(SP4)3.0.101-108.135.1✅
suse12(SP5)4.12.14-122.130.1✅
suse15(SP4)5.14.21-150400.24.18.1✅
redhat5.112.6.18-398❌
redhat6.12.6.32-754✅
redhat7.93.10.0-1160✅
redhat8.64.18.0-372.9.1✅
centos5.112.6.18-398❌
centos6.12.6.32-754✅
centos7.9-20093.10.0-1160✅
centos8.5.21114.18.0-348✅
windowsXP❌
windows7 Enterprise with Service Pack 1✅
windows7 Professional with Service Pack 1, VL Build✅
windows10 Enterprise LTSC 2021✅
windows2008 R2 Enterprise✅
windows2008 R2 Datacenter✅
windows2016 VL✅
windows2016(Updated Feb 2018)✅
windows2016 Essentials✅
windows2019(Updated July 2020)✅
windows2022(updated Aug 2022)✅

采集项

采集项分为静态数据、usage数据、进程列表数据、连接列表数据、传感器温度数据,这5类数据可单独设置采集频率。

字段定义

静态数据

静态数据的默认采集频率为1天,该部分数据的特点是基本不太会变化,如CPU核心数、CPU型号、内存总大小等,可采集到的内容如下:

采集项描述
host_name主机名
uptime系统启动时长
os_name操作系统类型,如linux、windows等
platform_name操作系统名称,如debian、centos等
platform_version操作系统版本号,如7.7.1908
install操作系统安装时间
startup操作系统启动时间
kernel_version内核版本号
arch操作系统位数,如amd64、i386等
physical_cpu物理核心数,表示有多少块CPU
logical_cpu逻辑核心数
gateway网关地址
nameserversdns服务器列表

其中cores字段表示该主机的CPU核心列表,内容如下:

采集项描述
processor当前是第几个核心
model核心型号,如Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
core该核心所在物理核心编号
cores该核心所在CPU上的编号
physical该核心所在CPU在主板上的物理编号
mhz该核心的频率

其中disks字段表示该机器的磁盘列表,内容如下:

采集项描述
model品牌型号
total总容量
type磁盘类型,0=硬盘;1=软盘;2=光盘
partitions分区列表

其中partitions字段表示该机器的硬盘分区信息,内容如下:

采集项描述
mountlinux系统为挂载路径如/run,windows系统为盘符如C:
type分区类型,如NTFS等
options挂载选项,如rw,nosuid,nodev等
total该分区总容量
inodes该分区总inode数量

其中interfaces字段表示该机器的网卡列表信息,内容如下:

采集项描述
index该网卡下标
name网卡名称,如eth0
mtu该网卡的mut配置
flags该网卡的附加参数,如BROADCAST,RUNNING,MULTICAST等
addrs该网卡绑定的IP列表,包含IPv4和IPv6地址
mac该网卡的mac地址

其中users字段表示该主机上的账号列表,内容如下:

采集项描述
name用户名
id用户ID
gid用户所在组ID

usage数据

usage数据表示该主机的使用率数据,默认采集频率为5秒,可采集到的内容如下:

采集项描述
cpu_usageCPU使用率
memory_used内存占用字节数
memory_free内存剩余字节数
memory_available可用内存字节数
memory_usage内存使用率
swap_used已使用swap内存字节数
swap_free剩余swap内存字节数
cpu_load_1CPU的最近1分钟负载
cpu_load_5CPU的最近5分钟负载
cpu_load_15CPU的最近15分钟负载

其中partitions字段表示磁盘分区当前使用率列表,内容如下:

采集项描述
mountlinux系统为挂载路径如/run,windows系统为盘符如C:,用于与静态数据关联
used已使用字节数
free未使用字节数
usage使用率
inode_used已使用的inode数量
inode_free未使用的inode数量
inode_usageinode使用率
read_per_second每秒读取字节数
write_per_second每秒写入字节数
iops_in_progress正在等待的IO操作数量

其中interfaces字段表示网卡信息,内容如下:

采集项描述
name网卡名称,如eth0,用于与静态数据关联
bytes_sent已发送字节数
bytes_recv已接收字节数
packets_sent已发送数据包数量
packets_recv已接收数据包数量

进程列表数据

该采集项用于采集主机上的进程列表信息,内容如下:

采集项描述
id进程ID
parent_id父进程ID
user所属用户
cpu_usageCPU使用率
rss物理内存字节数
vms虚拟内存字节数
swapswap内存字节数
memory_usage内存使用率
cmd启动命令行参数
listen监听端口列表
connections连接数

连接列表数据

该采集项用于采集主机上的连接列表信息,内容如下:

采集项描述
fd句柄编号
pid所属进程ID
type连接类型,0=tcp IPv4;1=tcp IPv6;2=udp IPv4;3=udp IPv6;4=unix domain socket;5=unix file socket
local本地地址
remote远程地址
status连接状态,如ESTABLISHED等

传感器温度数据

该采集项用于采集主机上的传感器温度信息,如CPU温度、显卡温度等,内容如下:

采集项描述
name设备名称
temp温度,单位摄氏度