52.ログ管理-rsyslog
RainerScriptの書式で書かないと怒られる場合がある。
https://www.rsyslog.com/doc/v8-stable/index.html
rsyslog設定
#変更 vi /etc/rsyslog.conf #文法確認 rsyslogd -N 1 #適用 systemctl restart rsyslog
MODULES
SysSockのRateLimitは、デフォルトで0になっている
https://www.rsyslog.com/doc/v8-stable/configuration/modules/imuxsock.html?#syssock-ratelimit-interval
imjournalのRatelimit.Intervalは、デフォルトで600なので、これを0とする。
https://www.rsyslog.com/doc/v8-stable/configuration/modules/imjournal.html#ratelimit-interval
・syslog集約サーバとする場合は、下記項目も考慮する。
パラメータ | 説明 |
---|---|
$ModLoad imudp | #UDPでログを受け取る場合に記載(有効)する |
$UDPServerRun | #UDPでログを受け取るポート番号 |
$ModLoad imtcp | #TCPでログを受け取る場合に記載(有効)する |
$InputTCPServerRun | #TCPでログを受け取るポート番号 |
GLOBAL DIRECTIVES
#新規ファイルのデフォルトのパーミッション $umask 0000 #rsyslogディレクトリ、ファイルのデフォルトパーミッション指定 $DirCreateMode 0755 $FileCreateMode 0644 # Use default timestamp format module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat") #変更前 module(load="builtin:omfile" Template="RSYSLOG_FileFormat") #変更後 #RateLimit機能の値を0(無効)にする。 $imjournalRatelimitInterval 0 #xfsの場合に非同期書き込みデータがディスクにライトバックされる時間間隔が長くなるので、その対策 $ActionFileEnableSync on $OMFileAsyncWriting on $OMFileFlushInterval 5 $OMFileIOBufferSize 1024
RULES
特別な要件がない限り初期値から変更しなくて良い。
/var/log/boot.logが出力されないのはなんでだろう・・・。
※理由と対策が判明した、必要に応じて実施dmesgコマンドで良いという方は不要
インフラ構築/RHEL8/90.ナレッジ#RHEL8でvarlogbootlogが記録されない理由
https://milestone-of-se.nesuke.com/l7protocol/syslog/rsyslog-summary/
https://www.server-world.info/query?os=CentOS_8&p=rsyslog&f=1
https://knowledge.sakura.ad.jp/8969/
https://densan-hoshigumi.com/server/centos-logging
https://straypenguin.winfield-net.com/index.html
https://knowledge4linux.blogspot.com/2014/01/rsyslog-dircreatemodefilecreatemode.html
/var/log/配下のパーミッションを統一する
#ディレクトリパス配下のディレクトリを再帰的に755へ変更(btmpとwtmpは個別でパーミッションが指定されているため除外) find /var/log/ -type d -not -name "*wtmp*" -not -name "*btmp*" -exec chmod 755 {} + #ディレクトリパス配下のファイルを再帰的に644へ変更(btmpとwtmpは個別でパーミッションが指定されているため除外) find /var/log/ -type f -not -name "*wtmp*" -not -name "*btmp*" -exec chmod 644 {} +
初期値
# rsyslog configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### 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 #module(load="imklog") # reads kernel messages (the same are read from journald) #module(load="immark") # provides --MARK-- message capability # Provides UDP syslog reception # for parameters see http://www.rsyslog.com/doc/imudp.html #module(load="imudp") # needs to be done just once #input(type="imudp" port="514") # Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html #module(load="imtcp") # needs to be done just once #input(type="imtcp" port="514") #### GLOBAL DIRECTIVES #### # Where to place auxiliary files global(workDirectory="/var/lib/rsyslog") # Use default timestamp format module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat") # Include all config files in /etc/rsyslog.d/ include(file="/etc/rsyslog.d/*.conf" mode="optional") #### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg :omusrmsg:* # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log # ### sample forwarding rule ### #action(type="omfwd" # An on-disk queue is created for this action. If the remote host is # down, messages are spooled to disk and sent when it is up again. #queue.filename="fwdRule1" # unique name prefix for spool files #queue.maxdiskspace="1g" # 1gb space limit (use as much as possible) #queue.saveonshutdown="on" # save messages to disk on shutdown #queue.type="LinkedList" # run asynchronously #action.resumeRetryCount="-1" # infinite retries if host is down # Remote Logging (we use TCP for reliable delivery) # remote_host is: name/ip, e.g. 192.168.0.1, port optional e.g. 10514 #Target="remote_host" Port="XXX" Protocol="tcp")