Send email alert when tempmon server marks a client as offline
courtesy of Cole Chaney <cole@mamajeansmarket.com>
This commit is contained in:
parent
8a1551e0f5
commit
5df3379995
|
@ -44,6 +44,7 @@ class TempmonBase(object):
|
|||
probe = model.TempmonProbe(config_key='testprobe', description="Test Probe")
|
||||
client.probes.append(probe)
|
||||
return {
|
||||
'client': client,
|
||||
'probe': probe,
|
||||
'status': self.enum.TEMPMON_PROBE_STATUS[self.enum.TEMPMON_PROBE_STATUS_ERROR],
|
||||
'reading': model.TempmonReading(),
|
||||
|
@ -78,6 +79,13 @@ class tempmon_error(TempmonBase, Email):
|
|||
return data
|
||||
|
||||
|
||||
class tempmon_client_offline(TempmonBase, Email):
|
||||
"""
|
||||
Sent when a tempmon client has been marked offline.
|
||||
"""
|
||||
default_subject = "Client Offline"
|
||||
|
||||
|
||||
class tempmon_good_temp(TempmonBase, Email):
|
||||
"""
|
||||
Sent whenever a tempmon probe first takes a "good temp" reading, after
|
||||
|
|
|
@ -83,6 +83,8 @@ class TempmonServerDaemon(Daemon):
|
|||
if not online and client.online:
|
||||
log.info("marking client as OFFLINE: {}".format(client))
|
||||
client.online = False
|
||||
send_email(self.config, 'tempmon_client_offline', {"client":client, "now":localtime(self.config,self.now,from_utc=True)})
|
||||
|
||||
|
||||
def check_readings_for_probe(self, session, probe, cutoff):
|
||||
readings = session.query(tempmon.Reading)\
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
## -*- coding: utf-8 -*-
|
||||
<html>
|
||||
<body>
|
||||
<p>At ${now.strftime("%Y-%m-%d %I:%M %p")} the Tempmon server failed to locate readings for ${client}.<br>
|
||||
This client is now marked as offline. Investigate asap.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue