Viewing file: vhostmd.py (2.13 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version.
# This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
from sos.plugins import Plugin, RedHatPlugin import os
class vhostmd(Plugin, RedHatPlugin): """vhostmd virtualization metrics collection """
plugin_name = 'vhostmd' profiles = ['sap', 'virt', 'system']
packages = ['virt-what']
def setup(self): vw = self.get_command_output("virt-what")['output'].splitlines()
if not vw: return
if "vmware" in vw or "kvm" in vw or "xen" in vw: if self.is_installed("vm-dump-metrics"): # if vm-dump-metrics is installed use it self.add_cmd_output("vm-dump-metrics", suggest_filename="virt_metrics") else: # otherwise use the raw vhostmd disk presented (256k size) sysblock = "/sys/block" if not os.path.isdir(sysblock): return for disk in os.listdir(sysblock): if "256K" in disk: dev = disk.split()[0] check = self.get_command_output( "dd if=/dev/%s bs=25 count=1" % dev) if 'metric' in check['output']: self.add_cmd_output("dd if=/dev/%s bs=256k count=1" % dev, suggest_filename="virt_\ metrics")
# vim: et ts=4 sw=4
|