~~NOCACHE~~
## 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コマンドで良いという方は不要
[[InfrastructureConstruction:RHEL8:Knowledge#RHEL8でvarlogbootlogが記録されない理由|インフラ構築/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")
{{tag>AWS RHEL 実践的}}