用于监控 xen 实时迁移中的实时 CPU 和带宽使用情况的脚本

用于监控 xen 实时迁移中的实时 CPU 和带宽使用情况的脚本

我需要编写一个脚本(bash 或 python 或??)来执行实时迁移虚拟机,并同时记录和提取中央处理器&带宽使用Domain-0 将输出以格式良好的形式写入文本文件。

我目前所做的:
我目前使用此代码来记录“Domain-0”的 CPU 使用率:

xentop -d1 -bi500 | awk '$1 == "Domain-0" { print $4 }'

它每秒从命令中读取 CPU 使用率xentop并将其打印在 bash 中。我找不到将输出写入文本文件的方法。

为了同时迁移虚拟机并监控 CPU 使用情况,我执行以下操作:

xentop -d1 -bi500 | awk '$1 == "Domain-0" { print $4 }' & xl migrate vm1 destination-host --live --debug

这样两个命令就可以同时运行,当我看到迁移命令完成时,我会复制迁移命令启动时到完成时打印的 CPU 使用情况,并将其粘贴到文本文件中。这很无聊而且不准确!!

因此,我需要一种明智的方法来编写脚本,以便每当我执行它时,它都会请求虚拟机的名称和目标 IP 或主机名,然后它会触发迁移命令并同时记录 CPU 和带宽,并为每个输出添加时间戳,这样我就可以准确地确定实时迁移过程中发生的情况。
像这样:

Migration Started
     CPU(%)      Bandwidth(MB/s)     Time
     26          14.8                14:31:26
     32.5        13.2                14:31:27
                     ...
                     ...
                     ...
     10          0.5                 14:32:54
Migration Finished

我还需要一段代码来确定Domain-0的实时带宽使用情况。

答案1

首先,非常感谢这个命令,因为它解决了我的问题。

回答你的问题,你可以将迭代次数设为 1,这样 bash 代码将在一次迭代中取消,然后你可以使用“>file.txt”获取输出。你可以将所有这些代码放入一个循环中,进行 500 次迭代或你想要的迭代。

相关内容