首頁 > 軟體

Linux中一對多設定紀錄檔伺服器的詳細步驟

2022-07-20 14:03:33

設定傳送端:從server傳送到syslog

開啟以下檔案

在第90行(附近也行)輸入以下程式碼,authpriv代表所有級別的登入紀錄檔,@@代表tcp,172.168.2.100代表目標ip,514代表目標埠號,儲存退出

authpriv.* @@10.99.8.6:514

設定接收端:設定協定,埠號,接收條件,儲存位置

輸入以下程式碼設定協定和埠號

取消註釋如下程式碼:

接收條件設定

:fromhost- ip,iseuql,"10.99.8.6" /var/log/client_secure/10_3.log
:fromhost- ip,iseuql,"10.99.8.2" /var/log/client_secure/10_12.log

:fromhost-ip,iseuql,”172.16.2.100”是設定條件:ip是172.16.2.100,後面是設定位置

儲存退出

重啟紀錄檔服務並檢視埠514

systemctl restart rsyslog.service

進入/var/log下檢視資料夾是否建立

在接收端輸入 tail -f /var/log/client_secure/10_3.log監控此檔案的內容

觸發紀錄檔,在傳送端切換使用者

接收端成功收到紀錄檔

設定完成

方式2:模板

建立紀錄檔接收模板

接下來的這步,需要我們來為遠端訊息建立模板,並告知rsyslog守護行程如何記錄從其他使用者端機器所接受到的訊息。

使用文字編輯器來開啟 /etc/rsyslog.conf,然後在GLOBAL DIRECTIVE塊前追加以下的模板。

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" **.*  ?RemoteLogs& ~

在此對該模板進行簡單解釋,$template RemoteLogs(這裡“RemoteLogs” 字串可以為任何其他的描述性的名稱)指令使rsyslog後臺程序將紀錄檔訊息寫到/var/log下的單獨的本地紀錄檔檔案中,其中紀錄檔檔案的名稱是基於遠端紀錄檔傳送機器的主機名以及生成該紀錄檔的應用程式名進行定義的。其中第二行暗示了我們將RemoteLogs模板應用到所有接收到的紀錄檔上。

符號”& ~”表示了一個重定向規則,被用來告知rsyslog守護行程停止對紀錄檔訊息的進一步處理,並且不要在本地寫入。如果沒有使用該重定向規則,那麼所有的遠端訊息都會在寫入上述描述的紀錄檔檔案之外同時被寫入到本地紀錄檔檔案,這就意味著紀錄檔訊息實際上被寫了兩次。使用該規則的另外一個結果就是syslog伺服器本身的紀錄檔訊息只會被以該機器主機名命名的專有檔案中。

如果你想要的話,也可以使用下面的模式對特定的裝置或嚴重性級別使用新的模板直接來記錄紀錄檔訊息。

[facility-level].[severity-level]    ?RemoteLogs

例如:

將全部優先順序別的所有內部使用者驗證訊息指定為RemoteLogs模板:

authpriv.*   ?RemoteLogs

將所有系統程序中除開mail、使用者驗證和cron訊息之外的程序產生的訊息級別的紀錄檔指定為RemoteLogs模板:

*.info,mail.none,authpriv.none,cron.none    ?RemoteLogs

如果我們想要將所有從遠端使用者端接受到的訊息寫入到一個以它們的IP地址命名的單個檔案中,可以使用以下的模板。在此我們為該模板賦予了“IpTemplate”名稱。

$template IpTemplate,"/var/log/%FROMHOST-IP%.log" *.*  ?IpTemplate & ~

在我們啟用rsyslog守護行程並編輯好組態檔之後,需要重啟該守護行程。

在 Debian,Ubuntu 或 CentOS/RHEL 6中:

$ sudo service rsyslog restart

在 Fedora 或 CentOS/RHEL 7中:

$ sudo systemctl restart rsyslog

我們可以通過netstat命令來驗證rsyslog守護行程是否正常工作。

 $ sudo netstat -tulpn | grep rsyslog

在UDP監聽埠下工作的rsyslog守護行程會有類似下面的輸出。

udp     0 0    0.0.0.0:514    0.0.0.0:*      551/rsyslogd udp6    0 0    :::514         :::*           551/rsyslogd

如果rsyslog守護行程被設定在TCP連線埠,那麼應該有類似下面所示的輸出。

tcp     0 0     0.0.0.0:514   0.0.0.0:*     LISTEN    1891/rsyslogd tcp6    0 0     :::514 

結語

到此這篇關於Linux中一對多設定紀錄檔伺服器步驟教學的文章就介紹到這了,更多相關Linux設定紀錄檔伺服器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com