log rtts; minor fixes
This commit is contained in:
@@ -34,6 +34,7 @@ SEND_PUSHOVER=True
|
|||||||
DEBUG = 0
|
DEBUG = 0
|
||||||
|
|
||||||
MAXRECV = 32767
|
MAXRECV = 32767
|
||||||
|
MAXRTTS = 10
|
||||||
LOGFILE = "/home/andreas/public_html/messages/andreas"
|
LOGFILE = "/home/andreas/public_html/messages/andreas"
|
||||||
PICKFILE = "/var/tmp/hbd.pick"
|
PICKFILE = "/var/tmp/hbd.pick"
|
||||||
AEMAIL = ["andreas@wrede.ca"]
|
AEMAIL = ["andreas@wrede.ca"]
|
||||||
@@ -143,12 +144,11 @@ def oldmtodict(msg):
|
|||||||
|
|
||||||
|
|
||||||
class Connection:
|
class Connection:
|
||||||
def __init__(self, name, cid, addr, port):
|
def __init__(self, name, cid, addr):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.cid = cid
|
self.cid = cid
|
||||||
self.addr = addr
|
self.addr = addr
|
||||||
self.port = port
|
self.rtts = [0]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Host:
|
class Host:
|
||||||
@@ -271,9 +271,11 @@ class Host:
|
|||||||
self.cver = 0
|
self.cver = 0
|
||||||
|
|
||||||
try:
|
try:
|
||||||
a=host.connections
|
a=self.connections
|
||||||
|
a.append([])
|
||||||
except:
|
except:
|
||||||
host.connections=[]
|
self.connections={}
|
||||||
|
self.connections={}
|
||||||
|
|
||||||
|
|
||||||
def getstate(self):
|
def getstate(self):
|
||||||
@@ -284,7 +286,12 @@ class Host:
|
|||||||
if self.state in ["down", "overdue"]:
|
if self.state in ["down", "overdue"]:
|
||||||
state = "<b>%s</b>" % self.state
|
state = "<b>%s</b>" % self.state
|
||||||
elif self.state in ["up", "UP"]:
|
elif self.state in ["up", "UP"]:
|
||||||
state = "%0.1f" % self.latency
|
state = ""
|
||||||
|
for x in self.connections.keys():
|
||||||
|
try:
|
||||||
|
state += " %5.1f" % self.connections[x].rtts[-1]
|
||||||
|
except:
|
||||||
|
state += " %5s" % self.connections[x].rtts[-1]
|
||||||
else:
|
else:
|
||||||
state = "%s" % self.state
|
state = "%s" % self.state
|
||||||
return state
|
return state
|
||||||
@@ -486,15 +493,15 @@ def log(host, m, service=None):
|
|||||||
def dnsupdatethread():
|
def dnsupdatethread():
|
||||||
while True:
|
while True:
|
||||||
name, addr = dnsQ.get()
|
name, addr = dnsQ.get()
|
||||||
m = "%s changed address to %s" % (name, addr)
|
m = "changed address to %s" % (addr)
|
||||||
err = nsupdate(name, addr)
|
err = nsupdate(name, addr)
|
||||||
if err:
|
if err:
|
||||||
m += ", DNS failed: %s" % err
|
m += ", DNS update failed: %s" % err
|
||||||
email("error: nsupdate failed", m)
|
email("error: nsupdate failed", "%s: %s" % (name, m))
|
||||||
else:
|
else:
|
||||||
m += ", DNS updated."
|
m += ", DNS updated."
|
||||||
dnsQ.task_done()
|
dnsQ.task_done()
|
||||||
log(m)
|
log(name, m)
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
@@ -536,6 +543,10 @@ def readsock(sock):
|
|||||||
message = msg.get('msg', None)
|
message = msg.get('msg', None)
|
||||||
boot = msg.get('boot', 0)
|
boot = msg.get('boot', 0)
|
||||||
host.latency = now - msg.get('time', 0)
|
host.latency = now - msg.get('time', 0)
|
||||||
|
rtt = msg.get('rtt',"up")
|
||||||
|
conn.rtts.append(rtt)
|
||||||
|
if len(conn.rtts) > MAXRTTS:
|
||||||
|
del conn.rtts[0]
|
||||||
|
|
||||||
if boot:
|
if boot:
|
||||||
log(name, "booted")
|
log(name, "booted")
|
||||||
@@ -689,8 +700,9 @@ class HttpHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
|||||||
(h, hosts[h].dispstate(), hosts[h].dispstats(), hosts[h].addr4, hosts[h].addr6, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(hosts[h].statetime)), hosts[h].cver))
|
(h, hosts[h].dispstate(), hosts[h].dispstats(), hosts[h].addr4, hosts[h].addr6, time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(hosts[h].statetime)), hosts[h].cver))
|
||||||
res.append("</table>")
|
res.append("</table>")
|
||||||
|
|
||||||
|
le = max(40 - len(hosts), 3)
|
||||||
res.append("<h4>Log of Events</h4>")
|
res.append("<h4>Log of Events</h4>")
|
||||||
for m in msgs[len(msgs)-30:]:
|
for m in msgs[len(msgs)-le:]:
|
||||||
res.append("%s<BR>" % m)
|
res.append("%s<BR>" % m)
|
||||||
res.append("</body></html>")
|
res.append("</body></html>")
|
||||||
return res
|
return res
|
||||||
|
|||||||
Reference in New Issue
Block a user