#!/usr/bin/env python3 from flask import Flask, Response from subprocess import check_output app = Flask(__name__) @app.route('/status') def statuspage(): try: check_output(['/usr/lib/nagios/plugins/check_procs', '-C', 'icinga2', '-c', '1:']) # check_output will raise an exception if there is a non-zero status icinga_is_fine = True except: icinga_is_fine = False try: check_output(['/usr/lib/nagios/plugins/check_procs', '-C', 'postgres', '-c', '1:']) # check_output will raise an exception if there is a non-zero status postgres_is_fine = True except: postgres_is_fine = False if icinga_is_fine and postgres_is_fine: return 'OK', 200 else: return 'Something is wrong!', 500