Comme vous le savez peut être, la freebox est directement joignable avec le nom mafreebox.freebox.fr, et répond sur quelques ports tcp.
Juste ce qu'il nous faut :)

Commencons avec un

nmap -O mafreebox.freebox.fr pour avoir quelques infos :

Starting Nmap 4.62 ( http://nmap.org ) at 2010-12-26 18:03 CET
Interesting ports on freeplayer.freebox.fr (212.27.38.253):
Not shown: 1712 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
554/tcp  open  rtsp
9100/tcp open  jetdirect
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: remote management|WAP|general purpose|broadband router
Running (JUST GUESSING) : HP embedded (98%), Linksys embedded (94%), Linux 2.6.X (94%)
Aggressive OS guesses: HP Onboard Administrator management console (98%), Linksys WRT300N wireless broadband router (94%), Linux 2.6.18 - 2.6.22 (94%), Linksys WRV200 wireless broadband router (93%), Linux 2.6.15 - 2.6.20 (93%), Linux 2.6.20 (Ubuntu 7.04 server, x86) (90%), Linux 2.6.13 - 2.6.24 (90%), Linux 2.6.24 (Debian) (89%), Linux 2.6.22 - 2.6.23 (88%)
No exact OS matches for host (test conditions non-ideal).
Uptime: 3.228 days (since Thu Dec 23 12:35:21 2010)

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 31.066 seconds

Avec cette commmande, on indique à nmap de scanner la freebox et de deviner l'OS qui la fait tourner.
On peut y voir l'uptime :coolfuck:

Maintenant, affinons la commande pour ne scanner que le port 80 et ainsi réduire le temps de scan

nmap -O --osscan-guess -p80 mafreebox.freebox.fr

Starting Nmap 4.62 ( http://nmap.org ) at 2010-12-26 18:06 CET
Interesting ports on freeplayer.freebox.fr (212.27.38.253):
PORT   STATE SERVICE
80/tcp open  http
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: remote management
Running: HP embedded
OS details: HP Onboard Administrator management console
Uptime: 3.230 days (since Thu Dec 23 12:35:22 2010)

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.325 seconds

Et hop, on est passé à 2 secondes et demi.

Maintenant qu'on est capable de déterminer l'uptime de la freebox à distance, on peut alors utiliser cette commande pour créer un plugin pour Munin
J'ai donc écrit ce plugin et l'ai mis à disposition sur le site Munin Exchange, contenant tous les plugins créés pour munin
Comme munin effectue ses checks toutes les 5 minutes, j'ai fait en sorte que le plugin utilise un cache, et ainsi, détermine l'uptime toutes les 3 heures (c'est configurable of course)
De même, ce plugin remonte la date du dernier reboot, du dernier check, et la fréquence de check.
Dans une prochaine version, sera inclus l'envoi d'alarme pour détecter que la freebox a rebooté ;)

Voila un petit screen du plugin : FreeboxUptime.jpg

Le plugin est accessible ici : http://exchange.munin-monitoring.org/plugins/freeboxuptime/details/
Pour l'instant il est en cours de validation ,ce qui donne une erreur quand on essaye d'accéder au lien ci dessus.
Mais d'ici peu, il sera disponible

edit: en attendant que le plugin soit validé, vous pouvez le télécharger directement ici

Pour installer le plugin :
dézippez le puis mettez le script dans le dossier /usr/share/munin/plugins/, faites un lien symboliques vers /etc/munin/plugins/

unzip ./FreeboxUptime.zip
mv ./FreeboxUptime /usr/share/munin/plugins/
chmod +x /usr/share/munin/plugins/FreeboxUptime
ln -s /usr/share/munin/plugins/FreeboxUptime /etc/munin/plugins/FreeboxUptime

enfin, éditer le fichier /etc/munin/plugin-conf.d/munin-node et rajoutez y ces 2 lignes :

[FreeboxUptime]
user root

et redémarrez munin

/etc/init.d/munin-node restart

Enjoy :)