From d138db21ee1ba78a572c3b3754ebfb4fccdd0fc0 Mon Sep 17 00:00:00 2001 From: callmecabman Date: Sun, 1 Apr 2018 07:45:03 +0000 Subject: [PATCH 1/2] where are my filters? (untested) --- ZbxTgDaemon.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/ZbxTgDaemon.py b/ZbxTgDaemon.py index 01a3006..c0e71ec 100644 --- a/ZbxTgDaemon.py +++ b/ZbxTgDaemon.py @@ -48,7 +48,7 @@ def db_query(self, query): return result - def triggers(self): + def triggers(self, severity): q = "SELECT h.name AS host, h.hostid AS hostid, t.triggerid," \ "t.description AS `trigger`, t.priority AS severity, t.lastchange " \ "FROM triggers t " \ @@ -58,12 +58,16 @@ def triggers(self): "LEFT JOIN hosts_groups hg ON h.hostid = hg.hostid " \ "LEFT JOIN groups g ON hg.groupid = g.groupid " \ "LEFT JOIN interface ifa ON h.hostid = ifa.hostid AND ifa.main = 1 " \ - "WHERE t.value = 1 " \ + "WHERE " + "t.value = 1 " \ "AND h.status = 0 " \ "AND t.status = 0 " \ "AND i.status = 0 " \ - "AND t.priority > 0 " \ - "GROUP BY t.triggerid;" + if(severity): + q += "AND t.priority = {0}" \ + "GROUP BY t.triggerid;".format(severity) + else: + q += "AND t.priority > 0 " \ + "GROUP BY t.triggerid;" print q result = self.db_query(q) return result @@ -191,7 +195,8 @@ def md5(fname): #print type(message_id_last) if m["message"]["message_id"] > message_id_last: if re.search(r"^/triggers", text): - triggers = zbxdb.triggers() + severity = text[10:] + triggers = zbxdb.triggers(severity) if triggers: for t in triggers: reply_text.append("Severity: {0}, Host: {1}, Trigger: {2}".format( @@ -212,4 +217,4 @@ def md5(fname): if __name__ == "__main__": - main() \ No newline at end of file + main() From 7fcbec1f263bf376b0a4bb08440f5533d62ba211 Mon Sep 17 00:00:00 2001 From: callmecabman Date: Sun, 1 Apr 2018 08:02:04 +0000 Subject: [PATCH 2/2] where are my filters (tested) --- ZbxTgDaemon.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ZbxTgDaemon.py b/ZbxTgDaemon.py index c0e71ec..264b518 100644 --- a/ZbxTgDaemon.py +++ b/ZbxTgDaemon.py @@ -61,9 +61,9 @@ def triggers(self, severity): "WHERE " + "t.value = 1 " \ "AND h.status = 0 " \ "AND t.status = 0 " \ - "AND i.status = 0 " \ - if(severity): - q += "AND t.priority = {0}" \ + "AND i.status = 0 " + if severity: + q += "AND t.priority = {0} " \ "GROUP BY t.triggerid;".format(severity) else: q += "AND t.priority > 0 " \