2024年6月22日 星期六

Use Rsyslog receive remote logging-server setup

使用Rsyslog 建置log伺服器接收遠端log紀錄-Server

 
在Oracle Linux 9 使用Rsyslog 建置log伺服器,來接收接收遠端設備log紀錄。
Rsyslog是經過 omfwd 模組提供透過 UDP 或 TCP 的轉發。將使用 TCP 協議進行傳輸,確保資訊傳輸的可靠性。Port 先使用預設 514。

安裝環境

Server主機:Oracle Linux 9.4  
Rsyslog 8.2310
01-os
遠端主機:Oracle Linux 8.4
Rsyslog 8.2310

設定過程

安裝過程先關閉firewall避免造成影嚮,後續再進行相關設定。
設定過程參考Redhat9資料

Server主機設定

不修改/etc/rsyslog.conf,在/etc/rsyslog.d/目錄新建一個文件/etc/rsyslog.d/remotelog.conf
02-remotelog.conf

/etc/rsyslog.d/remotelog.conf
---
template(name="TmplAuthpriv" type="list") {
    constant(value="/var/log/remote/auth/")
    property(name="hostname")
    constant(value="/")
    property(name="programname" SecurePath="replace")
    constant(value=".log")
    }
template(name="TmplMsg" type="list") {
    constant(value="/var/log/remote/msg/")
    property(name="hostname")
    constant(value="/")
    property(name="programname" SecurePath="replace")
    constant(value=".log")
    }
module(load="imtcp")
ruleset(name="remote1"){
     authpriv.*   action(type="omfile" DynaFile="TmplAuthpriv")
      *.info;mail.none;authpriv.none;cron.none
action(type="omfile" DynaFile="TmplMsg")
}
input(type="imtcp" port="514" ruleset="remote1")
---

新建template 名稱為TmplAuthpriv,類型為list
模板的內容如下:
    constant(value="/var/log/remote/auth/"):Log文件的路徑前綴。
    property(name="hostname"):將傳送Log的主機名稱作為路徑的一部分。
    constant(value="/"):添加一個斜杠作為分隔符。
    property(name="programname" SecurePath="replace"):將Log相關的程序名作為路徑的一部分,並用安全路徑替換任何潛在的危險字符。
    constant(value=".log"):新增加為副檔名為.log的檔案。

新建template 名稱為TmplMsg,類型為list
模板的內容如下:
    constant(value="/var/log/remote/msg/"):Log文件的路徑前綴。
    property(name="hostname"):將傳送Log的主機名作為路徑的一部分。
    constant(value="/"):添加一個斜杠作為分隔符。
    property(name="programname" SecurePath="replace"):將Log相關的程序名作為路徑的一部分,並用安全路徑替換任何潛在的危險字符。
    constant(value=".log"):新增加為副檔名為.log的檔案。

載入imtcp模組,讓rsyslog使用TCP協議接收遠程日誌。

新增ruleset 名稱為remote1,用於處理接收到的日誌。
 authpriv.* 使用omfile依TmplAuthpriv 動態生成的文件處理。
 *.info;mail.none;authpriv.none;cron.none 使用omfile依 TmplMsg 動態生成的文件處理 

設用輸入使用Tcp port 514,並使用remote1規則,處理接收到的日誌消息。

測試rsyslog設定,如果沒有錯誤產生,即設定正確。
# rsyslogd -N 1

03-configtest

檢查rsyslog服務運行狀態並重新啟動
# systemctl status rsyslog

重新啟動rsyslog服務。
# systemctl restart rsyslog

檢查rsyslog服務運行狀態
# systemctl status rsyslog
04-systemctl restart rsyslog




參考資料:

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。