Graylog: Node.js logų siuntimas į Graylog naudojant Winston GELF paketą

Š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 pilnai valdomą Graylog cloud sprendimą, sukurtą greičiui ir paprastumui. Galite:

  • Pasikliauti neribotu, dedikuotu SMTP el. pašto serveriu, kuris įtrauktas į jūsų paslaugą.
  • Taikyti atnaujinimus be pastangų vienu paspaudimu, nereikalaujant rankinio įsikišimo.
  • Naudoti individualų domeno vardą, apsaugotą HTTPS (pavyzdžiui, https://logs.jusu-imone.com), suteikiant komandai saugų ir tiesioginį priėjimą.
  • Patirti aukštą veikimo spartą ir saugumą naudojant privačią, dedikuotą infrastruktūrą be bendrų resursų ar triukšmingų kaimynų.

Susitelkite į savo duomenis, o ne į įrankius: pradėti naudotis Stackhero Graylog cloud hosting sprendimu galite vos per kelias minutes.

warning Rekomenduojama naudoti graylog2 paketą, nebent Winston jau yra jūsų projekte. Tokiu atveju galite naudoti winston-gelf.

Norėdami įdiegti Winston GELF paketą, vykdykite:

npm install winston-gelf

Jei Winston dar nėra jūsų projekte, pridėkite jį su:

npm install winston

Pagrindinė konfigūracija atrodytų taip:

const winston = require('winston');
const winstonGelf = require('winston-gelf');
const process = require('process');

const logger = winston.createLogger({
  transports: [
    new winston.transports.Console(),
    new winstonGelf({
      // Visas gelfPro parinktis rasite čia: https://www.npmjs.com/package/gelf-pro
      gelfPro: {
        fields: {
          env: process.env.NODE_ENV || 'development'
        },
        adapterName: 'udp',
        adapterOptions: {
          host: '<XXXXXX>.stackhero-network.com', // Pakeiskite į savo Graylog domeną
          port: 12201,
        }
      }
    })
  ]
});

// Informacinio log'o pavyzdys
logger.info('This is a log information');

// Klaidos log'o pavyzdys
try {
  throw Error('This is an example error');
}
catch(error) {
  logger.warn({ message: 'Error triggered', error });
}

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