diff options
| author | Philip Knirsch <pknirsch@hamburg.stuttgart.redhat.com> | 2009-02-10 18:45:38 +0100 |
|---|---|---|
| committer | Philip Knirsch <pknirsch@hamburg.stuttgart.redhat.com> | 2009-02-10 18:45:38 +0100 |
| commit | 5818e327421ff22f41618c7b9fa74be8d23d4fd5 (patch) | |
| tree | feb2bd13105a8c0086981d06190dbf70c73fbb65 /monitorplugins | |
| parent | 28bd83e0d262ba1164d52fa1d9a551caab2e31e6 (diff) | |
| download | tuned-5818e327421ff22f41618c7b9fa74be8d23d4fd5.tar.gz tuned-5818e327421ff22f41618c7b9fa74be8d23d4fd5.tar.xz tuned-5818e327421ff22f41618c7b9fa74be8d23d4fd5.zip | |
- Added full network support
- Moved docs around a bit
Diffstat (limited to 'monitorplugins')
| -rw-r--r-- | monitorplugins/net.py (renamed from monitorplugins/network.py) | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/monitorplugins/network.py b/monitorplugins/net.py index 64c493a..0091b26 100644 --- a/monitorplugins/network.py +++ b/monitorplugins/net.py @@ -21,6 +21,19 @@ import os class NetMonitor: def __init__(self): self.devices = {} + devs = open("/proc/net/dev").readlines() + for l in devs: + l = l.replace(":", " ") + v = l.split() + d = v[0] + if not d.startswith("eth"): + continue + self.devices[d] = {} + self.devices[d]["new"] = ['0', '0', '0', '0'] + 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 = [] @@ -29,9 +42,15 @@ class NetMonitor: return l def __updateStat__(self, dev): - l = open("/sys/block/"+dev+"/stat", "r").read() - self.devices[dev]["old"] = self.devices[dev]["new"] - self.devices[dev]["new"] = l.split() + self.devices[dev]["old"] = self.devices[dev]["new"][:] + l = open("/sys/class/net/"+dev+"/statistics/rx_bytes", "r").read().strip() + self.devices[dev]["new"][0] = l + l = open("/sys/class/net/"+dev+"/statistics/rx_packets", "r").read().strip() + self.devices[dev]["new"][1] = l + l = open("/sys/class/net/"+dev+"/statistics/tx_bytes", "r").read().strip() + self.devices[dev]["new"][2] = l + l = open("/sys/class/net/"+dev+"/statistics/tx_packets", "r").read().strip() + self.devices[dev]["new"][3] = l l = self.__calcdiff__(dev) for i in xrange(len(l)): if l[i] > self.devices[dev]["max"][i]: @@ -48,8 +67,8 @@ class NetMonitor: ret["NET"] = {} for dev in self.devices.keys(): ret["NET"][dev] = {} - ret["NET"][dev]["READ"] = float(self.devices[dev]["diff"][1]) / float(self.devices[dev]["max"][1]) - ret["NET"][dev]["WRITE"] = float(self.devices[dev]["diff"][5]) / float(self.devices[dev]["max"][5]) + 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]) return ret _plugin = NetMonitor() |
