X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fplugins%2FCloudWatch%2Fplugin_metric.py;h=b6508a5dc6d59f8831cf2318578120d3094e44d7;hb=6c10123aa1538801c01d20f659197918967a9b7f;hp=6b9598fdf946a8d2fbb2f2fbf90cbd1f321300c7;hpb=767619b30dc95631d7dd54a4e17cac125c37b7aa;p=osm%2FMON.git diff --git a/osm_mon/plugins/CloudWatch/plugin_metric.py b/osm_mon/plugins/CloudWatch/plugin_metric.py index 6b9598f..b6508a5 100644 --- a/osm_mon/plugins/CloudWatch/plugin_metric.py +++ b/osm_mon/plugins/CloudWatch/plugin_metric.py @@ -33,26 +33,15 @@ from metric_alarms import MetricAlarm from metrics import Metrics sys.path.append("../../core/message_bus") from producer import KafkaProducer -import logging as log +import logging + +log = logging.getLogger(__name__) class plugin_metrics(): """Receives Alarm info from MetricAlarm and connects with the consumer/producer """ def __init__ (self): - self.conn = Connection() self.metric = Metrics() self.producer = KafkaProducer('') - self.connection() -#--------------------------------------------------------------------------------------------------------------------------- - def connection(self): - try: - """Connecting instances with CloudWatch""" - self.conn.setEnvironment() - self.conn = self.conn.connection_instance() - self.cloudwatch_conn = self.conn['cloudwatch_connection'] - self.ec2_conn = self.conn['ec2_connection'] - - except Exception as e: - log.error("Failed to Connect with AWS %s: " + str(e)) #--------------------------------------------------------------------------------------------------------------------------- def create_metric_request(self,metric_info): '''Comaptible API using normalized parameters''' @@ -81,18 +70,13 @@ class plugin_metrics(): return data_resp #--------------------------------------------------------------------------------------------------------------------------- - def metric_calls(self,message): - '''Consumer will consume the message from SO, - 1) parse the message and trigger the methods ac - cording to keys and topics provided in request. - - 2) The response from plugin is saved in json format. - - 3) The producer object then calls the producer response - methods to send the response back to message bus - ''' + def metric_calls(self,message,aws_conn): + """Gets the message from the common consumer""" try: + self.cloudwatch_conn = aws_conn['cloudwatch_connection'] + self.ec2_conn = aws_conn['ec2_connection'] + metric_info = json.loads(message.value) metric_response = dict()