@mike1098 & @r.sander, vielen Dank das sind sehr gute Ideen !
Die werde ich mal in Ruhe im Kopf reifen lassen.
Mein Special Agent ist noch primitiv und fängt gar nix ab:
#!/usr/bin/python3
import argparse
import requests
if __name__ == '__main__':
a = argparse.ArgumentParser()
ag = a.add_argument_group('required arguments')
ag.add_argument('--proto', required=True, help="proto [http|https]")
ag.add_argument('--host', required=True, help="host")
ag.add_argument('--port', required=True, help="port")
ag.add_argument('--path', required=True, help="path")
args = a.parse_args()
# section header
print('<<<json_status:sep(124)>>>')
# fire the request
r = requests.get(f"{args.proto}://{args.host}:{args.port}{args.path}")
if r.ok:
# TODO catch exception if json parsing fails
data = r.json()
# kind of overall status
if 'status' in data:
print(f"{data['status']}|status")
# components status (array)
if 'components' in data:
for item in data['components']:
print(f"{item['status']}|{item['name']}")
# details status (dict)
if 'details' in data:
for key, value in data['details'].items():
print(f"{value['status']}|{key}")