やりたい事
rsyslog のフィルタリング設定で下記を実施したいです。
- やりたい事
大量のNW機器を対象としたログ管理をしたい(CiscoSW & Router & juniperFW )。
FW側にはfacilityの設定をしているのでfacilityを利用してログを分けたい。
SWやRouterは、FW以外として一緒の管理でOK。
機器毎にhostname付のログファイルとして管理したい。
- 補足
ログのローテーションは、考慮不要です。
該当のソースコード
** /etc/rsyslog.conf **
#### TEMPLATES #### $template RemoteHostFw,"/var/log/remotehosts/fw/%HOSTNAME%.log" $template RemoteHostSwRt,"/var/log/remotehosts/sw-rt/%HOSTNAME%.log" $template RemoteHost,"/var/log/remotehosts/%HOSTNAME%.log" #### RULES #### # Remote host fw logging :syslogfacility-text, isequal, "local3" -?RemoteHostFw & ~ # Remote host sw & router logging :syslogfacility-text, isequal, "local7" -?RemoteHostSwRt & ~ # Remote host logging etc :fromhost-ip, !isequal, "127.0.0.1" -?RemoteHost & ~
発生している問題
期待値 :/var/log/remotehosts/
配下にhostname付のログファイルが生成・保存される事
実際の動作:ログが保存されない。(どこに行ったのかも追えず終い)
syslogfacility-textを isequalで "local3" だと間違っているのでしょうか?
試したこと
〇その1.
:syslogfacility-text, isequal, "local3" -?RemoteHostFw
:syslogfacility-text, isequal, "local7" -?RemoteHostSwRt
この部分をコメントアウトすると"/var/log/remotehosts/%HOSTNAME%.log"
にログは保存される。
〇その2.
:syslogfacility-text, isequal, "local3"
をsyslogfacility, isequal, "19"
に変更してもNG。
〇その3.
#if $syslogfacility-text == 'local3' then -/var/log/remotehosts/fw/%HOSTNAME%.log
とすれば、該当のログはフィルタされるが、ファイル名がhostnameで自動生成されず
%HOSTNAME%.log
になってしまう。
〇その4.
テンプレートを下記としてみると、%syslogfacility-text%
部分はlocal3
としてファイル名が生成される。
$template RemoteHost,"/var/log/remotehosts/%syslogfacility-text%.%HOSTNAME%.log"
⇒ local3 は正しいと思える。
あなたの回答
tips
プレビュー