本記事は2017年6月13日に公開したものをアップデートしたものです。
はじめに
今回は、WinSyslogのログファイルにSyslogメッセージの受信時刻とSyslogメッセージ中に含まれるタイムスタンプの両方を出力する手順をご紹介します。
Syslogサーバーでログを保存管理していると、Syslogサーバーが記録する受信時刻と、実際にメッセージ中に含まれるタイムスタンプがずれていることがあります。
これは、ネットワークトラフィックが混雑していることによる遅延、あるいはSyslogサーバー自体の処理遅延が原因です。ログ検知アラートを設定していても、通知が遅れてしまっては意味がありません。
WinSyslogではSyslogメッセージの受信時刻と、メッセージ中に含まれるタイムスタンプの両方を出力することができるため、処理遅延がないかどうかを判断しやすくなります。
設定手順
手順1
サービス>Syslogサーバー の受信時の処理設定で、以下のオプションを有効にします。
- RFC3164の構文解析を有効にする
- オリジナルのメッセージ・タイムスタンプを使用(RFC3164)
手順2
Acitons>ファイルログ の「ファイルフォーマット」設定にて、「日付と時間(デバイス側の日時)を出力」のオプションにチェックを入れ、有効化します。
このオプションを有効にすることで、メッセージ中に含まれるタイムスタンプを切り出して出力することができます。
このアクションは、受信したログをテキストファイルに保存するアクションですが、デフォルトのファイル出力形式はAdisconフォーマットとなっています。
Adisconフォーマットの例
「日付と時間(デバイス側の日時)」とは、
送信機器の報告時刻(%timereported%)、つまりタイムスタンプです。
「日付と時刻(受信日時)」は、
作成時刻(%timegenerated%)であり、WinSyslogがSyslogメッセージを受信した時刻を表しています。
Adisconフォーマットではなく、カスタムフォーマットで出力する場合は次のように入力することで、それぞれUTCタイムではなく、ローカルタイムでの出力が可能です。
- 作成時刻(受信日時): %timegenerated:::localtime%,
- 報告時刻(デバイス側の日時): %timereported:::localtime%
その他のWinSyslogプロパティリスト(挿⼊可能な変数)はこちらをご覧ください。
出力例
・Adisconフォーマット
2024-06-06,14:11:41,2024-06-06,14:05:00,192.168.10.10,04,02,This is a test message
・カスタムフォーマット(サンプル)
%timegenerated:::localtime%,%timereported:::localtime%,%syslogfacility_text%.%syslogpriority_text%,%source%,%msg%%$CRLF%
2024-06-06,14:11:41,2024-06-06,14:05:00,Auth,Critical,192.168.10.10,This is a test message
■ 橙:作成時刻(受信時刻)
■ 紫: 送信元IP
■ 緑: Syslogプライオリティ
■ 青: 報告時刻(タイムスタンプ)
■ 赤: Syslogファシリティ
■ 桃: メッセージ
処理能力をアップさせるには?
WinSyslogはマルチスレッドをサポートしておりますので、HWスペックを上げることで、処理能力がアップします。
手順3
各設定変更後は、保存ボタンをクリックし、設定を反映させます。
参考情報
- Syslogサーバー設定の基本情報
https://www.jtc-i.co.jp/product/winsyslog/syslog-server.html - WinSyslogプロパティリスト
https://www.jtc-i.co.jp/support/documents/tips/winsyslog_propertylist.pdf
製品情報・お問い合わせ
WinSyslogの製品情報はこちらをご覧ください。
評価版では30日間すべての機能をお試しいただけます。