阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用Shell脚本监控KVM虚拟机

481次阅读
没有评论

共计 2197 个字符,预计需要花费 6 分钟才能阅读完成。

最近有朋友问我平时使用 KVM 虚拟机的时候用什么软件进行管理。其实我平时都是使用 virsh 命令通过命令行进行虚拟机的管理的。虽然 RedHat 有虚拟机管理和监控平台,但是只能在 redhat 发行版上使用,其他平台都与这个软件无缘,包括 CentOS。

如果管理 kvm 用 virsh 命令,那么监控用什么命令啊?
我的方案是,监控各个 kvm 虚拟机使用 zabbix; 在主机上结合使用 ps 命令和 top 命令进行监控。

使用 zabbix 不是我在这里讨论的重点,感兴趣的话,可以上网查阅相关资料。我在这里只介绍如何使用 top 和 ps 命令在主机上监控虚拟机。

但是单独以上二个命令是有问题的:
单独使用 top 只能看到进程号(PID)和命令描述(qemu-kvm),无法看到是哪一个虚拟机(如下),而 virsh 命令主要是使用虚拟机名称对虚拟机进行管理的:

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  3525 root      20   0 20.8g  16g 5636 S 58.1 12.8  19499:19 qemu-kvm
  3586 root      20   0 20.6g  10g 5636 S 56.1  8.2  18289:31 qemu-kvm
129225 root      20   0 6634m 1.2g 5596 S  4.0  1.0   1001:20 qemu-kvm
129268 root      20   0 4946m 707m 5596 S  4.0  0.5 964:44.63 qemu-kvm
  3664 root      20   0 5561m 1.2g 5608 S  3.6  0.9   1318:51 qemu-kvm

单独使用 ps 命令虽然可以看到进程和虚拟机的对应关系但是无法看到实时的监控数据(如下):

ps aux|grep -v 'grep'|grep -v 'vhost-'|grep 'qemu-kvm'|awk '{print $2" "$13}'
3525 CKB_JinDie_Server
3586 CKB_JinDie_HA_Server
3664 DNS_Server
129225 Discuz_Server
129268 TCExam_Server

因此必须写一个 shell 脚本将这二个命令进行结合,将虚拟机名称和实时数据对应起来;同时还需要定时来刷新数据,以实现在主机上实时监控虚拟机运行情况的目的。

shell 脚本如下:

#!/bin/bash
# 查看本机 kvm 虚拟机的运行情况 
# Author:CMZSteven
#Create Date:2016-06-08
#Modified Date:2016-06-08

while true;do
# 清空屏幕显示 
clear;

# 获得这一时刻的 top 信息,并输出到指定文件 
top -bn1 > /tmp/kvm_top.txt;

# 获得进程号和虚拟机名称对应表,并输出到指定文件 
ps aux|grep -v 'grep'|grep -v 'vhost-'|grep 'qemu-kvm'|awk '{print $2" "$13}'> /tmp/kvm_list.txt

# 获得 top 命令的前 7 行,也就是汇总信息行 
cat /tmp/kvm_top.txt|head -n 7;

# 将虚拟机名称放到指定信息行的上一行上,实现名称和监控信息的对应 
for i in `cat /tmp/kvm_list.txt|awk '{print $1}'`;do
    grep $i /tmp/kvm_list.txt|awk '{print $2}';
    grep $i /tmp/kvm_top.txt|grep -v 'vhost-';
done;

# 输入相关监控信息后,暂停 10 秒,以便查看相关数据 
sleep 10
done;

实际运行结果如下:

top - 17:03:55 up 24 days,  6:29,  2 users,  load average: 0.91, 0.98, 1.07
Tasks: 742 total,   1 running, 741 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.9%us,  1.5%sy,  0.0%ni, 97.5%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  131915040k total, 81581596k used, 50333444k free,   143408k buffers
Swap:  8388604k total,        0k used,  8388604k free, 48952552k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
CKB_JinDie_Server
  3525 root      20   0 20.8g  16g 5636 S 56.4 12.8  19547:40 qemu-kvm
CKB_JinDie_HA_Server
  3586 root      20   0 20.6g  10g 5636 S 56.4  8.2  18330:33 qemu-kvm
DNS_Server
  3664 root      20   0 5561m 1.2g 5608 S  5.8  0.9   1321:51 qemu-kvm
Discuz_Server
129225 root      20   0 6634m 1.2g 5596 S  3.9  1.0   1004:30 qemu-kvm
TCExam_Server
129268 root      20   0 4946m 707m 5596 S  5.8  0.5 967:46.78 qemu-kvm

其实这个脚本还是有改进空间的,如果大家和兴趣,可以自己去尝试升级一下。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-06/132396.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2197字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19342
评论数
4
阅读量
7555085
文章搜索
热门文章
定制专属新闻,全网热榜全搜集开源TrendRadar上手指南

定制专属新闻,全网热榜全搜集开源TrendRadar上手指南

定制专属新闻,全网热榜全搜集开源 TrendRadar 上手指南 在信息爆炸的时代,如何快速、精准地捕捉全网热...
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...