Graylog: graylog2パッケージを使ったNode.jsログのGraylogへの送信(推奨)
このドキュメントはNode.jsでの利用方法ガイドの一部です。完全なガイドはこちらからご覧いただけます:Node.jsからGraylogへログを送信する方法。
👋 Stackhero ドキュメントへようこそ
Stackhero は、スピードとシンプルさを追求したフルマネージドの Graylog cloud ソリューションを提供しています。主な特長は以下の通りです:
- サービスに含まれる、無制限かつ専用の SMTP メールサーバーをご利用いただけます。
- アップデートはワンクリックで簡単に適用でき、手動での作業は不要です。
- HTTPS で保護された カスタムドメイン名(例:https://logs.your-company.com)を利用でき、チームに安全かつ直接的なアクセスを提供します。
- プライベートかつ専用インフラストラクチャ上で、高いパフォーマンスとセキュリティを実現。他のユーザーとのリソース共有やノイズの心配はありません。
ツールではなくデータに集中できます:Stackhero の Graylog cloud hosting ソリューションは、数分でご利用を開始いただけます。
Node.jsからGraylogへログを送信するのは非常に簡単です。この例では、graylog2パッケージを利用してシームレスにログを送信する方法をご紹介します。
まず、以下のコマンドでパッケージをインストールしてください。
npm install graylog2
以下のようにしてログメッセージを送信できます。
const graylog2 = require('graylog2');
const crypto = require('crypto');
const logger = new graylog2.graylog({
servers: [{ host: '<XXXXXX>.stackhero-network.com', port: 12201 }] // "host"はご自身のGraylogドメインに置き換えてください
});
// シンプルなメッセージをGraylogに送信
logger.log('Simple message example');
// メッセージにデータを付加して送信
logger.log(
'Password recovery email', // メッセージ
// 追加情報を含むJSONオブジェクト
{
subject: 'Password recovery',
language: 'en_US',
domain: 'gmail.com'
}
);
// 応用例
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', // メッセージ
// さらに詳細なJSONオブジェクト
{
route: '/v1/messages/1234/',
method: 'POST',
responseTime: 12, // ms
responseCode: 200,
ipHash,
userIdHash
}
);
// Node.jsで未捕捉例外をログに記録
process.on(
'uncaughtException',
err => {
logger.log(
err,
{ type: 'uncaughtException' }
);
}
);
さらに例を見たい場合は、こちらのGitHubリポジトリをご参照ください。
warning Graylogのインプット設定を忘れずに行ってください(詳細は下記参照)。