~~NOCACHE~~
## 52.ログ管理-rsyslog-syslogサーバ設定
rsyslogでsyslogサーバを構築する手順を記載する。
### 概要
・%%/etc/rsyslog.conf%%でsyslog待ち受けの有効化
・%%/etc/logrotate.d/syslog%%でログローテを設定
## /etc/rsyslog.conf設定詳細
### MODULES
syslog受信のUDP514ポートを有効にする。
#### 変更前
# 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 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")
### RULES
・送信元ごとにログを書き出す。
・messegesにsyslogサーバのログを重複させないようにする。
#### 変更前
# 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
#### 変更後
・[& stop]を[/var/log/messages]書き出し前に入れることで重複を回避している。
・送信元は[%fromhost-ip%]で送信元IPごとにディレクトリを分けて、ディレクトリ配下に送信元ごとのファイルを書き出している。
※[127.0.0.1.log]がホストのmessegesにあたるログになります。
$template syslogFileName,"/var/log/syslog/%fromhost-ip%/%fromhost-ip%.log"
*.info;mail.none;authpriv.none;cron.none -?syslogFileName
& stop
# 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
## /etc/logrotate.d/syslog設定詳細
参考までに[/etc/logrotate.d/syslog]に追記する方法でログローテの設定をしている。
#### 変更前
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
notifempty
sharedscripts
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}
#### 変更後
[/var/log/messages]は書き出されないけどコメントアウトを、[notifempty]で空ログ回避を入れても良い。
/var/log/cron
/var/log/maillog
# /var/log/messages
/var/log/secure
/var/log/spooler
/var/log/syslog/*/*.log
{
missingok
sharedscripts
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}
{{tag>AWS RHEL 実践的}}