近日领导提出一个需求:要求不在任何一台云主机上安装agent或者其他东西,对云主机的CPU,内存,网络,IO进行监控,刚开始是一头雾水,后来听说可以通过监控kvm来提取数据
首先云主机都是分布在每一台物理服务器上,可以通过物理机上的kvm来获取云主机运行状态的数据
kvm虚机是用virsh来管理的
我的计划是,监控各个kvm虚拟机使用zabbix; 在主机上结合使用ps命令和top命令进行监控。
但是单独以上二个命令是有问题的:
单独使用top只能看到进程号(PID)和命令描述(qemu-system-x86),无法看到是哪一个虚拟机(如下),而virsh命令主要是使用虚拟机名称对虚拟机进行管理的:
单独使用ps命令虽然可以看到进程和虚拟机的对应关系但是无法看到实时的监控数据(如下):
root@ncnode02:~# ps aux|grep -v 'grep'|grep 'qemu-system-x86'|awk '{print $2" "$14}'
8321 instance-0000025d
8810 instance-00000238
9337 instance-0000022c
10085 instan