Graylog: Node.js logų siuntimas į Graylog naudojant graylog2 paketą (rekomenduojama)

Ši dokumentacija yra Naudojimas su Node.js vadovo dalis. Visą vadovą rasite čia: Kaip siųsti logus iš Node.js į Graylog.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Graylog cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įtrauktas neribotas ir dedikuotas SMTP el. pašto serveris.
  • Lengvi atnaujinimai vienu paspaudimu.
  • Pritaikomas domeno vardas, apsaugotas HTTPS (pavyzdžiui, https://logs.jusu-imone.com).
  • Optimali veikla ir tvirta sauga, užtikrinta privačia ir dedikuota VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Graylog cloud hosting sprendimą!

Logų siuntimas iš Node.js į Graylog yra gana paprastas procesas. Šiame pavyzdyje matysite, kaip naudoti graylog2 paketą, kad šis procesas būtų sklandus.

Norėdami pradėti, įdiekite paketą vykdydami šią komandą:

npm install graylog2

Štai kaip galite jį naudoti žinučių logavimui:

const graylog2 = require('graylog2');
const crypto = require('crypto');

const logger = new graylog2.graylog({
  servers: [{ host: '<XXXXXX>.stackhero-network.com', port: 12201 }] // Nepamirškite "host" pakeisti į savo Graylog domeną
});

// Paprastos žinutės siuntimas į Graylog
logger.log('Simple message example');

// Pridėti duomenų prie žinutės
logger.log(
  'Password recovery email', // Žinutė
  // JSON objektas su papildoma informacija
  {
    subject: 'Password recovery',
    language: 'en_US',
    domain: 'gmail.com'
  }
);

// Sudėtingesnis pavyzdys
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', // Žinutė
  // JSON objektas su daugiau informacijos
  {
    route: '/v1/messages/1234/',
    method: 'POST',

    responseTime: 12, // ms
    responseCode: 200,

    ipHash,
    userIdHash
  }
);

// Loguoti neapdorotas (uncaught) išimtis Node.js
process.on(
  'uncaughtException',
  err => {
    logger.log(
      err,
      { type: 'uncaughtException' }
    );
  }
);

Daugiau pavyzdžių rasite šiame GitHub repozitoriume.

warning Nepamirškite sukonfigūruoti savo Graylog input (detalės žemiau).