rsyslog ログ振り分け設定
http://extstrg.asabiya.net/pukiwiki/index.php?rsyslog%20%A5%ED%A5%B0%BF%B6%A4%EA%CA%AC%A4%B1%C0%DF%C4%EAサーバ関連
目次
概要 †
ログ転送されたログを送信元毎に振り分ける設定。
振り分け定義 †
サーバ側が受信したログを振り分けて保管する場合の設定。
ログファイルの保管ルールを定義した後、振り分けルールと保管ルールを紐付けた設定を行う。
ログファイル保管の定義 †
- 書式
$template [LogFormat名],"/[PATH]/[FILE NAME]"
- 例:ログフォーマット(/data-syslog/syslog/[IP Address]_[HostName]/[YYYY]/[IP Address]_[HostName].YYYY-MM.messages.log)
$template HostIP-Logs, "/data-syslog/syslog/%fromhost-ip%_%fromhost%/%$year%/%fromhost-ip%_%fromhost%.%$year%-%$month%.messages.log"
- 例:ログフォーマット(/data-syslog/syslog/[IP Address]_[HostName]/[IP Address]/[IP Address].messages.log)
$template HostIP-Logs,"/data-syslog/syslog/%fromhost-ip%/%fromhost-ip%_messages.log"
- 例:ログフォーマット(/data-syslog/syslog/[IP Address]_[HostName]/[YYYY]/[IP Address]_[HostName].YYYY-MM.messages.log)
振り分けルール †
全てのログを振り分け †
- 書式
:fromhost-ip, isequal, "[IP Address(完全一致)]" -?[LogFormat名]
- 例:全てのログを[LogRule]に従い振り分ける
*.* -?LogRule & ~
- 例:全てのログを[LogRule]に従い振り分ける
IPアドレスを基準とした振り分けの定義(完全一致) †
- 書式
:fromhost-ip, isequal, "[IP Address(完全一致)]" -?[LogFormat名]
- 例:IPアドレス振り分け(192.168.230のアドレスを[LogRule]に従い振り分ける)
:fromhost-ip, isequal, "192.168.1.230" -?LogRule & ~
- 例:IPアドレス振り分け除外(192.168.230のアドレス以外を[LogRule]に従い振り分ける)
:fromhost-ip, !isequal, "192.168.1.230" -?LogRule & ~
- 例:IPアドレス振り分け(192.168.230のアドレスを[LogRule]に従い振り分ける)
IPアドレスを基準とした振り分けの定義(前方一致) †
- 書式
:fromhost-ip, startswith, "[IP Address(前方一致)]" -?[LogFormat名]
- 例:IPアドレス振り分け(192.168.230〜239のアドレス)
:fromhost-ip, startswith, "192.168.1.23" -?LogRule & ~
- 例:IPアドレス振り分け(192.168.230〜239のアドレス)
ログローテーション †
rsyslogdを使用してもローテーションに近い動きは出来るが、緻密な制御を行うにはlogrotateを使用する方が適切である。
設定例 †
以下の動作を行うローテーションの例。
- 動作
- /data-syslog/syslog配下のログ(*.log)を対象とする
- 月次でローテーションする
- ログ圧縮する
- ローテーション時には圧縮せずリネームのみ。次回のローテーションで圧縮する
- ログファイルが存在しない場合も処理を続行
- 空のログファイルはローテーションしない
- 処理実行後にrsyslogdをリロード(ファイルのinodeを掴む問題を解消)
- /data-syslog/syslog配下のログ(*.log)を対象とする
- /etc/logrotate.d/remote-syslog
/data-syslog/syslog/*/*.log { monthly rotate 12 compress delaycompress missingok notifempty sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }
設定サンプル †
rsyslogd.conf †
例1. 全てのログに振り分けルールを適用する †
#### MODULES #### $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) #$ModLoad immark # provides --MARK-- message capability # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 #### GLOBAL DIRECTIVES #### $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #$ActionFileEnableSync on # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf #### RULES #### ## ## Log Rules ## $template HostIP-Logs,"/data-syslog/syslog/%fromhost-ip%/%fromhost-ip%_messages.log" ## ## Remote Log ## *.* -?HostIP-Logs & ~
例2. IPアドレス毎に振り分ける †
## Provides UDP syslog reception ## $ModLoad imudp $UDPServerRun 514 # Restrict incoming source IP address(UDP) # $AllowedSender UDP, 10.0.0.0/8 ## Provides TCP syslog reception ## $ModLoad imtcp $InputTCPServerRun 514 # Restrict incoming source IP address(TCP) # $AllowedSender TDP, 10.0.0.0/8 #### TEMPLATE #### ## Log Format Template $template TraditionalFormat,"%timestamp% %hostname% %syslogtag%%msg%:::drop-last-lf%\n" ## File Format Template # Base Template $template DynamicFileName1,"/data-syslog/syslog/%fromhost-ip%_%fromhost%/%fromhost-ip%_%fromhost%.messages.log" $template DynamicFileName2,"/data-syslog/syslog/%fromhost-ip%_%fromhost%/%fromhost-ip%_%fromhost%.%programname%.messages.log" # Year/Month/Day Template $template MonthFiles1,"/data-syslog/syslog/%fromhost-ip%_%fromhost%/%$year%/%fromhost-ip%_%fromhost%.%$year%-%$month%.messages.log" $template MonthFiles2,"/data-syslog/syslog/%fromhost-ip%_%fromhost%/%$year%/%fromhost-ip%_%fromhost%.%$year%-%$month%.%programname%.log" #### RULES #### ## ## IP Level rules ## ## 192.168.23x :fromhost-ip, startswith, "192.168.1.23" -?MonthFiles2 & ~ ## 192.168.1.xxx :fromhost-ip, startswith, "192.168.1." -?MonthFiles1 & ~
Last-modified: 2017-04-25 (火) 04:35:19 (2559d)