Es sind Dinge grün/OK die aber eigentlich kaputt sind (stale checks)

Die Lösung war so leicht und so offensichtlich, dass ich sie nicht gesehen habe
und viel zu kompliziert gedacht habe:

Durch hinzufügen der Zeile 21 habe ich das Verhalten erreicht,
wie unsere User das wünschen: Fehlen die Daten in der Agent Section wird der Check rot.

Oder genauer gesagt:
Wenn in der info list kein thing drinn ist, dann hau einfach ein critical raus für item:

 14 def json_health_check(item, params, info):
 15   for status, thing in info:
 16     if item == thing:
 17       if status == 'healthy' or status == 'UP' or status == 'ok':
 18         return 0, "%s status is %s" % (item, status)
 19       else:
 20         return 2, "%s status is %s" % (item, status)
 21   return 2, "could not get current item data"

Ja, der check ist noch einer mit der alten plugin API geschrieben.

1 Like