Message populaire Lazer Posté(e) le 5 octobre 2015 Message populaire Signaler Posté(e) le 5 octobre 2015 (modifié) Network Monitor Version 1.20 Voici un module virtuel permettant de surveiller plusieurs équipements sur le réseau local (et aussi sur Internet), et d'envoyer des notifications en cas de problème détecté. Icônes : Je propose ces 2 icônes, mais d'autres icônes sont disponibles dans les pages du topic : Configuration : Après import du module virtuel, modifier la section "User Variables" du 1er bouton du module virtuel : -- User variables local userID = {5} -- Mail local smartphoneID = {73, 127} -- Push local sms = { ["VD_ID"] = 98, -- Virtual Device ID ["VD_Button"] = "1", -- Virtual Device Button ["VG_Name"] = "SMS" -- Global Variable Name } local icons = { ["OK"] = 1028, -- Normal Icon ID ["Error"] = 1045 -- Error Icon ID } local DEVICES = { -- ["Service Name"] = { IP Address , Port, Protocol, Data to send, Expected return code, Expected data, Retry, {Notification methods}, VG, VG }, ["Eco-Devices"] = {"192.168.1.1", 80, "http", "/index1.htm", 200, "Eco Devices" , 1, {"push", "email", "sms"}, nil, nil}, ["HP ProLiant Remote Access Card"] = {"192.168.1.2", 80, "http", "/login.html", 200, "Remote Access Card" , 1, { "email" }, nil, {"Vacances", "1"}}, ["HP ProLiant Gen8 ILO"] = {"192.168.1.3", 443, "tcp", "", nil, "" , 1, { "email" }, nil, nil}, ["ESXi"] = {"192.168.1.4", 80, "http", "/", 301, "" , 1, {"push", "email", "sms"}, nil, nil}, ["Synology DiskStation"] = {"192.168.1.5", 5000, "http", "/webman/index.cgi", 200, "DiskStation" , 1, {"push", "email", "sms"}, nil, nil}, ["Raspberry PI"] = {"192.168.1.6", 80, "http", "/", 200, "Welcome to nginx" , 1, {"push", "email", "sms"}, nil, nil}, ["Sonos"] = {"192.168.1.7", 1400, "http", "/status", 200, "Options" , 1, {"push", "email" }, nil, {"Vacances", "1"}}, ["SMS Gateway"] = {"192.168.1.8", 9090, "http", "/", 200, "Welcome to SMS Gateway" , 5, {"push", "email" }, nil, nil}, ["VRT-IP"] = {"192.168.1.9", 80, "http", "/", 200, "Volets Roulant de Toit" , 1, {"push", "email" }, nil, nil}, ["IPX800"] = {"192.168.1.10", 80, "http", "/user/index2.htm", 200, "IPX800" , 1, {"push", "email" }, nil, nil}, ["Foscam"] = {"192.168.1.11", 88, "http", "/", 200, "IPCam Client" , 1, {"push", "email", "sms"}, nil, {"Vacances", "0"}}, ["Hikvision"] = {"192.168.1.12", 80, "http", "/doc/page/login.asp", 200, "login" , 1, {"push", "email", "sms"}, nil, nil}, ["HAproxy"] = {"192.168.1.13", 80, "http", "/", 503, "" , 1, {"push", "email", "sms"}, nil, nil}, ["FHEM"] = {"192.168.1.14", 8083, "http", "/fhem", 200, "EnOcean" , 1, {"push", "email", "sms"}, nil, nil}, ["Freebox"] = {"192.168.1.15", 80, "http", "/login.php", 200, "Freebox OS" , 1, { "sms"}, nil, nil}, ["OpenVPN"] = {"192.168.1.16", 443, "tcp", "", nil, "" , 1, { "email", "sms"}, nil, nil}, ["Redhat"] = {"192.168.1.17", 22, "tcp", nil, nil, "OpenSSH" , 1, { "email" }, nil, nil}, ["Google"] = {"www.google.fr", 80, "http", "/", 200, "Recherche Google" , 1, { "sms"}, nil, nil}} } local debug = false userID : liste séparée par des virgules des ID des utilisateurs qui doivent recevoir des notification par email (le mail est celui configuré pour chaque utilisateur dans le panneau de contrôle d'accès) smartphoneID : liste séparée par des virgules des ID des smartphones qui doivent recevoir des notifications push (à récupérer dans le toolkit de Krikroff ou via l'API : /api/iosDevices) sms : si vous avez une passerelle SMS sous Android avec SMS Gateway (ou équivalent) pilotée par un module virtuel, il faut renseigner ici les informations nécessaires. icons : si vous avez 2 icônes personnalisées, remplacer les valeurs nil par les ID numériques de vos icones (à trouver dans /api/icons) DEVICES : c'est la partie la plus longue à paramétrer, pour cela je vous ai laissé un exemple de tout ce que je monitore chez moi (j'ai juste changé les IP). C'est assez parlant, vous pouvez copier/coller en respectant bien la syntaxe. A noter que si l'avant-dernière colonne qui contient le nom facultatif d'une variable globale à incrémenter, celle-ci est automatiquement créée par le module. La dernière colonne permet d'annuler le monitoring d'un équipement particulier en fonction de la valeur d'une variable globale. debug : true ou false afin d'activer l'affichage étendu dans la fenêtre de débugage du bouton du module virtuel. Dans la Main Loop, le code est de Steven. Il y a une variable nbHeure permettant de paramétrer l'intervalle de vérification, par défaut à 1 heure. Si vous voulez un rafraichissement inférieur à 40 minutes, il suffit de tout remplacer par un simple fibaro:sleep(), car cette fonction ne plante pas pour les durées inférieures. Network_Monitor_v1.01.vfib Network_Monitor_v1.10.vfib Network_Monitor_v1.20.vfib Modifié le 24 septembre 2016 par Lazer 11
pepite Posté(e) le 5 octobre 2015 Signaler Posté(e) le 5 octobre 2015 YEs, sympa, super merci @Lazer Beau boulot, reste plus qu à tester ;-)
BenjyNet Posté(e) le 5 octobre 2015 Signaler Posté(e) le 5 octobre 2015 Ah bien tout ça mais me dit pas que t'as laisser les adresses ip de tes devices ? Tiens au passage, comment t'envoie les SMS (j'ai pas cherché faut dire )
Lazer Posté(e) le 5 octobre 2015 Auteur Signaler Posté(e) le 5 octobre 2015 toi t'as pas lu le tuto j'ai bien indiqué que j'ai changé les IP (et même certains ports) pour les SMS : http://www.domotique-fibaro.fr/index.php/topic/2902-gateway-sms-autonome/
BenjyNet Posté(e) le 5 octobre 2015 Signaler Posté(e) le 5 octobre 2015 Huhu merde, oui j'avoue, j'ai pas lu
jojo Posté(e) le 5 octobre 2015 Signaler Posté(e) le 5 octobre 2015 tu ne t'arrêtes jamais.... cela pourra remplacer avantageusement le VD CheckInternet
Lazer Posté(e) le 5 octobre 2015 Auteur Signaler Posté(e) le 5 octobre 2015 En fait c'est un VD que j'avais commencé il y a longtemps, et que je viens seulement de terminer, afin qu'il soit partageable à peu près proprement (même si la configuration de la variable DEVICES n'est pas des plus simples). Le but premier n'était pas de monitorer l'accès à Internet, mais il se trouve que ça fonctionne très bien avec Google par exemple. Le VD Check Internet a au moins un avantage, c'est de mettre à jour une variable globale indiquant le status de la connexion Internet, utilisable dans des scénarios.
pepite Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 @jojo et @lazer, et un "mix" de vos 2 VD ? De cette facon, on a aussi la variable utilisable dans les scenes non ? Qu'en pensez-vous ?
jojo Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 ça c'est une idée pour Lazer pour la v1.1, créer une variable Network_Monitor avec les valeurs OK, NotOK. 1
BenjyNet Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 Et pourquoi dans la variable globale on aurait pas un tableau avec le nom des matos en panne ?
nasp Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 J'ai commencé un faire un truc du même genre pour IPPBX qui plante régulièrement... Làc'est plus générique et j'aime bien...
pepite Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 bonne idée @benjynet, un tableau, un tableau ;-)
jojo Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 tout est effectivement possible, mais cela doit rester exploitable / utile. On reçois déjàun mail avec ce qui ne va pas. Avoir une variable avec OK/NotOK est facile pour pouvoir utiliser l'info dans d'autres scénarios (GEA, ...) Mais un tableau avec ce qui ne va pas, et tant qu'àfaire depuis combien de temps, n'est pas exploitable dans GEA. Avec le mail (si un mail par device mort, au lieu d'un mail global) on peu remplir un tableau xls avec IFTTT (cfr les mails que j'envoie pour les noeuds morts)
BenjyNet Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 Heu jojo, on n'a pas tous GEA hein
jojo Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 oui, bien-sûr, mais cela représente" beaucoup" (je pense) de travail pour Lazer pour faire qqch de sympa, et surtout de "facilement" utilisable. Aurais-tu un exemple d'utilisation de cette info ?
Lazer Posté(e) le 6 octobre 2015 Auteur Signaler Posté(e) le 6 octobre 2015 En partageant ce module, j'étais certain que vous auriez tous des idées plus tordues les unes que les autres Ma vision des choses : ce module ne remplace par le VD Check Internet, car :il n'est pas capable d'agréger plusieurs sites web pour prendre une décision (Google n'est pas suffisant, il peut être indisponible, tandis que la connexion internet fonctionne encore) La durée d'interrogation est fixe pour tous les devices surveillés. Surveiller une connexion ADSL toutes les minutes a du sens, tandis que surveiller un Sonos toutes les minutes est contre-productif (charge réseau....) Au sujet des variables globale :je ne suis pas pour créer un tableau, car comme dis Jojo, c'est impossible à exploiter dans GEA, ce qui représente quand même la majorité des usages, n'en déplaise à ses détracteurs. l'idéal est une variable globale par élément à surveiller, de façon optionnelles. Donc dans le tableau DEVICES, il suffit d'ajouter une colonne qui contient nil ou le nom de la variable globale à mettre à jour. Ainsi on peut surveiller les éléments critiques, et ignorer les autres. C'est relativement facile à implémenter. Idéalement, dans le futur, il faudrait ajouter un intervalle variable pour chaque device à surveiller, mais cela oblige à revoir la structure de tout le code, donc ce n'est pas à l'ordre du jour.
pepite Posté(e) le 6 octobre 2015 Signaler Posté(e) le 6 octobre 2015 bon je me plei à vos avis, j'utilise aussi GEA ;-) Que diriez-vous tout de même de récuperer dans une ou plusieurs etiquettes le/les devices qui seraient en erreur, ce qui nous permettrait d'un coup d'oeil de voir l'etat ;-)
Lazer Posté(e) le 6 octobre 2015 Auteur Signaler Posté(e) le 6 octobre 2015 Je suis surpris.... personne n'a encore réclamé le changement d’icône, pourtant très apprécié
jojo Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 encore une excellente idée our la v1.1, mais alors tu livres également les icônes avec une croix rouge ou un v vert SVP ?
pepite Posté(e) le 7 octobre 2015 Signaler Posté(e) le 7 octobre 2015 @Lazer, oh oui, le changement d'icone ;-) 3
sebcbien Posté(e) le 10 octobre 2015 Signaler Posté(e) le 10 octobre 2015 Rien àdire, ça marche au poil, merci beaucoup ! 1
Lazer Posté(e) le 18 octobre 2015 Auteur Signaler Posté(e) le 18 octobre 2015 Bon, je vais m'attaquer àla mise àjour de ce module virtuel. Pour les variables globales, ça sera donc une variable globale par équipement réseau surveillé. Un nouveau champs dans le tableau DEVICES permettra de configurer le nom de chaque variable globale. Quelles valeurs vous plairait ? Je pense faire très simple : 0 ou 1 "OK" ou "Error" (ou NOK, ou KO) ...
sebcbien Posté(e) le 18 octobre 2015 Signaler Posté(e) le 18 octobre 2015 Perso je préfère les numériques,il suffit d'un tonumber() dans d'autres scripts pour les utiliser. 0 = OK Puis 1 2 3 4 etc suivant le nombre d'erreurs ? Sent from my Note4
Messages recommandés