NEWS
Logs umleiten
-
Hallo zusammen,
ich habe einen Log-Sys Server auf meinem NAS am laufen.
Wie bekomme ich nun die LOG Meldungen umgebogen?
-
Hallo zusammen,
ich habe einen Log-Sys Server auf meinem NAS am laufen.
Wie bekomme ich nun die LOG Meldungen umgebogen? `
Wir verwenden winston und der kann schon syslog. Ich habe aber das gar nicht ausprobiert. Wenn du das testen konntest, währe das super. Dafür:-
cd /opt/iobroker
-
npm install winston-syslog
-
/opt/iobroker/node_modules/iobroker.js-controller/lib/logger.js Zeile 10 (Kommentar löschen)
//require('winston-syslog').Syslog;
muss sein.
require('winston-syslog').Syslog;
- und dann /opt/iobroker/iobroker-data/iobroker.json editieren. log erweitern
"log": { "level": "info", "maxDays": 7, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null }, "syslog": { "type": "syslog", "enabled": true, "host": "The host running syslogd, defaults to localhost.", "protocol": "The network protocol to log over (e.g. tcp4, udp4, unix, unix-connect, etc)", "path": "The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X)" } } },
Bitte host, protocol und path anpassen und iobroker neu starten.
Hier ist die Beschreibung von winston-syslog: https://github.com/winstonjs/winston-syslog
7666_k-sonnenmittag.png -
-
Hallo Bluefox,
ich habe die 2 Datei folgenden editiert
"syslog": { "type": "syslog", "enabled": true, "host": "192.168.178.194:514", "protocol": "UDP)", "path": ""
Dann habe ich Biobroker gestoppt und wieder gestartet.
:oops:
Dann habe ich folgende Meldung bekommen:
root@cubietruck:/opt/iobroker# iobroker start Starting ioBroker controller daemon... /opt/iobroker/node_modules/iobroker.js-controller/node_modules/daemonize2/lib/daemonize.js:136 throw new Error(msg.error); ^ Error: SyntaxError: Unexpected string at Object.parse (native) at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/controller.js:44:19) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at init (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/daemonize2/lib/wrapper.js:105:17) at process.title (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/daemonize2/lib/wrapper.js:38:9) at ChildProcess. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/daemonize2/lib/daemonize.js:136:19) at ChildProcess.EventEmitter.emit (events.js:98:17) at handleMessage (child_process.js:318:10) at Pipe.channel.onread (child_process.js:345:11)</anonymous></anonymous>
Was mache ich nun, da iobroker nicht läuft
Den path habe ich nicht angegeben, da es im NAS verwaltet wird.
Mit den Einstellungen verbiege ich die CCU2 Logs. Also generell geht es
-
Du hast Fehler in deinem JSON Datei. Zeige bitte die Datei.
8413_1terversuch.jpg -
{ "network": { "IPv4": true, "IPv6": true, "bindAddress": null, "useSystemNpm": true }, "objects": { "type": "file", "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$ "host": "127.0.0.1", "port": 9001, "user": "", "pass": "", "noFileCache": false, "connectTimeout": 2000 }, "states": { "type": "file", "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379$ "host": "127.0.0.1", "port": 9000, "options": { "auth_pass": null, "retry_max_delay": 15000 } }, "log": { "level": "info", "maxDays": 7, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null } } }, "dataDirComment": "Always relative to iobroker.js-controller/", "dataDir": "../../iobroker-data/" } "log": { "level": "info", "maxDays": 7, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null }, "syslog": { "type": "syslog", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null }, "syslog": { "type": "syslog", "enabled": true, "host": "192.168.178.194:514", "protocol": "UDP)", "path": "" } } }
-
Ich habe keine Ahnung, was du gemacht hast, aber es war total falsch.
Es muss so sein:
{ "network": { "IPv4": true, "IPv6": true, "bindAddress": null, "useSystemNpm": true }, "objects": { "type": "file", "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$", "host": "127.0.0.1", "port": 9001, "user": "", "pass": "", "noFileCache": false, "connectTimeout": 2000 }, "states": { "type": "file", "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379", "host": "127.0.0.1", "port": 9000, "options": { "auth_pass": null, "retry_max_delay": 15000 } }, "log": { "level": "info", "maxDays": 7, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null }, "syslog": { "type": "syslog", "enabled": true, "host": "192.168.178.194:514", "protocol": "UDP", "path": "" } } }, "dataDirComment": "Always relative to iobroker.js-controller/", "dataDir": "../../iobroker-data/" }
-
Mmmmh
habe jetzt das Bild (schaut auf die erste Zeile, da sieht man aus welchen Verzeichnis ich Biobroker aufrufe)
Aus dem iobroker Verzeichnis:
root@cubietruck:/opt/iobroker# ls install.sh iobroker iobroker-data log node_modules root@cubietruck:[b]/opt/iobroker# /opt/iobroker/iobroker start[/b] Starting ioBroker controller daemon... /opt/iobroker/node_modules/iobroker.js-controller/node_modules/daemonize2/lib/daemonize.js:136 throw new Error(msg.error); ^ Error: Error: Cannot find module 'winston' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. <anonymous>(/opt/iobroker/node_modules/winston-syslog/lib/winston-syslog.js:14:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at ChildProcess. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/daemonize2/lib/daemonize.js:136:19) at ChildProcess.EventEmitter.emit (events.js:98:17) at handleMessage (child_process.js:318:10) at Pipe.channel.onread (child_process.js:345:11) root@cubietruck:/opt/iobroker#</anonymous></anonymous>
Aus dem root Verzeichnis:
root@cubietruck:/# ls bin dev home lost+found mnt proc run selinux sys usr boot etc lib media opt root sbin srv tmp var root@cubietruck:/# /opt/iobroker/iobroker start module.js:340 throw err; ^ Error: Cannot find module '/node_modules/iobroker.js-controller/iobroker.js' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3 root@cubietruck:/#
-
Ich habe keine Ahnung, was du gemacht hast, aber es war total falsch.
Es muss so sein:
{ "network": { "IPv4": true, "IPv6": true, "bindAddress": null, "useSystemNpm": true }, "objects": { "type": "file", "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$", "host": "127.0.0.1", "port": 9001, "user": "", "pass": "", "noFileCache": false, "connectTimeout": 2000 }, "states": { "type": "file", "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379", "host": "127.0.0.1", "port": 9000, "options": { "auth_pass": null, "retry_max_delay": 15000 } }, "log": { "level": "info", "maxDays": 7, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null }, "syslog": { "type": "syslog", "enabled": true, "host": "192.168.178.194:514", "protocol": "UDP", "path": "" } } }, "dataDirComment": "Always relative to iobroker.js-controller/", "dataDir": "../../iobroker-data/" } ```` `
Hallo,
habe ich so gemacht. Hier fehlt meiner Meinung aber noch einiges im Logger?
require('winston-syslog').Syslog; winston.add(winston.transports.Syslog, options);
Wie werden die Optionen unter "syslog" ausgelesen?
"syslog": { "type": "syslog", "enabled": true, "host": "192.168.1.14", "port": "514", "protocol": "UDP", "path": "" }
PS: Habe es mit Port hinter der Adresse und so wie oben probiert …
-
Hallo,
ich bin mir aktuell gar nicht mehr sicher, ob der logger überhaupt aufgerufen wird.
Muss ich dafür ggf. wo anders noch etwas konfigurieren?
var winston = require('winston'); var fs = require('fs'); var path = require('path'); var os = require('os'); try { require('winston-syslog').Syslog; } catch (ex) { console.log('No syslog support'); }
Die Ausgabe "no syslog" taucht nicht auf.
Oder muss ich da noch etwas uploaden ?
Warum ist winston 2x installiert?
` > root@raspberrypi:/opt/iobroker# find . -name logger.js
./node_modules/iobroker.node-red/node_modules/mongodb/node_modules/mongodb-core/lib/connection/logger.js
./node_modules/iobroker.node-red/node_modules/node-red/node_modules/node-red-node-serialport/node_modules/serialport/examples/logger.js
./node_modules/iobroker.node-red/node_modules/node-red/node_modules/express/node_modules/connect/lib/middleware/logger.js
./node_modules/prompt/node_modules/winston/lib/winston/logger.js
./node_modules/iobroker.js-controller/node_modules/winston/lib/winston/logger.js
./node_modules/iobroker.js-controller/lib/logger.js
./node_modules/winston/lib/winston/logger.js `
-
Ich habe keine Ahnung, was du gemacht hast, aber es war total falsch.
Es muss so sein:
{ "network": { "IPv4": true, "IPv6": true, "bindAddress": null, "useSystemNpm": true }, "objects": { "type": "file", "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$", "host": "127.0.0.1", "port": 9001, "user": "", "pass": "", "noFileCache": false, "connectTimeout": 2000 }, "states": { "type": "file", "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379", "host": "127.0.0.1", "port": 9000, "options": { "auth_pass": null, "retry_max_delay": 15000 } }, "log": { "level": "info", "maxDays": 7, "transport": { "file1": { "type": "file", "enabled": true, "filename": "log/iobroker", "fileext": ".log", "maxsize": null, "maxFiles": null }, "syslog": { "type": "syslog", "enabled": true, "host": "192.168.178.194:514", "protocol": "UDP", "path": "" } } }, "dataDirComment": "Always relative to iobroker.js-controller/", "dataDir": "../../iobroker-data/" } ```` `
Hallo,
habe ich so gemacht. Hier fehlt meiner Meinung aber noch einiges im Logger?
require('winston-syslog').Syslog; winston.add(winston.transports.Syslog, options);
Wie werden die Optionen unter "syslog" ausgelesen?
"syslog": { "type": "syslog", "enabled": true, "host": "192.168.1.14", "port": "514", "protocol": "UDP", "path": "" }
PS: Habe es mit Port hinter der Adresse und so wie oben probiert … `
Hast du recht, da fehlt noch viel..
2534_1.png