Graylog: Enviar logs de Node.js a Graylog con el paquete graylog2 (recomendado)
Esta documentación forma parte de la guía Uso con Node.js. Consulte la guía completa aquí: Cómo enviar logs desde Node.js a Graylog.
👋 Bienvenido a la documentación de Stackhero
Stackhero ofrece una solución Graylog cloud totalmente gestionada, diseñada para ofrecer velocidad y simplicidad. Puede:
- Contar con un servidor SMTP de correo electrónico dedicado e ilimitado incluido con su servicio.
- Aplicar actualizaciones fácilmente con un solo clic, sin necesidad de intervención manual.
- Utilizar un nombre de dominio personalizado protegido por HTTPS (por ejemplo, https://logs.su-empresa.com), proporcionando a su equipo un acceso directo y seguro.
- Disfrutar de un alto nivel de rendimiento y seguridad en una infraestructura privada y dedicada, sin recursos compartidos ni vecinos ruidosos.
Concéntrese en sus datos, no en sus herramientas: puede empezar a utilizar la solución de Graylog cloud hosting de Stackhero en solo unos minutos.
Enviar logs desde Node.js a Graylog es un proceso bastante sencillo. En este ejemplo, verá cómo utilizar el paquete graylog2 para que este procedimiento sea fluido.
Para comenzar, puede instalar el paquete ejecutando el siguiente comando:
npm install graylog2
Así es como puede utilizarlo para registrar mensajes:
const graylog2 = require('graylog2');
const crypto = require('crypto');
const logger = new graylog2.graylog({
servers: [{ host: '<XXXXXX>.stackhero-network.com', port: 12201 }] // Asegúrese de reemplazar "host" por su dominio de Graylog
});
// Enviar un mensaje simple a Graylog
logger.log('Simple message example');
// Adjuntar datos a un mensaje
logger.log(
'Password recovery email', // Mensaje
// Un objeto JSON con detalles adicionales
{
subject: 'Password recovery',
language: 'en_US',
domain: 'gmail.com'
}
);
// Ejemplo avanzado
const ip = '1.2.3.4';
const ipHash = crypto.createHash('md5').update(ip).digest('hex');
const userId = '1234';
const userIdHash = crypto.createHash('md5').update(userId).digest('hex');
logger.log(
'API request', // Mensaje
// Un objeto JSON con más detalles
{
route: '/v1/messages/1234/',
method: 'POST',
responseTime: 12, // ms
responseCode: 200,
ipHash,
userIdHash
}
);
// Registrar excepciones no capturadas en Node.js
process.on(
'uncaughtException',
err => {
logger.log(
err,
{ type: 'uncaughtException' }
);
}
);
Para más ejemplos, puede visitar este repositorio de GitHub.
warning No olvide configurar su entrada de Graylog (más detalles a continuación).