Graylog: Node.js-Logs mit dem graylog2-Paket an Graylog senden (empfohlen)

Diese Dokumentation ist Teil des Verwendung mit Node.js-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie Sie Logs von Node.js an Graylog senden.

👋 Willkommen bei der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite Graylog Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Unbegrenzter und dedizierter SMTP-E-Mail-Server inklusive.
  • Mühelose Updates mit nur einem Klick.
  • Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://logs.ihre-firma.com).
  • Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Graylog Cloud Hosting-Lösung von Stackhero auszuprobieren!

Das Senden von Logs aus Node.js an Graylog ist sehr unkompliziert. In diesem Beispiel erfahren Sie, wie Sie das graylog2-Paket nutzen, um diesen Prozess nahtlos zu gestalten.

Um zu starten, installieren Sie das Paket mit folgendem Befehl:

npm install graylog2

So können Sie es verwenden, um Nachrichten zu protokollieren:

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

const logger = new graylog2.graylog({
  servers: [{ host: '<XXXXXX>.stackhero-network.com', port: 12201 }] // Ersetzen Sie "host" durch Ihre Graylog-Domain
});

// Senden Sie eine einfache Nachricht an Graylog
logger.log('Simple message example');

// Fügen Sie einer Nachricht zusätzliche Daten hinzu
logger.log(
  'Password recovery email', // Nachricht
  // Ein JSON-Objekt mit weiteren Details
  {
    subject: 'Password recovery',
    language: 'en_US',
    domain: 'gmail.com'
  }
);

// Fortgeschrittenes Beispiel
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', // Nachricht
  // Ein JSON-Objekt mit weiteren Details
  {
    route: '/v1/messages/1234/',
    method: 'POST',

    responseTime: 12, // ms
    responseCode: 200,

    ipHash,
    userIdHash
  }
);

// Nicht abgefangene Ausnahmen in Node.js protokollieren
process.on(
  'uncaughtException',
  err => {
    logger.log(
      err,
      { type: 'uncaughtException' }
    );
  }
);

Weitere Beispiele finden Sie in diesem GitHub-Repository.

warning Vergessen Sie nicht, Ihren Graylog-Input zu konfigurieren (Details unten).