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 in der Stackhero-Dokumentation

Stackhero bietet eine vollständig verwaltete Graylog Cloud-Lösung, die auf Geschwindigkeit und Einfachheit ausgelegt ist. Sie können:

  • Auf einen unbegrenzten, dedizierten SMTP-E-Mail-Server vertrauen, der in Ihrem Service enthalten ist.
  • Updates mühelos per Klick anwenden – ganz ohne manuellen Aufwand.
  • Einen individuellen Domainnamen nutzen, der durch HTTPS gesichert ist (zum Beispiel https://logs.your-company.com), sodass Ihr Team sicheren und direkten Zugriff erhält.
  • Von hoher Performance und Sicherheit auf einer privaten, dedizierten Infrastruktur profitieren – ohne geteilte Ressourcen oder störende Nachbarn.

Konzentrieren Sie sich auf Ihre Daten, nicht auf das Tooling: Mit Stackheros Graylog Cloud Hosting können Sie in nur wenigen Minuten starten.

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).