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温度,单位摄氏度