MAM78 Posté(e) le 25 février 2017 Signaler Posté(e) le 25 février 2017 (modifié) Envoyer vos logs dans le Centre des journaux sur un serveur Syslog tel que de votre NAS & Routeur Synology Voici un exemple de Logs collectées sur le NAS & Routeur Synology : Nota : Pour les Routeurs Synology il est nécessaire de les équiper d'un disque dur pour pouvoir y stocker les logs Cela permet notamment : de consolider dans un même endroit tous types de messages (Erreur, Log de traitement, Arrêt/Marche de l'Alarme (en identifiant qui), debug, ...) et ceci même en provenance de plusieurs HC2 de bénéficier de leur archivage selon ses propres critères, contrairement à nos HC2 qui purgent automatiquement ses Logs dans les VD et Scènes sans que l'on puisse avoir la main dessus. de consulter/analyser ces messages sur les NAS & Routeurs Synology, ou autre solution d'analyse de logs, avec de nombreux filtres/critères : Périodes (de telle date/heure à telle date/heure) Niveau de gravité (sévérité (voir ci-dessous) Nom d'hôte (HostName) Programme (Nom de Module Virtuel ou Scènes) Catégorie (voir ci-dessous) de générer des notifications (Mail) selon les niveaux de gravité (envoyé par votre NAS Synology) d'exporter ces logs au format (HTML et CSV) de transférer ces logs sur un serveur Syslog (cela peut être intéressant pour les professionnels qui souhaitent avoir une visibilité de ce qui se passe de grave sur les box de leur clients) de limiter les écritures de logs sur notre cartes mémoire de notre HC2 et ainsi d'augmenter sa durée de vie d'indiquer avec une variable globale ou locale pour nos VD/Scènes si leurs traces doivent être stocker sur le Centre de journaux (Syslog) ou affiché dans la log du VD/Scène. Ces Logs sont structurés et normalisés de la façon suivantes : Date et Heure d'émission, Nom de l'équipement ayant généré le log (hostname ou adresse IP). Intéressant, si par exemple vous avez plusieurs HC2. Catégorie standardisé, information sur le processus qui a déclenché cette émission 0 = kern : message provenant du noyau 1 = user : messages utilisateur (générique) 2 = mail : provient de la messagerie électronique 3 = daemon : concerne un démon sans classification particulière (serveur DNS, NTP, etc.) 4 = auth : concernent l'authentification 5 = syslog : message du serveur syslogd lui-même 6 = lpr : provient du sous-système d'impression 7 = news : message du sous-système Usenet (notamment du serveur NNTP — Network News Transfer Protocole, ou protocole de transfert des nouvelles sur le réseau — gérant les forums de discussion) ; 8 = uucp : messages du sous-système UUCP (Unix to Unix Copy Program, ou programme de copie d'Unix à Unix, un vieux protocole employé pour faire circuler entre autres des messages électroniques) ; 9 = clock daemon 10 = authpriv : concernent l'authentification 11 = ftp : concerne le serveur FTP 12 = NTP subsystem 13 = log audit 14 = log alert 15 = cron : provient des services de planification de tâches, cron et and 16 à 23 local0 à local7 : réservés pour les utilisations locales le niveau de gravité (sévérité) standardisé 0 = émerge : « Au secours ! » le système est probablement inutilisable 1 = alert : vite, il y a péril en la demeure, des actions doivent être entreprises immédiatement 2 = crit : les conditions sont critiques pour le système 3 = err : erreur de fonctionnement 4 = warn : Avertissement (une erreur peut intervenir si aucune action n'est prise) 5 = notice : Événement normal méritant d'être signalé 6 = info : message informatif 7 = debug : message de débogage (mise au point) un identifiant du processus ayant généré le log (dans notre cas ça peut être le nom de VD ou de la scène à l'origine de l'émission de la log) un corps de message (libre à vous de mettre ce que vous voulez) Pour pouvoir recevoir ces logs sur votre NAS ou Routeur, il convient préalablement : d'installer le Package Centre des journaux disponible depuis le centre de paquets (faire une recherche du paquet avec le mot : centre) voir ci-dessous. de paramétrer la localisation de la Destination de Stockage pour les Archives en (voir ci-dessous) créant et en sélectionnant un dossier sur l'un des volumes de votre NAS ou Routeur Synology configurant les règles d'archivage de vos logs Créer et enregistrer une règle pour la réception des journaux avec les éléments suivants : Choisissez un nom de règle (c'est à votre choix) Définir le type de journal = Format BSD Définir les protocole de transferts = UDP Configurer le port = 514 Vous pouvez également (pas obligatoire) configurer des règles de notifications selon les critères de gravité et éventuellement quelques mots-clés : Fin de la configuration de votre NAS Maintenant sur votre HC2 : A) Il faut : 1) Charger le VD "Message Syslog" fourni ci-dessous, puis : a) Mettre dans vos paramètres du VD : l'IP de votre Syno dans "Adresse IP:" le port UDP "514" dans "Port TCP:" b) Ajouter et associer l'icône (fournie ci-dessous) à votre VD et associer également cette même icône au bouton du VD 2) Charger la Scène "Message Syslog" fournie ci-dessous, puis : a) modifier dans le code LUA de la scène (voir code ci-dessous) : l'ID du VD (ici 179) que vous avez chargé ci-dessus l'ID de la scène (ici 40) que vous venez de charger b) Ajouter et associer l'icône (fournie ci-dessous) à votre Scène ----------------------- -- User settings to be changed ----------------------- local vd_id = 179 -- id number of the corresponding VD "Syslog Message" local sc_id = 40 -- id off the presence scene 3) Charger le VD "Message Syslog Demo", puis : a) modifier dans le code LUA du VD (voir ci-dessous) : l'ID de la scène "Message Syslog" (ici 40) que vous avez chargé précédemment ----------------------- -- User settings to be changed ----------------------- -- remplace the value 40 with the id of your Scene "Synology Message" local id_Scene_Syslog_Message = 40 4) Tester le fonctionnement dans vos VD/Scènes en ajoutant la commande (le code) ci-dessous : fibaro:startScene(id_Scene_Syslog_Message, {{sev = "warning"}, {orig= "Test Syslog Message"}, {mess = "Text for à warning"}}) 1) remplacer dans la commande ci-dessus les valeurs : "warning", par le nom de la sévérité selon les valeurs (voir explication au début du Toto) : "emergency", "alert", "critical", "error", "warning", "notice", "info", "debug" "Test Syslog Message", par le nom du VD ou de la scène à partir duquel vous souhaitez envoyer votre message. "Text for à warning", le message correspondant à l'événement que vous voulez faire apparaitre dans la Syslog C) Eventuellement adapter le VD et la Scène selon vos besoins Historiques des versions : 2017-03-03 : V2.0 = Adaptation pour en faire une Scène qui peut être appelée depuis nos VD ou Scènes avec un passage de paramètres (ceux correspondants aux différentes parties de logs indiqués en début de Tuto) 2017-02-26 : V1.0 = Version initiale Evolutions à venir : Corriger le problème lorsque 2 messages sont envoyés dans la même minutes. Il s'agit d'un problème lié au fait de l'usage d'un VD et d'une Scène puisqu'il n'est pas possible des s'assurer que les messages soit traités de manière séquentiel. Sauf si l'un de vous me trouve une solution. Pour le moment je ne vois pas Fusionner/Intégrer le VD dans la Scène dès que j'aurais trouvé le moyen de remplacer la fonction Net.FUdpSocket() par d'autres commandes compatibles à la fois pour les scènes et les VD. Je suis également preneur de toutes suggestions d'améliorations (fiabilisations, optimisations, ...) Fichiers joints : VD : VD Syslog_Message V0.1.vfib.json Scène : Scene Syslog Synology V0.1.lua VD Demo : VD Syslog_Message_Demo V0.1.vfib.json Source format Lua : Modifié le 16 novembre 2017 par MAM78 Création du Tuto 5
MAM78 Posté(e) le 25 février 2017 Auteur Signaler Posté(e) le 25 février 2017 (modifié) J'ai créé un VD avec le code ci-dessus dans un bouton. Il semblerait que la commande Net.FUdpSocket() ne soit pas disponible depuis une scène ? Vous auriez une idée pour en faire un scène ? Modifié le 26 février 2017 par MAM78
Lazer Posté(e) le 25 février 2017 Signaler Posté(e) le 25 février 2017 J'ai séparé tes 2 messages dans un nouveau topic de travail dédié à SYSLOG. Dans une scène je ne sais pas, mais dans un VD j'utilise Net.FTcpSocket() Attention à la fonction Net.FUdpSocket(), elle est bugguée, ou plutôt incomplète, car elle ne permet que d'écrire et ne permet pas de lire sur la socket UDP. J'en avais parlé sur le topic Onduleur Eaton, d'ailleurs tu y trouveras des exemples d'implémentation dans le code source LUA de la classe SNMP.
MAM78 Posté(e) le 26 février 2017 Auteur Signaler Posté(e) le 26 février 2017 Ca c'est fait J'ai réussi à créer un VD qui écrit dans la Log de mon NAS Synology A vous de tester et faire vos commentaires. Si vous avez une idée pour transposer ce VD en Scène je suis preneur de tous vos conseils. 1
Lazer Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 Super VD, merci Je déplace dans la catégorie Tutos du coup !
MAM78 Posté(e) le 26 février 2017 Auteur Signaler Posté(e) le 26 février 2017 merci @Lazer si au passage tu quelques conseils à me donner pour le transposer mon vd en scène puisque la fonction Net.FUdpSocket() n'est pas disponible dans une scène
Lazer Posté(e) le 26 février 2017 Signaler Posté(e) le 26 février 2017 Non je ne sais pas, si @Krikroff ou @Steven passent par là, ils pourront peut être te renseigner.
MAM78 Posté(e) le 26 février 2017 Auteur Signaler Posté(e) le 26 février 2017 Ok, @Krikroff, @Steven si vous passer par ici. un petit coups de main serait le bienvenu.
pepite Posté(e) le 27 février 2017 Signaler Posté(e) le 27 février 2017 @MAM78 Super, lancé dans des VDs TOP. Encore bravo. et MERCIIIIIII Bon, j'ai pas de Syno mais ça donne envie ;-) Est-ce que tu pourrais partager le code pour les noobs de code comme moi stp ;-) Sauf s'il fait 3000 lignes tu va planter le forum ;-)
Nico Posté(e) le 27 février 2017 Signaler Posté(e) le 27 février 2017 Excellent boulot ! En plus cela permet du coup de gérer des push dynamique même, en utilisant l'alerte du Syno ! Reste à mettre en place et ajouter un peu partout dans les autres VD pour l'appeler.
MAM78 Posté(e) le 27 février 2017 Auteur Signaler Posté(e) le 27 février 2017 @Nico Si j'étais toi j'attendrais que la scène générique (notification center) complétée pour y ajouter cette nouvelle fonction afin qu'elle soit appelable depuis toutes nos scènes et VD. Tu pourras remplacer toutes tes notifications (Mail, SMS, Push, Syslog, Voix sur sonos ou squezbox, ...) Ca serait cool ça, non ? Mais pour ça il faut qu'un expert m'indique comment transposer mon VD en Scène
MAM78 Posté(e) le 27 février 2017 Auteur Signaler Posté(e) le 27 février 2017 @pepite charge le VD et tu auras accès au code LUA
pepite Posté(e) le 27 février 2017 Signaler Posté(e) le 27 février 2017 je me doutais de la réponse ;-) @Nico, j'attendrais aussi le Notification Center complet ;-)
MAM78 Posté(e) le 27 février 2017 Auteur Signaler Posté(e) le 27 février 2017 @pepite Aller spécialement pour toi et pour tous ceux qui ne veulent pas griller un n° d'identifiant dans le base HC2. Vous trouverez en fin de Tuto mon code au format LUA 1
pepite Posté(e) le 27 février 2017 Signaler Posté(e) le 27 février 2017 trop tard ;-) J'ai importé et lu le code ;-) merciiiiii
MAM78 Posté(e) le 27 février 2017 Auteur Signaler Posté(e) le 27 février 2017 Pour ceux qui n'ont pas de NAS Synology mais qui ont un Routeur Synology vous pouvez faire la même chose à condition d'avoir connecté un disque externe à votre routeur pour en faire un mini NAS Synology .
MAM78 Posté(e) le 27 février 2017 Auteur Signaler Posté(e) le 27 février 2017 (modifié) @Nico pourrais-tu préciser ce que tu entends par gérer des push dynamiques ? Modifié le 27 février 2017 par MAM78
Nico Posté(e) le 28 février 2017 Signaler Posté(e) le 28 février 2017 Bah le Syno selon le niveau de criticité sait envoyé aussi des alertes, comme tu l'as mis plus haut, il pourra donc aussi envoyé des push pour les choses vraiment importantes.
MAM78 Posté(e) le 28 février 2017 Auteur Signaler Posté(e) le 28 février 2017 (modifié) C'est bien ce que je pensais mais j'avais un doute, d'où ma question. Mais comme tu pourras le constater, j'ai modifier mon Tuto hier soir sur ce point. Après quelques tests sur mon Syno, il s'avère que seuls les mails sont envoyés sur les journaux ajoutés. Les Push semblent réservés aux logs générés par le NAS lui-même. Mais pour les recevoir sur son téléphone, il faut installer l'application DS finder. N'ayant pas de fournisseurs de SMS, je n'ai pas pu vérifier pour les SMS. Je n'ai pas fais de test également sur mon routeur Synology, mais comme l'interface est la même, je suppose que c'est la même chose. Modifié le 28 février 2017 par MAM78
Nico Posté(e) le 28 février 2017 Signaler Posté(e) le 28 février 2017 Il faudra que je test ce DS Finder. Il génère les alertes même application fermée ?
Lazer Posté(e) le 28 février 2017 Signaler Posté(e) le 28 février 2017 C'est DS File non ? Parce que le Finder, c'est juste le gestionnaire de fichier sur MacOS je pense.
BenjyNet Posté(e) le 28 février 2017 Signaler Posté(e) le 28 février 2017 Une seule et même scène pour toutes les notifs avec un fibaro:args() ! Mais quel bonheur 1
Fredric Posté(e) le 28 février 2017 Signaler Posté(e) le 28 février 2017 merci @MAM78, j'ai installé le VD (au passage, il faut mettre l'IP du Syno dans "Adresse IP:" et mettre le port UDP "514" dans "Port TCP:" du VD) effectivement, le Syno envoie des notifications grâce au règles prédéfinies, par contre, je n'ai pas toujours les mêmes log qui remontes. un débug: [DEBUG] 15:37:06: <8>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 0 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <9>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 1 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <10>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 2 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <11>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 3 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <12>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 4 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <13>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 5 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <14>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 6 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System [DEBUG] 15:37:06: <15>Feb 28 15:37:06 HC2 Syslog_Synology: Erreur 7 sur le device : Syslog Synology (virtual_device-1192) pièce = HC2 - System l'idée me plait, je suis ce tuto avec intérêt
MAM78 Posté(e) le 28 février 2017 Auteur Signaler Posté(e) le 28 février 2017 Tu peux préciser ce que tu entends par : je n'ai pas toujours les mêmes log qui remontes. Précision, ce tuto explique comment faire pour remonter des messages dans un Syslog. La partie boucle n'est là que pour illustrer comment faire et comment paramétrer les 8 niveaux de criticité. Pour le reste c'est à vous de jouer en attendant que je trouve le moyen de transformer mon VD en scène. Je pourrais éventuellement dans l'immédiat faire une scène qui envoi les paramètres au VD et clic sur le bouton pour envoyer le message sur le syno.
Fredric Posté(e) le 1 mars 2017 Signaler Posté(e) le 1 mars 2017 Oui, j'avais bien compris, ce que je veux dire c'est que si j'appuie quatre fois à 30 secondes d'intervalle j'ai pas toujours les huit qui remonte mais que trois ou quatre et après trois fois d'affilée les huit. Mais L'idée est cool, je suis ça avec un grand intérêt.
Messages recommandés