msg
rsyslogを使用してフィールドの先行スペースと末尾のスペースを切り取りたいと思います。という関数があると読みrtrim
ましたがltrim
、RainierScriptで関数を使用する方法の説明が見つかりませんでした。誰もがこれらの機能の例を示すことができれば非常に感謝します。私の現在の構成は次のとおりです。
module(load="imudp")
input(type="imudp" port="514" ruleset="forward")
template(name="RFC5424_IP" type="string"
string="<%PRI%>1 %timegenerated:::date-rfc3339% %fromhost-ip% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%"
)
ruleset(name="forward") {
action(type="omfwd"
protocol="tcp"
target="127.0.0.1"
port="40514"
Template="RFC5424_IP"
TCP_Framing="octet-counted"
)
}
答え1
これを使用して、set
json値ツリーの上部に新しいjson変数(通常は同じ名前)を作成し、次のようにテンプレート内でその変数を参照できます。
template(name="RFC5424_IP" type="string"
string="... %$!msg%"
)
ruleset(name="forward") {
set $!msg = rtrim(ltrim($msg));
action(type="omfwd"
...
)
}
セミコロン(;)で終わることを忘れないでください!バラより変更可能な属性タイプ