jojo 2 612 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
mprinfo 3 336 Signaler ce message Posté(e) 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... Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 7 septembre 2015 en effet, je la laisse un soir, et elle se venge immédiatement. Pas gentile Partager ce message Lien à poster Partager sur d’autres sites
mprinfo 3 336 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 477 Signaler ce message Posté(e) 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é 7 septembre 2015 par Lazer Partager ce message Lien à poster Partager sur d’autres sites
Nico 2 158 Signaler ce message Posté(e) 7 septembre 2015 Et comment tu fais pour que le câble réseau se débranche... ? Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
mprinfo 3 336 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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 ? Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 477 Signaler ce message Posté(e) 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é 8 septembre 2015 par Lazer Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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é) Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 8 septembre 2015 bon, j'ai trouvé mon erreur. Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 477 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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) Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 477 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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 ... Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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 ? Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 477 Signaler ce message Posté(e) 9 septembre 2015 Dans le else, il manque les antislash devant les double quote lors de l'appel àphp Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 9 septembre 2015 oh la honte ! merci Lazer, et sorry de t'avoir dérangé pour des bêtises comme ça Partager ce message Lien à poster Partager sur d’autres sites
mprinfo 3 336 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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 ??? Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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) Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites
Lazer 8 477 Signaler ce message Posté(e) 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. Partager ce message Lien à poster Partager sur d’autres sites
jojo 2 612 Signaler ce message Posté(e) 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 Partager ce message Lien à poster Partager sur d’autres sites