ich habe hier einen HTTP Endpunkt einer Anwendung die Events über eine art Websocket raus gibt.
Ist aber technisch gesehen kein Websocket sondern eher ein lang laufender HTTP Request der im Stream immer wieder Status Daten raus wirft. z.B. all 10 Sekunden ein Heartbeat.
Wunsch ist es zu überwachen ob da regelmäßig Heartbeats vom Backend kommen.
Daher scheidet ein aktiver check über check_http meiner Meinung nach aus.
Idee ist derzeit einen Perl Daemon zu schreiben der sich permanent auf den Socket hängt und alle Daten ausliest und analysiert. Dieser Daemon schreibt alle 60 Sekunden Piggyback Daten ins Spool Verzeichnis des Agenten.
Eine richtig gute Idee hab ich auch grad nicht. Der HTTP Endpunkt bietet der die Daten in der Art an wie dies auch zum Beispiel die Prometheus Exporter machen? Oder ist der nicht direkt “befragbar”?
hänge mich mit curl -m 60 für 60 Sekunden an den Stream und parse die Events.
Daraus bilde ich mir statistik Daten und den Status und gebe die Performacedaten aus.
Das ganze schreibe ich als Piggyback Daten ins Spool Verzeichnis des Agenten des Hosts der die Checks per Cron ausführt.
Im Piggyback sind es dann Daten einer Local Checks.