jojo Posté(e) le 7 septembre 2015 Signaler Posté(e) le 7 septembre 2015 Aujourd'hui j'ai eu la mauvaise surprise de ne pas pouvoir me connecter à mon HC2 car le câble réseau était débranché. La bonne nouvelle, c'est que la HC2 a continué son travail z-wave impeccable, mais plus de notifications, ... En regardant les logs (erreurs google calendar, pas d'historiques de températures etc via l'appli de Lazer), j'ai vu que cela durait depuis hier soir 18h25. (ndlr : ce n'est pas bien jojo, d'avoir délaissé ta box une soirée complète ...) Alors, je me disais, de la même manière que la box peut faire des ping sur notre Synology (http://www.domotique-fibaro.fr/index.php/topic/5682-synology-monitoring/), ne pourrait-on pas demander à notre Synology de monitorer notre box, et si x ping infructueux, envoyer un mail ? Perso je suis incapable de faire un truc comme ça, mais je sais que cela doit être super simple. Alors si quelqu'un pouvait écrire un petit script ET expliquer comment le mettre en oeuvre sur un Syno (autrement que simplement dire : tu fais un crontab. Oui je connais le terme et la fonctionnalité, mais suis incapable de le mettre en oeuvre) je l'appelle Dieu. MERCI 1
mprinfo Posté(e) le 7 septembre 2015 Signaler Posté(e) le 7 septembre 2015 Je ne connais qu'un seul dieu sur ce forum enfin qui porte le nom de dieu. lol C'est pas bien jojo de délaisser ça box comme cela elle va finir par bugger...
jojo Posté(e) le 7 septembre 2015 Auteur Signaler Posté(e) le 7 septembre 2015 en effet, je la laisse un soir, et elle se venge immédiatement. Pas gentile
mprinfo Posté(e) le 7 septembre 2015 Signaler Posté(e) le 7 septembre 2015 MDR c'est pour cela que l'on dit UNE box et non UN box Jojo il y a un topic sur synology qui pourrait nous interessé car il parle de l'api moi je suis juste arrivé a me connecté avec mes identifiant via l'api mais j'arrive pas plus loin
Lazer Posté(e) le 7 septembre 2015 Signaler Posté(e) le 7 septembre 2015 (modifié) ping -c 6 -i 10 192.168.x.y if [ $? -ne 0 ] then echo "Attention, la box ne pingue plus depuis 1 minute" | mail -s "Ping error" fi Fait à l'arrache, pas testé. Pour l'intégration au Syno, faut créer un script Shell, puis tu peux créer une tâche planifiée pour exécuter ce script à intervale régulier (1 fois toutes les minutes). Y'a plein de tutos pour ça sur le net. EDIT : j'ai un doute, pas certain que la commande "mail" fonctionne sous DSM, à tester.... Modifié le 7 septembre 2015 par Lazer
Nico Posté(e) le 7 septembre 2015 Signaler Posté(e) le 7 septembre 2015 Et comment tu fais pour que le câble réseau se débranche... ?
jojo Posté(e) le 7 septembre 2015 Auteur Signaler Posté(e) le 7 septembre 2015 @Lazer, Merci beaucoup, je testerai cela demain. Maintenant j'ai les neurones qui s'entre-choquent. Je me disais bien qu'en disant que j'appellerais la personne Dieu, je ne prenais pas beaucoup de risque, étant donné que tu es déjà le Dieu du forum ... @nico, j'ai chipoté la derrière. La probabilité que cette erreur se reproduise est minime. Mais pourquoi pas faire du monitoring de mon outil de monitoring et contrôle.
mprinfo Posté(e) le 7 septembre 2015 Signaler Posté(e) le 7 septembre 2015 Le push ne fonctionne plus sur xpenoboot depuis dsm 5 mais les mail fonctionne très bien Envoyé de mon SM-G900F en utilisant Tapatalk
jojo Posté(e) le 8 septembre 2015 Auteur Signaler Posté(e) le 8 septembre 2015 @Lazer, Un tout grand merci. J'ai trouvé sur le net comment envoyer le mail. Je posterai ici même la solution finale. Dernier petit détail pour faire joli, je voudrais mettre l'ip à pinguer dans une variable (histoire qu'elle se trouvent dans le mail), mais je n'arrive pas à faire le test du ping. J'ai essayé ceci : ip=192.168.2.96; ping -c 6 -i 10 $ip if [ $? -ne 0 ] then /usr/bin/php -r "mail('$to', '$subject', '$body', '');"; /usr/syno/bin/synodsmnotify "@administrators" "System Event" "${outcome}"; fi mais ça ne fonctionne pas. Où est l'erreur ?
Lazer Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 (modifié) y'a plusieurs erreurs Bon déjà la commande ping n'est pas standard, je viens de vérifier les bons arguments. Ensuite on ne met jamais de ";" de fin de ligne en Shell La gestion des guillemets est un peu délicate. Les accolades autour des nom de variables c'est plus propre (mais pas forcément joli) Essaye ça, avec les variables définies comme suit : IP=192.168.2.96 /bin/ping -c 60 -w 60 ${IP} if [ $? -ne 0 ] then TO="mail@domain.com" SUBJECT="Ping error" BODY="La box HC2 ${IP} ne ping pas depuis 1 minute" OUTCOME=${BODY} HEADERS="From: ${TO}" /usr/bin/php -r "mail(\"${TO}\", \"${SUBJECT}\", \"${BODY}\", \"${HEADERS}\");" /usr/syno/bin/synodsmnotify "@administrators" "System Event" "${OUTCOME}" fi Modifié le 8 septembre 2015 par Lazer
jojo Posté(e) le 8 septembre 2015 Auteur Signaler Posté(e) le 8 septembre 2015 Merci Lazer, Tout fonctionne nickel, sauf l'envoi de mail. Je continue de chercher (car cela fonctionnait avec le script (qui était incomplet) que j'avais posté)
jojo Posté(e) le 8 septembre 2015 Auteur Signaler Posté(e) le 8 septembre 2015 bon, j'ai trouvé mon erreur.
Lazer Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 Cool tu feras un tutoriel complet ? J'ai un doute sur le ping... Que se passe-t-il si la box ping la moitié du temps pendant la minute ? J'ai pas testé, j'étais àdistance. Je pense qu'il va envoyer le mail quand-même.
jojo Posté(e) le 8 septembre 2015 Auteur Signaler Posté(e) le 8 septembre 2015 avec plaisir que je ferai un tutorial complet Dieu. Ceci dit pour le ping peux-tu m'expliquer la signification des paramètres, histoire que je teste. /bin/ping -c 60 -w 60 ${IP} Car dans l'interface Syno, c'est HYPER simple de mettre ce script. Il propose même la fréquence d'exécution du script (toutes les 1, 5 min ou 1,2, ... heures)
Lazer Posté(e) le 8 septembre 2015 Signaler Posté(e) le 8 septembre 2015 DiskStation> ping --help BusyBox v1.16.1 (2015-05-11 02:57:09 CST) multi-call binary. Usage: ping [OPTIONS] HOST Send ICMP ECHO_REQUEST packets to network hostsOptions: -4, -6 Force IP or IPv6 name resolution -c CNT Send only CNT pings -s SIZE Send SIZE data bytes in packets (default:56) -I IFACE/IP Use interface or IP address as source -W SEC Seconds to wait for the first response (default:10) (after all -c CNT packets are sent) -w SEC Seconds until ping exits (default:infinite) (can exit earlier with -c CNT) -q Quiet, only displays output at start and when finished
jojo Posté(e) le 9 septembre 2015 Auteur Signaler Posté(e) le 9 septembre 2015 du coup je proposerais /bin/ping -c 1 ${IP} ou (c'est le même ?) /bin/ping ${IP} et avec une fréquence toutes les minutes du script, comme ça ce serait cohérent avec le ping que la HC2 fait. Donc je reçois une alerte si le ping n'a pas fonctionné. Si j'ai juste un mail, soit, mais s'il se reproduit toutes les minutes, alors action ...
jojo Posté(e) le 9 septembre 2015 Auteur Signaler Posté(e) le 9 septembre 2015 J'ai un comportement TRES TRES TRES bizarre sur mes 2 NAS : Hier tout fonctionnait IMPPECABLE. Aujourd'hui, le script ne s'exécute qu'une seule fois. Et puis il faut faire un reboot du synology pour qu'il se relance. De plus, même quand (via l'interface Synology) on veut l'exécuter, il n'y a rien qui se passe. Voici le script : /usr/syno/bin/synodsmnotify "@administrators" "System Event" "Démarrage script Ping HC2" IP=192.168.2.xxx /bin/ping -c 1 -w 1 ${IP} if [ $? -ne 0 ] then TO="xxx@gmail.com" SUBJECT="HC2 Ping error" BODY="La box HC2 (${IP}) ne ping plus (test toutes les minutes)" OUTCOME=${BODY} HEADERS="From: ${TO}" /usr/bin/php -r "mail(\"${TO}\", \"${SUBJECT}\", \"${BODY}\", \"${HEADERS}\");" /usr/syno/bin/synodsmnotify "@administrators" "System Event" "${OUTCOME}" else TO="xxx@gmail.com" SUBJECT="HC2 Ping ok" BODY="La box HC2 ${IP} ping ok" OUTCOME=${BODY} HEADERS="From: ${TO}" /usr/bin/php -r "mail('${TO}', '${SUBJECT}', '${BODY}', '${HEADERS}');" /usr/syno/bin/synodsmnotify "@administrators" "System Event" "${OUTCOME}" fi une idée ?
Lazer Posté(e) le 9 septembre 2015 Signaler Posté(e) le 9 septembre 2015 Dans le else, il manque les antislash devant les double quote lors de l'appel àphp
jojo Posté(e) le 9 septembre 2015 Auteur Signaler Posté(e) le 9 septembre 2015 oh la honte ! merci Lazer, et sorry de t'avoir dérangé pour des bêtises comme ça
mprinfo Posté(e) le 9 septembre 2015 Signaler Posté(e) le 9 septembre 2015 Et non jojo tu apprends moi j'y comprends rien a ton truc Je comprends juste ce que tu veux faire Envoyé de mon SM-G900F en utilisant Tapatalk
jojo Posté(e) le 9 septembre 2015 Auteur Signaler Posté(e) le 9 septembre 2015 dès que tout sera prêt, je fais un super auto au nom de Lazer. Maintenant j'essaye de comprendre pourquoi il me dit qu'il ne sait pas pinger, alors que ma HC2 est uo ???
jojo Posté(e) le 9 septembre 2015 Auteur Signaler Posté(e) le 9 septembre 2015 ;-) j'ai trouvé. Il faut être root pour que le ping fonctionne, admin ne suffit pas (bien que suffisant pour les notifications et mails)
jojo Posté(e) le 10 septembre 2015 Auteur Signaler Posté(e) le 10 septembre 2015 J'essaie de paufinner cela au max avant de faire un tuto. voici ce que j'ai : IP=192.168.xxx.xxx TO="xxx@gmail.com" HOST=$(/bin/hostname) /bin/ping -c 1 -w 10 ${IP} if [ $? -ne 0 ] then SUBJECT="HC2 Ping error" BODY="La box HC2 (${IP}) ne ping plus (test toutes les minutes).\n\nSynology DiskStation\n\nFrom ${HOST}" HEADERS="From: ${TO}" NOTIF="${SUBJECT} - ${IP}" /usr/bin/php -r "mail(\"${TO}\", \"${SUBJECT}\", \"${BODY}\", \"${HEADERS}\");" /usr/syno/bin/synodsmnotify "@administrators" "System Event" "${NOTIF}" fi J'ai trouvé ici le code pour l'envois des mails et la récupération des valeurs de config du Syno http://forum.synology.com/enu/viewtopic.php?f=32&t=79334 Je peux récupérer le hosname, mais j'aimerais bien récupérer l'e-mail qui est configuré comme récepteur, et ce qu'il propose ne fonctionne pas. Et si je pouvais aussi récupérer le nom de la tâche en cours, ce serait sympa Après, je pense que c'est bon pour le tuto
Lazer Posté(e) le 10 septembre 2015 Signaler Posté(e) le 10 septembre 2015 hum làcomme ça, je ne sais pas.... je n'ai jamais scripté sur le Syno. Et tous mes scripts tournent sur des VM Linux standard.
jojo Posté(e) le 10 septembre 2015 Auteur Signaler Posté(e) le 10 septembre 2015 ok, merci @ Lazer. A part @Lazer, y a-t-il d'autres membres qui pourrait m'aider ? Sinon, je publie tel quel
Messages recommandés