ディレクトリが存在する場合は、rsyslog ターゲットファイルを切り替えます。

ディレクトリが存在する場合は、rsyslog ターゲットファイルを切り替えます。

次のように、特定のリモートホストのログを自分のアプリケーションディレクトリの特定のファイルに送信するようにrsyslogサーバーを設定しました。

$template TmplApplication, "/whatever/jboss/logs/%fromhost-ip%/sum.log"
if $fromhost-ip != '127.0.0.1' then  {
-?TmplApplication
stop
}

たとえば、ログはに1.2.3.4送信されます/whatever/jboss/logs/1.2.3.4/sum.log

ところで、今はjbossからwildflyにアプリケーションを変更しているので、ディレクトリ名/whatever/jboss/logs//whatever/wildfly/logs

私はログをjbossディレクトリ(存在する場合)に渡し、それ以外の場合はwildflyディレクトリに転送できるように以前のバージョンと互換性があるようにすることを好みます。したがって、次のようになります。

$template TmplApplication1, "/whatever/jboss/logs/%fromhost-ip%/sum.log"
$template TmplApplication2, "/whatever/wildfly/logs/%fromhost-ip%/sum.log"
if $fromhost-ip != '127.0.0.1' then  {
  if /whatever/jboss exists then {
    -?TmplApplication1
    stop
  } else
    -?TmplApplication2
    stop
  }
}

明らかにこれはうまくいきません。正しい構文が何であるかを知っていますか?

ベストアンサー1

おすすめ記事