From 95ffe16b7cfddbcac39bdc9309c648fdd4d71787 Mon Sep 17 00:00:00 2001 From: Quentin Duchemin <quentinduchemin@tuta.io> Date: Wed, 3 Jun 2020 20:20:29 +0200 Subject: [PATCH] Again better reporting --- etherpad/etherpad.py | 5 ++--- main.py | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/etherpad/etherpad.py b/etherpad/etherpad.py index 0b2fdb0..2297ed1 100644 --- a/etherpad/etherpad.py +++ b/etherpad/etherpad.py @@ -42,7 +42,6 @@ class EtherpadCollector(object): for instance in self.instances: data = self._get_stats(instance) if data is None: - print('Unable to get stats from Etherpad instance : ' + instance['url']) continue # Create metrics metrics.append({ @@ -90,10 +89,10 @@ class EtherpadCollector(object): stats_plugin = requests.get(instance['url'] + "/stats.json") stats_native = requests.get(instance['url'] + "/stats") if stats_plugin.status_code != 200: - print("Unable to get stats.json : HTTP {}".format(stats_plugin.status_code)) + print("Unable to get stats.json from {} : HTTP {}".format(instance['name'], stats_plugin.status_code)) return None if stats_native.status_code != 200: - print("Unable to get stats : HTTP {}".format(stats_plugin.status_code)) + print("Unable to get stats from {} : HTTP {}".format(instance['name'], stats_plugin.status_code)) return None try: plugin = json.loads(stats_plugin.text) diff --git a/main.py b/main.py index fd00e00..c9ca30c 100644 --- a/main.py +++ b/main.py @@ -7,6 +7,7 @@ import json import os import sys +import time from urllib.parse import urlparse from influxdb import InfluxDBClient from etherpad import EtherpadCollector @@ -60,6 +61,7 @@ def influxb_connect(config): except Exception as e: print("Cannot connect to {} : {}".format(o.hostname, e)) print("If InfluxDB has just started, this is normal, please wait!") + return None def main(): @@ -78,6 +80,10 @@ def main(): print('You need to add InfluxDB configuration on your config file.') sys.exit(1) influx_client = influxb_connect(config['influxdb']) + while influx_client is None: + print("InfluxDB not available, retrying in 5 seconds...") + time.sleep(5) + influx_client = influxb_connect(config['influxdb']) # Get Etherpad metrics and push to InfluxDB if 'etherpad' in config['modules']: -- GitLab