Total Complexity | 0 |
Total Lines | 35 |
Duplicated Lines | 0 % |
Changes | 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 |