projects
/
osm
/
MON.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reformat MON to standardized format
[osm/MON.git]
/
osm_mon
/
evaluator
/
evaluator.py
diff --git
a/osm_mon/evaluator/evaluator.py
b/osm_mon/evaluator/evaluator.py
index
2f22625
..
2d319c9
100644
(file)
--- a/
osm_mon/evaluator/evaluator.py
+++ b/
osm_mon/evaluator/evaluator.py
@@
-25,11
+25,9
@@
import logging
import multiprocessing
import time
import multiprocessing
import time
-import peewee
-
from osm_mon.core.config import Config
from osm_mon.core.config import Config
-from osm_mon.core.database import Alarm
from osm_mon.core.message_bus_client import MessageBusClient
from osm_mon.core.message_bus_client import MessageBusClient
+from osm_mon.core.models import Alarm
from osm_mon.core.response import ResponseBuilder
from osm_mon.evaluator.service import EvaluatorService, AlarmStatus
from osm_mon.core.response import ResponseBuilder
from osm_mon.evaluator.service import EvaluatorService, AlarmStatus
@@
-37,7
+35,6
@@
log = logging.getLogger(__name__)
class Evaluator:
class Evaluator:
-
def __init__(self, config: Config, loop=None):
self.conf = config
if not loop:
def __init__(self, config: Config, loop=None):
self.conf = config
if not loop:
@@
-47,43
+44,44
@@
class Evaluator:
self.msg_bus = MessageBusClient(config)
def evaluate_forever(self):
self.msg_bus = MessageBusClient(config)
def evaluate_forever(self):
- log.debug(
'evaluate_forever'
)
+ log.debug(
"evaluate_forever"
)
while True:
try:
self.evaluate()
while True:
try:
self.evaluate()
- time.sleep(int(self.conf.get('evaluator', 'interval')))
- except peewee.PeeweeException:
- log.exception("Database error evaluating alarms: ")
- raise
+ time.sleep(int(self.conf.get("evaluator", "interval")))
except Exception:
log.exception("Error evaluating alarms")
def evaluate(self):
except Exception:
log.exception("Error evaluating alarms")
def evaluate(self):
- log.debug('evaluate')
+ log.debug("evaluate")
+ log.info("Starting alarm evaluation")
alarms_tuples = self.service.evaluate_alarms()
processes = []
for alarm, status in alarms_tuples:
alarms_tuples = self.service.evaluate_alarms()
processes = []
for alarm, status in alarms_tuples:
- p = multiprocessing.Process(target=self.notify_alarm,
- args=(alarm, status))
+ p = multiprocessing.Process(target=self.notify_alarm, args=(alarm, status))
p.start()
processes.append(p)
for process in processes:
process.join(timeout=10)
p.start()
processes.append(p)
for process in processes:
process.join(timeout=10)
+ log.info("Alarm evaluation is complete")
def notify_alarm(self, alarm: Alarm, status: AlarmStatus):
def notify_alarm(self, alarm: Alarm, status: AlarmStatus):
- log.debug("notify_alarm")
+ log.debug("
_
notify_alarm")
resp_message = self._build_alarm_response(alarm, status)
log.info("Sent alarm notification: %s", resp_message)
resp_message = self._build_alarm_response(alarm, status)
log.info("Sent alarm notification: %s", resp_message)
- self.loop.run_until_complete(self.msg_bus.aiowrite('alarm_response', 'notify_alarm', resp_message))
+ self.loop.run_until_complete(
+ self.msg_bus.aiowrite("alarm_response", "notify_alarm", resp_message)
+ )
def _build_alarm_response(self, alarm: Alarm, status: AlarmStatus):
def _build_alarm_response(self, alarm: Alarm, status: AlarmStatus):
+ log.debug("_build_alarm_response")
response = ResponseBuilder()
tags = {}
response = ResponseBuilder()
tags = {}
- for
tag in alarm.tags
:
- tags[
tag.name] = tag.
value
+ for
name, value in alarm.tags.items()
:
+ tags[
name] =
value
now = time.strftime("%d-%m-%Y") + " " + time.strftime("%X")
return response.generate_response(
now = time.strftime("%d-%m-%Y") + " " + time.strftime("%X")
return response.generate_response(
-
'notify_alarm'
,
+
"notify_alarm"
,
alarm_id=alarm.uuid,
metric_name=alarm.metric,
operation=alarm.operation,
alarm_id=alarm.uuid,
metric_name=alarm.metric,
operation=alarm.operation,
@@
-91,4
+89,5
@@
class Evaluator:
sev=alarm.severity,
status=status.value,
date=now,
sev=alarm.severity,
status=status.value,
date=now,
- tags=tags)
+ tags=tags,
+ )