Module: check_mk
Branch: master
Commit: b4d00a1cb20c7e9af00044a9aec074ec78442e7f
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=b4d00a1cb20c7e…
Author: Florian Heigl <fh(a)mathias-kettner.de>
Date: Wed May 30 16:05:27 2012 +0200
LVM statistics plugin - simulate standard diskstat output
---
agents/plugins/lnx_lvmstat | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/agents/plugins/lnx_lvmstat b/agents/plugins/lnx_lvmstat
index 7539353..d9b08e1 100755
--- a/agents/plugins/lnx_lvmstat
+++ b/agents/plugins/lnx_lvmstat
@@ -6,7 +6,7 @@
# (...major numbers were such an awesome idea)
-import os
+import os, time
import subprocess
@@ -32,15 +32,16 @@ for line in lvlist.stdout.readlines():
vg_name, lv_name = line.split(";")
# Found this in dtc-xen's statistics server. Greetings to Thomas!
minor = os.minor(os.stat("/dev/%s/%s" % (vg_name, lv_name)).st_rdev)
+ major = os.major(os.stat("/dev/%s/%s" % (vg_name, lv_name)).st_rdev)
dmdev = "dm-%s" % minor
- devices.update( { dmdev : (vg_name, lv_name)})
-
+ devices.update( { dmdev : (vg_name, lv_name, (major, minor))})
# then we can parse our nice new dictionary and grab the stats for each blockdev
+print time.time()
for dmdev in devices.keys():
counter = "/sys/block/%s/stat" % dmdev
- stats[dmdev] = file(counter).read().rstrip()
+ stats[dmdev] = " ".join(file(counter).read().split())
# read the gathered stats and if they are showing no IO, then
# either there was the counters disabled (and we enable them)
@@ -51,7 +52,7 @@ for dmdev in devices.keys():
if map(int, file(stats_switch).read().rstrip()) == 0:
os.system("echo 1 > /sys/block/%s/queue/iostats" % dmdev)
- print ("%s/%s %s") % (devices[dmdev][0],devices[dmdev][1],
stats[dmdev])
+ print ("%s\t %s %s-%s %s") % (devices[dmdev][2][0],
devices[dmdev][2][1], devices[dmdev][0],devices[dmdev][1], stats[dmdev])