2011-09-29 16 views
10

Tengo npm install node-syslog pero no funciona.Necesita sugerencia para SysLog con Node.js

Tengo un servidor syslog (dirección IP y local0).

Y estoy buscando un módulo syslog para ayudarme a publicar el mensaje en syslog. Pero no sé cuál debería usar. Por favor dame alguna sugerencia Gracias.

oh .. si hay un buen analizador de syslog (node.js), házmelo saber también. :)

Respuesta

10

Yo he usado tanto

https://github.com/cloudhead/node-syslog

y

https://github.com/cconstantine/syslog-node

sin ningún problema.

Pero cuando estoy en su situación corro:

npm search $(what im looking for) 

me corrieron NPM syslog búsqueda y esta es mi salida, creo que sirve.

ain     Syslog logging for node.js         =akaspin  (prehi 
ain-tcp    Syslog logging for node.js, with syslog/TCP support   =andry1  2011-0 
ain2     Syslog logging for node.js. Continuation of ain    =phuesler  2012-0 
ain2-fs    Syslog logging for node.js. Continuation of ain    =ossareh  2011-1 
ain2-papandreou  Syslog logging for node.js. Continuation of ain    =papandreou 2012-0 
artifi-glossy  Syslog parser and producer. It is fork of https://github.com/squeeks/glossy - pleas 
beatit    Simple agent that can stay hooked on a log file (even if while log rotated and send 
frontail    tail -F output in browser          =mthenw  2012-0 
glossy    Syslog parser and producer         =squeeks  2012-0 
netasqsyslog   Syslog for NETASQ security appliances       =sdolard  2012-0 
node-nativesyslog JavaScript-only syslog module for NodeJS      =janoszen  2011-1 
node-syslog   Node module to support sending messages to syslog daemon  =schamane  2012-0 
posix    The missing POSIX system calls        =mel   2012-0 
rconsole    'syslog.h' bindings with a revised console module    =tblobaum  2012-0 
simplelogger   A simple logging solution supporting file, stdout and syslog output =ditesh 2011-06 
splog    A NodeJS library which provides a syslog-like remote logging interface =mattbornski 
syslog    Syslog-ng TCP client, with basic fault-tolerance.    =cloudhead  2011-0 
syslog-node   A syslog server and realtime web view of syslog messages  =cconstantine 2011-0 
syslogd-nodejs  syslogd in node.js with logging to cli, file, mongodb and via websockets =crahles 2 
tails    Aggregate your syslog messages & filter for those that matter in real time. =porter 
winston-syslog  A syslog transport for winston        =indexzero  2011-0 
winston-syslog-ain2 An ain2 based syslog transport for winston     =lamtha  2012-0 
1

No parece que la comunidad haya llegado a un consenso aquí. Cada uno de los proyectos de syslog de nodos que he encontrado tiene problemas de larga duración que parecen bastante significativos (o son pueblos fantasmas).

Winston parece ser la mejor opción para el registro de propósito general y tiene el transporte winston-syslog disponible. El problema es que parece haber algunos problemas bastante importantes con él: https://github.com/indexzero/winston-syslog/issues

Creo que voy a darle una oportunidad a winston-syslog-ain2.

4

Probé la mayoría de los módulos enumerados en la búsqueda npm, y tuve muy poca suerte con ninguno de ellos.

Afortunadamente al final, me encontré con rconsole que encontré MUCHO más fácil de configurar y usar que cualquiera de los demás.

También es bueno que le permite colorear y marcar la hora (y rastrear, etc.) su stdout durante el desarrollo.

de usar, basta npm i rconsole, a continuación, a partir de los documentos:

require('rconsole') 
console.set({ facility: 'local0', title: 'basic' }) 
console.emerg('level 0') 
console.alert('level 1') 
console.crit('level 2') 
console.error('level 3') 
console.warn('level 4') 
console.notice('level 5') 
console.info('level 6') 
console.log('level 6') 

en OSX, puedo comprobar mi syslog usando tail -f /var/log/system.log

3

syslog-stream crea una secuencia de escritura para syslog usando enlaces C nativas. También incluye pruebas.

Puede escribir en esa secuencia directamente o como salida para otro módulo de registro.

12

Al igual que usted, yo también estaba buscando una solución syslog hasta que encontré esta opinión:

Los registros son un arroyo, y Corresponde a todos a tratarlos como tales. Sus programas deben iniciar sesión en stdout y/o stderr y omitir cualquier intento para manejar rutas de registro, rotación de registros o envío de registros a través del protocolo syslog . Dirigir dónde va la secuencia de registro del programa puede dejarse en el contenedor de tiempo de ejecución: un terminal local o IDE (en entornos de desarrollo ), un script de inicio Upstart/Systemd (en entornos de alojamiento tradicionales ) o un sistema como Logplex/Heroku (en un entorno de plataforma ).

http://adam.heroku.com/past/2011/4/1/logs_are_streams_not_files/

Ahora he concluido felizmente mi búsqueda y estoy usando console.log.

+1

Estoy muy a favor de este enfoque! –

+1

Son más como datagramas ordenados confiables que las transmisiones. La ventaja de los marcos de registro es que mantienen los límites del mensaje de registro. (considere los registros con tracebacks o objetos JSON en ellos). – alanfalloon

Cuestiones relacionadas