Skip to content

Commit

Permalink
Merge pull request munin-monitoring#1115 from zivillian/kvm_mem
Browse files Browse the repository at this point in the history
* remove empty line from config (causing an error message)
* switch to python3
  • Loading branch information
sumpfralle committed Sep 13, 2020
2 parents c0108c9 + 6b4a312 commit 6906c85
Showing 1 changed file with 12 additions and 17 deletions.
29 changes: 12 additions & 17 deletions plugins/libvirt/kvm_mem
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# vim: set fileencoding=utf-8
#
Expand All @@ -25,18 +25,13 @@ def config(vm_names):
graph_vlabel Bytes
graph_category virtualization
graph_info This graph shows the current amount of memory used by virtual machines
graph_args --base 1024
"""
print base_config
draw = "AREA"
graph_args --base 1024 -l 0"""
print(base_config)
for vm in vm_names:
print "%s_mem.label %s" % (vm, vm)
print "%s_mem.type GAUGE" % vm
if draw == 'AREA':
print "%s_mem.min 0" % vm
print "%s_mem.draw %s" % (vm, draw)
print "%s_mem.info memory used by virtual machine %s" % (vm, vm)
draw = "STACK"
print("%s_mem.label %s" % (vm, vm))
print("%s_mem.type GAUGE" % vm)
print("%s_mem.draw %s" % (vm, "AREASTACK"))
print("%s_mem.info memory used by virtual machine %s" % (vm, vm))


def clean_vm_name(vm_name):
Expand Down Expand Up @@ -69,12 +64,12 @@ def fetch(vms):
cmdline = open("/proc/%s/cmdline" % pid, "r")
amount = re.sub(r"^.*-m\x00(.*)\x00-smp.*$",r"\1", cmdline.readline())
amount = int(amount) * 1024 * 1024
print "%s_mem.value %s" % (vms[pid], amount)
print("%s_mem.value %s" % (vms[pid], amount))
except:
cmdline = open("/proc/%s/cmdline" % pid, "r")
amount = re.sub(r"^.*-m\x00(\d+).*$",r"\1", cmdline.readline())
amount = int(amount) * 1024 * 1024
print "%s_mem.value %s" % (vms[pid], amount)
print("%s_mem.value %s" % (vms[pid], amount))

def detect_kvm():
''' Check if kvm is installed
Expand All @@ -97,16 +92,16 @@ def list_pids():
''' Find the pid of kvm processes
@return a list of pids from running kvm
'''
pid = Popen("pidof qemu-kvm qemu-system-x86_64 kvm", shell=True, stdout=PIPE)
pid = Popen("pidof qemu-kvm qemu-system-x86_64 kvm", shell=True, stdout=PIPE, text=True)
return pid.communicate()[0].split()

if __name__ == "__main__":
if len(sys.argv) > 1:
if sys.argv[1] in ['autoconf', 'detect']:
if detect_kvm():
print "yes"
print("yes")
else:
print "no"
print("no")
elif sys.argv[1] == "config":
config(find_vm_names(list_pids()).values())
else:
Expand Down

0 comments on commit 6906c85

Please sign in to comment.