カスタム組織固有の動作を含めるようにrsyslogを構成します。
rsyslog構成は、次の2つの方法でカスタマイズできます。
/etc/rsyslog.confファイルを編集します。
- 構成ファイルを作成し、
/etc/rsyslog.dディレクトリに格納します。 このオプションを選択すると、システム・パッケージの更新時にカスタム構成が上書きされないようにできます。
特定のセレクタのログの構成など、一部の変更は/etc/rsyslog.confファイルに簡単に実装できます。 たとえば、cronメッセージのログをcron_newに変更するには、次の行を追加します:
cron.* /var/log/cron_new
変更を有効にするには、rsyslogサービスを再起動します。
その他の変更には、多くの場合、より多くのパラメータ定義およびステップが必要です。
たとえば、TCPを使用して、システム・メッセージがログに記録される別のサーバーにメッセージを転送するルールを作成できます。 次のステップでは、このサンプル・ルールを実装します:
/etc/rsyslog.d/forwardingなどの個別のファイルを作成し、そのファイルに次のようなTCP転送のパラメータを設定します:
*.* action(type="omfwd"
queue.filename="fwdRule1"
queue.maxdiskspace="1g"
queue.saveOnShutdown="on"
queue.type="linkedlist"
action.resumeRetryCount="-1"
target="example.com" port="30514" protocol="tcp"
)
次のリストでは、各設定の目的と許容値について説明します:
- queue.filename
-
これは、各バックアップ・ファイルの名前に添付されるプレフィクスです。 接頭辞付きバックアップ・ファイルは、workDirグローバル・ディレクティブで指定された場所に作成されます(例: global(workDirectory="/var/log"))。
- queue.maxdiskspace
-
ログ・ファイルの領域制限を設定します。
- queue.saveOnShutdown
-
rsyslogが停止した場合にデータをメモリーに保存するかどうかを設定します。
- queue.type
-
LinkedListインメモリー・キューを許可します。
- action.resumeRetryCount
-
再試行回数を設定します。 リモート・ホストが使用できない場合、-1の設定は無期限に再試行します。
- target
-
これは、リモート・ホスト名またはIPアドレスです。
このサンプル構成に基づいて、rsyslogは、メッセージをリモート・サーバーremote-host.comに転送します。 また、rsyslogサービスは、このリモート・サーバーが使用不可の場合にはメッセージをメモリー内に保持します。 rsyslogが停止するか、割り当てられたメモリーを使い果たした場合、rsyslogは、ファイル名に適切な接頭辞を付けてディスク上にファイルを作成します。
/etc/rsyslog.conf構成ファイルを開き、TCP syslog受信用のモジュールがロードされていることを確認します。 次の行からコメント記号が削除されていることを確認します。
module(load="imtcp")
input(type="imtcp" port="514")
- また、
/etc/rsyslog.dファイルをrsyslog構成に含めるグローバル・ディレクティブが有効であることも確認します。 次の行がコメント・アウトされていないことを確認します:
include(file="/etc/rsyslog.d/*.conf" mode="optional")
/etc/rsyslog.conf構成ファイルを保存して終了します。
- 次のコマンドを実行して、
rsyslogサービスを再起動します:
sudo systemctl restart rsyslog
新しいシステム・ロギング・ルールが構成され、システム・メッセージが別のサーバーに転送されるようになりました。
正しいログのローテーションおよびアーカイブを管理するには、/etc/logrotate.d/syslog構成ファイルを編集して、/etc/rsyslog.conf構成ファイルのRULESセクションで定義されている各ログ・ファイルを参照します。
ログをローテーションする頻度およびログの過去のコピーをアーカイブする回数を構成するには、/etc/logrotate.conf構成ファイルを編集します。
ログ・ローテーションの詳細は、logrotate(8), logwatch(8), rsyslogd(8)およびrsyslog.conf(5)のマニュアル・ページを参照してください。