2020-11-22 17:53:57 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
from subprocess import check_output
|
|
|
|
|
2021-02-12 19:37:36 +00:00
|
|
|
from flask import Flask
|
|
|
|
|
2020-11-22 17:53:57 +00:00
|
|
|
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
|
2021-02-12 19:37:36 +00:00
|
|
|
|
|
|
|
return 'Something is wrong!', 500
|