X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcollector%2Fbackends%2Fprometheus.py;h=a9bb93803818653c70cbd51b33af035b2f250bc1;hb=cd8d60cb0d0c8f5e8247fbd4a1040f047b631f27;hp=31f31226ad97e51799eda81ec26b230a827360a0;hpb=9604945f57dbff85cf7948b475d6e86a0e5a2c90;p=osm%2FMON.git diff --git a/osm_mon/collector/backends/prometheus.py b/osm_mon/collector/backends/prometheus.py index 31f3122..a9bb938 100644 --- a/osm_mon/collector/backends/prometheus.py +++ b/osm_mon/collector/backends/prometheus.py @@ -31,45 +31,44 @@ from osm_mon.collector.metric import Metric log = logging.getLogger(__name__) -OSM_METRIC_PREFIX = 'osm_' +OSM_METRIC_PREFIX = "osm_" class PrometheusBackend(BaseBackend): - def __init__(self): self.custom_collector = CustomCollector() self._start_exporter(8000) def handle(self, metrics: List[Metric]): - log.debug('handle') - log.debug('metrics: %s', metrics) + log.debug("handle") + log.debug("metrics: %s", metrics) prometheus_metrics = {} for metric in metrics: if metric.name not in prometheus_metrics: prometheus_metrics[metric.name] = GaugeMetricFamily( OSM_METRIC_PREFIX + metric.name, - 'OSM metric', - labels=['ns_id', 'vnf_member_index', 'vdu_name'] + "OSM metric", + labels=list(metric.tags.keys()), ) - prometheus_metrics[metric.name].add_metric([metric.nsr_id, metric.vnf_member_index, metric.vdur_name], - metric.value) + prometheus_metrics[metric.name].add_metric( + list(metric.tags.values()), metric.value + ) self.custom_collector.metrics = prometheus_metrics.values() def _start_exporter(self, port): - log.debug('_start_exporter') - log.debug('port: %s', port) + log.debug("_start_exporter") + log.debug("port: %s", port) REGISTRY.register(self.custom_collector) log.info("Starting MON Prometheus exporter at port %s", port) start_http_server(port) class CustomCollector(object): - def __init__(self): self.metrics = [] def describe(self): - log.debug('describe') + log.debug("describe") return [] def collect(self):