カスタム組織固有の動作を含めるように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)
のマニュアル・ページを参照してください。