X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=osm_mon%2Fcollector%2Fvnf_collectors%2Fjuju.py;h=1ca8bf591043db6ca94304eab3d495ade2fea202;hb=8a77165ce022c148d39cfa45a5090cb19bcb3833;hp=a73f1bbe24ed78243ef41f9d7e9a6005218bb08f;hpb=cee3b8656b4eef1c9dda980191a3463a5fdb2a67;p=osm%2FMON.git diff --git a/osm_mon/collector/vnf_collectors/juju.py b/osm_mon/collector/vnf_collectors/juju.py index a73f1bb..1ca8bf5 100644 --- a/osm_mon/collector/vnf_collectors/juju.py +++ b/osm_mon/collector/vnf_collectors/juju.py @@ -40,8 +40,10 @@ class VCACollector(BaseCollector): super().__init__(config) self.common_db = CommonDbClient(config) self.loop = asyncio.get_event_loop() - self.n2vc = N2VC(server=config.get('vca', 'host'), user=config.get('vca', 'user'), - secret=config.get('vca', 'secret')) + self.n2vc = N2VC(server=config.get('vca', 'host'), + user=config.get('vca', 'user'), + secret=config.get('vca', 'secret'), + ca_cert=config.get('vca', 'cacert')) def collect(self, vnfr: dict) -> List[Metric]: nsr_id = vnfr['nsr-id-ref'] @@ -54,7 +56,7 @@ class VCACollector(BaseCollector): if vnfr['_admin']['projects_read']: tags['project_id'] = vnfr['_admin']['projects_read'][0] else: - tags['project_id'] = None + tags['project_id'] = '' metrics = [] for vdur in vnfr['vdur']: @@ -78,7 +80,7 @@ class VCACollector(BaseCollector): for measure in measure_list: log.debug("Measure: %s", measure) metric = VnfMetric(nsr_id, vnf_member_index, vdur['name'], measure['key'], - float(measure['value'], tags)) + float(measure['value']), tags) metrics.append(metric) if 'vnf-configuration' in vnfd and 'metrics' in vnfd['vnf-configuration']: try: @@ -88,11 +90,19 @@ class VCACollector(BaseCollector): return metrics measures = self.loop.run_until_complete(self.n2vc.GetMetrics(vca_deployment_info['model'], vca_deployment_info['application'])) + # Search for Mgmt VDU name, needed to query Prometheus based on alarm tags + # TODO: check a better way to look for Mgmt VDU + for vdur in vnfr['vdur']: + for interface in vdur['interfaces']: + if 'mgmt-vnf' in interface: + vdu_name = vdur['name'] + break log.debug('Measures: %s', measures) for measure_list in measures.values(): for measure in measure_list: log.debug("Measure: %s", measure) - metric = VnfMetric(nsr_id, vnf_member_index, '', measure['key'], float(measure['value'], tags)) + metric = VnfMetric(nsr_id, vnf_member_index, vdu_name, + measure['key'], float(measure['value']), tags) metrics.append(metric) return metrics