Linux

使用 rsyslog,是否可以在規則集中的操作中包含規則集?

  • January 24, 2022

這個問題可能令人困惑……我有什麼:

*.local1 呼叫規則1

我有一個規則集 rule1,它有兩個動作,a1 和 a2。a2 僅在 a1 失敗時執行,例如

ruleset(name="rule1"){action(),
                     action(action.execOnlyWhenPreviousIsSuspended="0n")}

我想要的是動作 a2 呼叫一個新的規則集 rule2,然後執行動作 a3 和 4。

那可能嗎?

或者,如果規則 1 中可能有一個 a3,如果前面的失敗也會執行,我猜這可能也會解決它。

謝謝。

文件中相關連結中提到的部落格有一個範例。

module(load="imptcp" keepalive="on")
# use imptcp just as example for bind ruleset below
ruleset(name="rs1") {
       action(type="omfile" File="/var/log/test1.log")
}
ruleset(name="rs2") {
       action(type="omfile" File="/var/log/test2.log")
       call rs1
}
input(type="imptcp" port="13514" ruleset="rs2")

雖然不是針對您的原始範例量身定制的,但應該可以進行調整。

  1. 輸入發送到規則集“rs2”
  2. “rs2”保存到文件(動作),並呼叫“rs1”
  3. “rs1”保存到第二個文件(動作)

引用自:https://unix.stackexchange.com/questions/556335