複数のリモートクライアントからのデータを持つrsyslogサーバーがあります。今warn
、info
およびなどの特定の重大度タイプdebug
と受け入れる残りのメッセージを削除しようとしています。
以下の構成が部分的に表示され、検査されtemplate
ましRules
た。
以下の構成では、Custom conditional Forwarding
異なる名前で始まる異なるホスト名があるため、すべてをコメントアウトしました。だからあきらめてwarn
しばらくinfo
休んでいくとdebug
どうだろうかと思いました。
$template wcc-logs, "/data/SYSTEMS/%HOSTNAME%/messages.log"
#### RULES ############################################
# Log anything (except mail) of level info or higher.#
# Don't log private authentication messages! #
####################################################
mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs
*.* ?wcc-logs
#####################################################################
# Custom conditional Forwarding of messages to the syslog Directory #
###################################################################
#if $fromhost startswith "wc" then {
# *.crit,*.err,*.emerg,*.alert,*.panic,mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs
# & stop
#}
#if $fromhost startswith "sj" then -?wcc-logs
#& stop
#if $fromhost startswith "vlsj-" then -?wcc-logs
#& stop
上記の構成では、最初の行を除くすべての項目を記録する必要があると仮定し、[ルール]セクションで次のルールを使用したことがわかります。
mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs *.* ?wcc-logs
rsyslogd 8.24.0
ベストアンサー1
warn
次の構文を使用すると、レベルのすべてのメッセージと「wcc-logs」テンプレートを使用して、記録したいすべてのエントリをinfo
削除できます。debug
*.=warn,*.=info,*.=debug stop
*.*,mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs
rsyslog.conf
削除されたメッセージは、ファイル内の次の規則をさらに処理するためには使用されません。
これらのレベルのメッセージを無視し、他のルールによる追加処理に引き続き使用する場合は、単一のルールを拡張してこれらの特定のレベルを無視できます。
*.*,mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none,*.!=warn,*.!=info,*.!=debug ?wcc-logs