私はsyslogでログをフィルタリングして別のログに渡す作業をしています。
以下に基づいてログをキャプチャ/フィルタリングすることもできます。内部SFTP「使用して
if $programname == 'internal-sftp' then /var/log/sftp/sftp.log
上記は動作中です。
しかし、それに基づいてフィルタリングすることはできません。」統計名". pri、syslogtagなどを試してみました。ログ形式は次のとおりです。
Apr 24 02:16:30 ip-10-0-10-22 internal-sftp[4714]: lstat name "/settlement/universalpay/test_deletez.log"
それでは、次の行をどのようにフィルタリングしますか?統計名条件が適用されます。どの属性を使用する必要がありますか?
以下は私が試しているサンプルコードです。
if $programname == 'internal-sftp' then {
if $syslogfacility-text contains 'lstat name' then {
action(type="omfile" file="/var/log/sftp/sftp_lstat_files.log" template="outfmt")
}
action(type="omfile" file="/var/log/sftp/sftp.log" template="outfmt")
& stop
}
答え1
バラ、
次の点をご確認ください。
if $msg startswith ' lstat name' then { ....
上記のように、「lstat name」の前にスペースがあることを確認してください。