Rsyslog : 基本設定2021/07/02 |
Rsyslog の基本的な設定です。
|
|
[1] | CentOS Stream 8 の Rsyslog デフォルトでは、[imjournal] モジュールが設定されています。 これにより ログ管理サービス Journal のデータベースを読み取り、Rsyslog の設定ルールに従って各種ログを保管しています。 |
[root@dlp ~]# grep imjournal /etc/rsyslog.conf module(load="imjournal" # provides access to the systemd journal StateFile="imjournal.state") # File to store the position in the journal |
[2] | Rsyslog のログ保管ルールは [/etc/rsyslog.conf] で設定されています。 |
[root@dlp ~]# grep -v -E "^#|^$" /etc/rsyslog.conf module(load="imuxsock" # provides support for local system logging (e.g. via logger command) SysSock.Use="off") # Turn off message reception via local log socket; # local messages are retrieved through imjournal now. module(load="imjournal" # provides access to the systemd journal StateFile="imjournal.state") # File to store the position in the journal global(workDirectory="/var/lib/rsyslog") module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat") include(file="/etc/rsyslog.d/*.conf" mode="optional") *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg :omusrmsg:* uucp,news.crit /var/log/spooler local7.* /var/log/boot.log # * 保管ルールの記述方法 : (ファシリティ).(プライオリティ) (アクション) # # ex : *.info;mail.none;authpriv.none;cron.none /var/log/messages # ⇒ 全ファシリティの [info] プライオリティの [syslog] メッセージを [/var/log/messages] に出力 # ⇒ ただし [mail], [authpriv], [cron] ファシリティの [syslog] メッセージは [/var/log/messages] には出力しない # # * 出力ファイル名の先頭の [-] はログの書き込みは非同期で実行されることを意味する # ファイル名の先頭に [-] を付加しない場合はログの書き込みは同期モードで実行 # * ファシリティの主な種類 # kern : カーネル関連のメッセージ # auth : 認証関連のメッセージ # authpriv : 認証関連 (プライベート) のメッセージ # cron : cron や at 関連のメッセージ # mail : メールサービス関連のメッセージ # news : news 関連のメッセージ # uucp : uucp 関連のメッセージ # daemon : デーモンプログラム関連のメッセージ # user : ユーザーレベルのプロセス関連のメッセージ # lpr : プリンタ関連のメッセージ # syslog : syslog 内部のメッセージ # local0 - local7 : カスタムで自由に利用可能 # * プライオリティの種類 # emerg : システム利用不能レベルの問題 # alert : 即時対応が必要なレベルの問題 # crit : 重大なレベルの問題 # err : 一般的なレベルのエラー # warning : 警告レベルのメッセージ # notice : 要注意レベルの通知メッセージ # info : 一般的な情報レベルのメッセージ # debug : デバッグ情報 # none : 指定なし (出力しない) # * 通常のルール指定の場合、指定したプライオリティよりも重要度が高いログは全て記録 # 指定したプライオリティのみを記録したい場合は、プライオリティの前に等号を付加 # ex : kern.=crit /dev/console |
[3] | もし、Rsyslog のシスログメッセージ読み取りを、デフォルトの Journal データベースからではなく、UNIX Socket
から直接読み込むように変更する場合は、以下のように設定します。 Ubuntu 等では、従来の UNIX Socket から直接読み込む方式がデフォルトとなっています。 |
[root@dlp ~]#
vi /etc/rsyslog.conf # 9-13行目 : 以下のように変更
# ⇒ SysSock.Use=on に変更 # ⇒ imjournal モジュールはコメント化 module(load="imuxsock" # provides support for local system logging (e.g. via logger command) SysSock.Use="on") # Turn off message reception via local log socket; # local messages are retrieved through imjournal now. #module(load="imjournal" # provides access to the systemd journal # StateFile="imjournal.state") # File to store the position in the journal[root@dlp ~]# systemctl restart rsyslog
|
[4] | リモートホストにログを転送して、特定ホストで複数ホストのログを一括管理する場合は、以下のように設定します。 |
# 24-25行目 : コメント解除
# 26行目 : 許可する送信元を設定
module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")
$AllowedSender TCP, 127.0.0.1, 10.0.0.0/24, *.srv.world
[root@dlp ~]#
systemctl restart rsyslog
# firewalld 稼働中の場合はポート許可 [root@dlp ~]# firewall-cmd --add-port=514/tcp [root@dlp ~]# firewall-cmd --runtime-to-permanent
# 最終行に追記 action(type="omfwd" queue.filename="fwdRule_dlp.srv.world" queue.maxdiskspace="1g" queue.saveonshutdown="on" queue.type="LinkedList" action.resumeRetryCount="-1" Target="dlp.srv.world" Port="514" Protocol="tcp") # queue.filename : キューファイル名 # queue.maxdiskspace : キューに確保するディスクスペース # queue.saveonshutdown=on : シャットダウン時にキューデータをディスクに保存 # queue.type=LinkedList : 10,000 メッセージを保持可能な非同期キュー # action.resumeRetryCount=-1 : サーバーが無応答の場合リトライし続ける # Target=*** : ログ受信サーバーを指定
[root@node01 ~]# systemctl restart rsyslog
###### 以上で送信側ホストのログが受信側ホストにも記録される ###### [root@dlp ~]# tail /var/log/secure Jul 2 01:21:56 dlp polkitd[844]: Acquired the name org.freedesktop.PolicyKit1 on the system bus Jul 2 01:21:57 dlp sshd[896]: Server listening on 0.0.0.0 port 22. Jul 2 01:21:57 dlp sshd[896]: Server listening on :: port 22. Jul 2 01:22:08 dlp systemd[1506]: pam_unix(systemd-user:session): session opened for user root by (uid=0) Jul 2 01:22:08 dlp login[1134]: pam_unix(login:session): session opened for user root by LOGIN(uid=0) Jul 2 01:22:08 dlp login[1134]: DIALUP AT ttyS0 BY root Jul 2 01:22:08 dlp login[1134]: ROOT LOGIN ON ttyS0 Jul 2 01:31:08 node01 sshd[907]: Received signal 15; terminating. Jul 2 01:31:08 node01 sshd[1572]: Server listening on 0.0.0.0 port 22. Jul 2 01:31:08 node01 sshd[1572]: Server listening on :: port 22. |
Sponsored Link |
|