warning about missing prometheus endpoint happens only once

This commit is contained in:
Julius Unverfehrt 2022-03-17 14:06:48 +01:00
parent 5a382f22c3
commit ea49b001be

View File

@ -6,7 +6,6 @@ from waitress import serve
from pyinfra.config import CONFIG
logger = logging.getLogger(__file__)
logger.setLevel(CONFIG.service.logging_level)
@ -31,6 +30,7 @@ def run_probing_webserver(app, host=None, port=None, mode=None):
def set_up_probing_webserver():
# TODO: implement meaningful checks
app = Flask(__name__)
informed_about_missing_prometheus_endpoint = False
@app.route("/ready", methods=["GET"])
def ready():
@ -46,12 +46,15 @@ def set_up_probing_webserver():
@app.route("/prometheus", methods=["GET"])
def get_metrics_from_analysis_endpoint():
nonlocal informed_about_missing_prometheus_endpoint
try:
resp = requests.get(f"{CONFIG.rabbitmq.callback.analysis_endpoint}/prometheus")
resp.raise_for_status()
return resp.text
except Exception as err:
logger.warning(f"Got no metrics from analysis prometheus endpoint: {err}")
if not informed_about_missing_prometheus_endpoint:
logger.warning(f"Got no metrics from analysis prometheus endpoint: {err}")
informed_about_missing_prometheus_endpoint = True
return resp
return app