X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcmd%2Fmon_healthcheck.py;h=99ec1d3f2f015a443590c642eda7b6597af69231;hb=refs%2Fheads%2Ffeature7928;hp=412410bf221cc6f89dc7cbb66d2f0686c38ee131;hpb=de3d570360a0a31d3054a6ff72b09ae9f559b59c;p=osm%2FMON.git diff --git a/osm_mon/cmd/mon_healthcheck.py b/osm_mon/cmd/mon_healthcheck.py index 412410b..99ec1d3 100644 --- a/osm_mon/cmd/mon_healthcheck.py +++ b/osm_mon/cmd/mon_healthcheck.py @@ -19,25 +19,24 @@ # For those usages not covered by the Apache License, Version 2.0 please # contact: bdiaz@whitestack.com or glavado@whitestack.com ## - +import argparse import logging import subprocess import sys -import uuid import requests -from osm_mon.core.message_bus.consumer import Consumer - log = logging.getLogger(__name__) def main(): - # Check Kafka + parser = argparse.ArgumentParser(prog='osm-mon-healthcheck') + parser.add_argument('--config-file', nargs='?', help='MON configuration file') + # args = parser.parse_args() + # cfg = Config(args.config_file) + if not _processes_running(): sys.exit(1) - if not _is_kafka_ok(): - sys.exit(1) if not _is_prometheus_exporter_ok(): sys.exit(1) sys.exit(0) @@ -49,11 +48,13 @@ def _processes_running(): if process_name in row: return True return False + processes_to_check = ['osm-mon-collector', 'osm-mon-evaluator', 'osm-mon-server'] ps = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE).communicate()[0] - processes_running = ps.split('\n') + processes_running = ps.decode().split('\n') for p in processes_to_check: if not _contains_process(processes_running, p): + log.error("Process %s not running!" % p) return False return True @@ -68,18 +69,5 @@ def _is_prometheus_exporter_ok(): return False -def _is_kafka_ok(): - try: - common_consumer = Consumer("mon-healthcheck-" + str(uuid.uuid4())) - topics = ['alarm_request', 'vim_account'] - common_consumer.subscribe(topics) - common_consumer.poll() - common_consumer.close(autocommit=False) - return True - except Exception: - log.exception("MON can not connect to Kafka") - return False - - if __name__ == '__main__': main()