rsyslog サーバを設定して、rsyslog サーバの時刻とともに受信メッセージをログに記録します。

rsyslog サーバを設定して、rsyslog サーバの時刻とともに受信メッセージをログに記録します。

受信メッセージのタイムスタンプを削除し、rsyslog サーバーからの時間に置き換えるように rsyslog サーバーを構成したいと思います。

その理由は、ログエントリの時間を変更するオプションがないシステムがいくつかあるためです。

弊社の rsyslog サーバーは、Red Hat Enterprise Linux Server リリース 6.3 (Santiago) で実行されています。

たとえば、syslog-ng OSE では、keep_timestamp() と呼ばれる次のような処理を実行できます。

「keep-timestamp() オプションを no に設定すると、syslog-ng OSE は完全なタイムスタンプ (タイムゾーンを含む) をメッセージが受信された時刻に置き換えることができます」。

これが私の rsyslog サーバーに必要なものであり、私が探しているものが明確になることを願っています。

答え1

受信側のrsyslogサーバーで、/etc/syslog.confに次のテンプレート行を追加します。

$template myFormat,"%timegenerated% %HOSTNAME% %syslogtag%%msg%\n"

$ActionFileDefaultTemplate myFormat

適切%timegenerated%にはあなたが求めているものです。manページから

時間生成メッセージが受信されたときのタイムスタンプ。常に高解像度で表示されます

ですべてのオプションを見ることができますman rsyslog.conf

関連情報