1
0
Fork 0

Verbose mode for main part of for separate plugins.

This commit is contained in:
Marcela Mašláňová 2009-10-19 17:01:25 +02:00
parent f87c1ede50
commit d838f1a151
7 changed files with 64 additions and 21 deletions

View file

@ -18,6 +18,11 @@ options:
.IP \fBinterval\fR
Interval for monitoring and tuning in seconds. The default is 10.
.IP \fBverbose\fR
Default mode is False. It is possible to define
.I verbose=True
in main section or for separate sections.
.SH "[plugin] OPTIONS"
.LP
Each plugin can have an individual section with the name of the plugin as

View file

@ -22,20 +22,7 @@ class DiskMonitor:
def __init__(self):
self.devices = {}
self.enabled = True
dnames = os.listdir("/sys/block/")
for d in dnames:
try:
v = open("/sys/block/"+d+"/device/vendor").read().strip()
except:
v = None
if v != "ATA" and v != "SCSI":
continue
self.devices[d] = {}
self.devices[d]["new"] = ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
self.devices[d]["max"] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
self.__updateStat__(d)
self.devices[d]["max"] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
print self.devices
self.verbose = False
def __calcdiff__(self, dev):
l = []
@ -61,6 +48,28 @@ class DiskMonitor:
self.config = config
if self.config.has_option("DiskMonitor", "enabled"):
self.enabled = (self.config.get("DiskMonitor", "enabled") == "True")
try:
self.verbose = (self.config.get("main","verbose") == "True")
self.verbose = (self.config.get("DiskMonitor", "verbose") == "True")
print self.verbose
except:
pass
dnames = os.listdir("/sys/block/")
for d in dnames:
try:
v = open("/sys/block/"+d+"/device/vendor").read().strip()
except:
v = None
if v != "ATA" and v != "SCSI":
continue
self.devices[d] = {}
self.devices[d]["new"] = ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']
self.devices[d]["max"] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
self.__updateStat__(d)
self.devices[d]["max"] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
if self.verbose:
print self.devices
def cleanup(self):
pass

View file

@ -22,6 +22,7 @@ class NetMonitor:
def __init__(self):
self.devices = {}
self.enabled = True
self.verbose = False
devs = open("/proc/net/dev").readlines()
for l in devs:
l = l.replace(":", " ")
@ -35,7 +36,6 @@ class NetMonitor:
self.devices[d]["max"] = [70*1024*1024, 1, 70*1024*1024, 1]
self.__updateStat__(d)
self.devices[d]["max"] = [70*1024*1024, 1, 70*1024*1024, 1]
print self.devices
def __calcdiff__(self, dev):
l = []
@ -68,10 +68,18 @@ class NetMonitor:
if self.config.has_option("NetMonitor", "enabled"):
self.enabled = (self.config.get("NetMonitor", "enabled") == "True")
interval = self.config.getint("main", "interval")
try:
self.verbose = (self.config.get("main", "verbose") == "True")
self.verbose = (self.config.get("NetMonitor", "verbose") == "True")
except:
pass
# Assume 1gbit interfaces for now. FIXME: Need clean way to figure out max interface speed
for d in self.devices.keys():
self.devices[d]["max"] = [70*1024*1024*interval, 1, 70*1024*1024*interval, 1]
if self.verbose:
print self.devices
def cleanup(self):
pass
@ -85,6 +93,8 @@ class NetMonitor:
ret["NET"][dev] = {}
ret["NET"][dev]["READ"] = float(self.devices[dev]["diff"][0]) / float(self.devices[dev]["max"][0])
ret["NET"][dev]["WRITE"] = float(self.devices[dev]["diff"][2]) / float(self.devices[dev]["max"][2])
if self.verbose:
print self.devices
return ret
_plugin = NetMonitor()

View file

@ -6,6 +6,7 @@
# Interval for monitoring and tuning. Default is 10s.
# interval=10
# pidfile=/var/run/tuned.pid
# verbose=False
#
# Disk monitoring section
@ -14,7 +15,7 @@
# Enabled or disable the plugin. Default is True. Any other value
# disables it.
# enabled=False
# verbose=True
#
# Disk tuning section
#
@ -24,7 +25,7 @@
# enabled=False
# hdparm=False
# alpm=False
# verbose=True
#
# Net monitoring section
#

View file

@ -23,6 +23,7 @@ class Tuned:
self.interval = 10
self.mp = []
self.tp = []
self.verbose = False
def __initplugins__(self, path, module, store):
_files = map(lambda v: v[:-3], filter(lambda v: v[-3:] == ".py" and \
@ -48,6 +49,10 @@ class Tuned:
self.interval = self.config.getint("main", "interval")
else:
self.config.set("main", "interval", self.interval)
if self.config.has_option("main", "verbose"):
self.verbose = (self.config.get("main", "verbose") == "True")
else:
self.config.set("main", "verbose", self.verbose)
if self.config.has_option("main", "pidfile"):
self.pidfile = self.config.get("main", "pidfile")
else:

View file

@ -25,6 +25,7 @@ class DiskTuning:
self.power = ["255", "225", "195", "165", "145", "125", "105", "85", "70", "55", "30", "20"]
self.spindown = ["0", "250", "230", "210", "190", "170", "150", "130", "110", "90", "70", "60"]
self.levels = len(self.power)
self.verbose = False
def __updateIdle__(self, dev, devload):
idle = self.devidle.setdefault(dev, {})
@ -41,6 +42,12 @@ class DiskTuning:
self.config = config
if self.config.has_option("DiskTuning", "enabled"):
self.enabled = (self.config.get("DiskTuning", "enabled") == "True")
try:
self.verbose = (self.config.get("main", "verbose") == "True")
self.verbose = (self.config.get("DiskTuning","verbose") == "True")
print self.verbose
except:
pass
def cleanup(self):
for dev in self.devidle.keys():
@ -66,5 +73,6 @@ class DiskTuning:
self.devidle[dev]["LEVEL"] = 0
level = self.devidle[dev]["LEVEL"]
os.system("hdparm -S"+self.power[level]+" -B"+self.spindown[level]+" /dev/"+dev+" > /dev/null 2>&1")
if self.verbose:
print (load,self.devidle)
_plugin = DiskTuning()

View file

@ -22,6 +22,7 @@ class NetTuning:
def __init__(self):
self.devidle = {}
self.enabled = True
self.verbose = False
def __updateIdle__(self, dev, devload):
idle = self.devidle.setdefault(dev, {})
@ -38,7 +39,11 @@ class NetTuning:
self.config = config
if self.config.has_option("NetTuning", "enabled"):
self.enabled = (self.config.get("NetTuning", "enabled") == "True")
try:
self.verbose = (self.config.get("main", "verbose") == "True")
self.verbose = (self.config.get("NetTuning", "verbose") == "True")
except:
pass
def cleanup(self):
for dev in self.devidle.keys():
@ -58,6 +63,6 @@ class NetTuning:
if self.devidle[dev]["LEVEL"] > 0 and (self.devidle[dev]["READ"] == 0 or self.devidle[dev]["WRITE"] == 0):
self.devidle[dev]["LEVEL"] = 0
os.system("ethtool -s "+dev+" advertise 0x03F")
print(load, self.devidle)
if self.verbose:
print(load, self.devidle)
_plugin = NetTuning()