Wie monitored ihr eigentlich, ob es eine neue Firmware für den Heimrouter gibt?
Ich so:
❯ ssh router ':local c [/system routerboard get current-firmware]; :local u [/system routerboard get upgrade-firmware]; :local cdot [:find $c "."]; :local udot [:find $u "."]; :local cnum ([:tonum [:pick $c 0 $cdot]]*1000 + [:tonum [:pick $c ($cdot+1) [:len $c]]]); :local unum ([:tonum [:pick $u 0 $udot]]*1000 + [:tonum [:pick $u ($udot+1) [:len $u]]]); :if ($cnum=$unum) do={:put "Firmware is up to date"} else={:if ($unum>$cnum) do={:put ("Upgrade available: " . $c . " → " . $u)} else={:put ("Current firmware (" . $c . ") is newer than upgrade (" . $u . ")")}}'
Firmware is up to date
Daraus habe ich mir dann einen UserParameter in Zabbix gebaut, der ein Item befüttert, das dann im Falle einer neuen Firmware einen Trigger feuert, der mir denn eine Telegram-Nachricht schickt.
Die KI hat geholfen, hoffentlich korrekt - es ist nicht so, daß ich das Skript verstehen würde