Passed
Push — master ( 77bb10...a1fcf2 )
by Vlad
04:33
created

__main__   A

Complexity

Total Complexity 0

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 0
eloc 25
dl 0
loc 35
rs 10
c 0
b 0
f 0
1
#!env python
2
import asyncio
3
import logging
4
import sys
5
6
from prometheus_client.core import REGISTRY
7
from prometheus_client.exposition import start_http_server
8
9
from config import Config
10
from kibana_collector import KibanaCollector
11
12
logger = logging.getLogger(__name__)
13
14
try:
15
    config = Config()
16
except ValueError:
17
    logger.critical('Invalid configuration. Exiting.')
18
    sys.exit(1)
19
20
21
logger.info('Starting Kibana Prometheus exporter version %s\n' % config.version + config.description())
22
23
REGISTRY.register(KibanaCollector(config.kibana_url,
24
                                  kibana_login=config.kibana_login,
25
                                  kibana_password=config.kibana_password))
26
27
start_http_server(config.listen_port)
28
29
loop = asyncio.get_event_loop()
30
try:
31
    loop.run_forever()
32
except KeyboardInterrupt:
33
    loop.stop()
34
    loop.close()
35