Added alarm ttl
This commit is contained in:
parent
d5a16b2565
commit
c025bab4c2
|
@ -119,6 +119,7 @@ def main(argv=None):
|
|||
alarms,
|
||||
notifications,
|
||||
finished,
|
||||
config['processors']['alarm']['ttl'],
|
||||
config['mysql']['host'],
|
||||
config['mysql']['user'],
|
||||
config['mysql']['passwd'],
|
||||
|
|
|
@ -3,6 +3,7 @@ import logging
|
|||
import MySQLdb
|
||||
import multiprocessing
|
||||
import statsd
|
||||
import time
|
||||
|
||||
from mon_notification.processors import BaseProcessor
|
||||
from mon_notification.notification import Notification
|
||||
|
@ -13,8 +14,11 @@ log = logging.getLogger(__name__)
|
|||
|
||||
|
||||
class AlarmProcessor(BaseProcessor):
|
||||
def __init__(self, alarm_queue, notification_queue, finished_queue, mysql_host, mysql_user, mysql_passwd, dbname):
|
||||
def __init__(
|
||||
self, alarm_queue, notification_queue, finished_queue,
|
||||
alarm_ttl, mysql_host, mysql_user, mysql_passwd, dbname):
|
||||
self.alarm_queue = alarm_queue
|
||||
self.alarm_ttl = alarm_ttl
|
||||
self.notification_queue = notification_queue
|
||||
self.finished_queue = finished_queue
|
||||
|
||||
|
@ -70,6 +74,12 @@ class AlarmProcessor(BaseProcessor):
|
|||
log.debug("Read alarm from alarms sent_queue. Partition %d, Offset %d, alarm data %s"
|
||||
% (partition, offset, alarm))
|
||||
|
||||
alarm_age = time.time() - alarm['timestamp'] # Should all be in seconds since epoch
|
||||
if alarm_age/60 > self.alarm_ttl: # ttl is in minutes not seconds
|
||||
self._add_to_queue(self.finished_queue, 'finished', (partition, offset))
|
||||
log.warn('Received alarm older than the ttl, skipping. Alarm from %s' % time.ctime(alarm['timestamp']))
|
||||
continue
|
||||
|
||||
try:
|
||||
with db_time.time():
|
||||
cur.execute("SELECT notification_method_id FROM alarm_action WHERE alarm_id = %s", alarm['alarmId'])
|
||||
|
|
|
@ -21,6 +21,7 @@ email:
|
|||
processors:
|
||||
alarm:
|
||||
number: 2
|
||||
ttl: 1440 # In minutes, Alarms older than this are not processed
|
||||
notification:
|
||||
number: 4
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{"alarm-transitioned":{"tenantId":"0","alarmId":"0","alarmName":"test Alarm","oldState":"OK","newState":"ALARM","stateChangeReason":"I am alarming!","timestamp":1394641255}}
|
||||
{"alarm-transitioned":{"tenantId":"0","alarmId":"1","alarmName":"test Okay","oldState":"ALARM","newState":"OK","stateChangeReason":"Okay, I am not alarming.","timestamp":1394641255}}
|
||||
{"alarm-transitioned":{"tenantId":"0","alarmId":"2","alarmName":"test Undetermined","oldState":"OK","newState":"UNDETERMINED","stateChangeReason":"Well, maybe I am alarming.","timestamp":1394641255}}
|
||||
{"alarm-transitioned":{"tenantId":"0","alarmId":"0","alarmName":"test Alarm","oldState":"OK","newState":"ALARM","stateChangeReason":"I am alarming!","timestamp":1395245059}}
|
||||
{"alarm-transitioned":{"tenantId":"0","alarmId":"1","alarmName":"test Okay","oldState":"ALARM","newState":"OK","stateChangeReason":"Okay, I am not alarming.","timestamp":1395245059}}
|
||||
{"alarm-transitioned":{"tenantId":"0","alarmId":"2","alarmName":"test Undetermined","oldState":"OK","newState":"UNDETERMINED","stateChangeReason":"Well, maybe I am alarming.","timestamp":1395245059}}
|
||||
|
|
Loading…
Reference in New Issue