2015年1月12日月曜日

rsyslog + MySQL 特定ホストだけMySQLへの出力を停止するには No.2

少し前に「rsyslog + MySQL 特定ホストだけMySQLへの出力を停止するには」という記事を書いているのですが、実現手段としてもう一つ追加します。
※評価は、CentOS6.6 + rsyslogのver8.6.0で行っています



ログを受信するポート + rulesetで除外する方法


リモートホスト側で、ログを転送するポートが自由に変更(例えばTCPの5140ポートなどに)できる場合には、以下のように設定することで、テンプレートSTOPSQLとして指定した先にのみログを出力し、その他のファイルやMySQLへの出力を止める事ができます。


input(type="imtcp" port="5140" ruleset="stopsql")

$template STOPSQL, "/var/log/%fromhost%/%$year%%$month%%$day%.log"

ruleset(name="stopsql"){
     action(type="omfile" dynaFile="STOPSQL")
}


(備考)
※詳細は以下のページで確認してください。
http://www.rsyslog.com/doc/v8-stable/concepts/multi_ruleset.html?highlight=ruleset

設定次第で、特定のホストのログだけを特別扱いするといった事が、より簡単に実現できると思います。

0 件のコメント:

コメントを投稿