我已經配置了rsyslog的以下過濾器,以將幾個SSH消息引導到本地系統上的特定TCP端口5000,以便運行在5000將進一步處理SSH消息。Rsyslog使用TCP將日誌消息引導到端口5000上的本地系統日誌主機
if $fromhost-ip == '127.0.0.1' and (($msg contains 'SSH') and ($msg contains 'Test')) then @@127.0.0.1:5000
似乎一切都很好,但消息不被重定向到5000端口,如果我們直接將消息發送到UDP端口它是工作的罰款。
以下是針對指向UDP端口的消息的過濾器。
if $fromhost-ip == '127.0.0.1' and (($msg contains 'SSH') and ($msg contains 'Test')) then @127.0.0.1:5000
可否請你告訴我,爲什麼TCP端口不工作和UDP端口工作正常。
也許防火牆正在阻礙。 telnet 127.0.0.1 5000'連接成功或發生錯誤? –
@MarkPlotnick,Telnet工作正常。 root @ blr09> telnet 127.0.0.1 5000 嘗試127.0.0.1 ... 連接到127.0.0.1。 轉義字符是'^]'。 ^] telnet> – sach
你能證實rsyslog實際上是在監聽端口嗎? 'netstat -tnlp | grep rsyslog'?然後確保防火牆也被配置(即在Fedora中):'firewall-cmd --zone = zone --add-port = 5000/tcp' – Arash