如何在 CentOS8/RHEL8 中配置 Rsyslog 服務器

Rsyslog 是一個自由開源的日誌記錄程序,在 CentOS 8 和 RHEL 8 系統上默承認用。它提供了一種從客戶端節點到單箇中央服務器的「集中日誌」的簡單有效的方法。日誌集中化有兩個好處。首先,它簡化了日誌查看,由於系統管理員能夠在一箇中心節點查看遠程服務器的全部日誌,而無需登陸每一個客戶端系統來檢查日誌。若是須要監視多臺服務器,這將很是有用,其次,若是遠程客戶端崩潰,你不用擔憂丟失日誌,由於全部日誌都將保存在中心的 Rsyslog 服務器上。rsyslog 取代了僅支持 UDP 協議的 syslog。它以優異的功能擴展了基本的 syslog 協議,例如在傳輸日誌時支持 UDP 和 TCP 協議,加強的過濾功能以及靈活的配置選項。讓咱們來探討如何在 CentOS 8 / RHEL 8 系統中配置 Rsyslog 服務器。linux

configure-rsyslog-centos8-rhel8

預先條件

咱們將搭建如下實驗環境來測試集中式日誌記錄過程:git

  • Rsyslog 服務器       CentOS 8 Minimal    IP 地址: 10.128.0.47
  • 客戶端系統          RHEL 8 Minimal      IP 地址: 10.128.0.48

經過上面的設置,咱們將演示如何設置 Rsyslog 服務器,而後配置客戶端系統以將日誌發送到 Rsyslog 服務器進行監視。github

讓咱們開始!vim

在 CentOS 8 上配置 Rsyslog 服務器

默認狀況下,Rsyslog 已安裝在 CentOS 8 / RHEL 8 服務器上。要驗證 Rsyslog 的狀態,請經過 SSH 登陸並運行如下命令:centos

$ systemctl status rsyslog
複製代碼

示例輸出:bash

rsyslog-service-status-centos8

若是因爲某種緣由 Rsyslog 不存在,那麼可使用如下命令進行安裝:服務器

$ sudo yum install rsyslog
複製代碼

接下來,你須要修改 Rsyslog 配置文件中的一些設置。打開配置文件:tcp

$ sudo vim /etc/rsyslog.conf
複製代碼

滾動並取消註釋下面的行,以容許經過 UDP 協議接收日誌:測試

module(load="imudp") # needs to be done just once
input(type="imudp" port="514")
複製代碼

rsyslog-conf-centos8-rhel8

一樣,若是你但願啓用 TCP rsyslog 接收,請取消註釋下面的行:ui

module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")
複製代碼

rsyslog-conf-tcp-centos8-rhel8

保存並退出配置文件。

要從客戶端系統接收日誌,咱們須要在防火牆上打開 Rsyslog 默認端口 514。爲此,請運行:

# sudo firewall-cmd --add-port=514/tcp --zone=public --permanent
複製代碼

接下來,從新加載防火牆保存更改:

# sudo firewall-cmd --reload
複製代碼

示例輸出:

firewall-ports-rsyslog-centos8

接下來,重啓 Rsyslog 服務器:

$ sudo systemctl restart rsyslog
複製代碼

要在啓動時運行 Rsyslog,運行如下命令:

$ sudo systemctl enable rsyslog
複製代碼

要確認 Rsyslog 服務器正在監聽 514 端口,請使用 netstat 命令,以下所示:

$ sudo netstat -pnltu
複製代碼

示例輸出:

netstat-rsyslog-port-centos8

完美!咱們已經成功配置了 Rsyslog 服務器來從客戶端系統接收日誌。

要實時查看日誌消息,請運行如下命令:

$ tail -f /var/log/messages
複製代碼

如今開始配置客戶端系統。

在 RHEL 8 上配置客戶端系統

與 Rsyslog 服務器同樣,登陸並經過如下命令檢查 rsyslog 守護進程是否正在運行:

$ sudo systemctl status rsyslog
複製代碼

示例輸出:

client-rsyslog-service-rhel8

接下來,打開 rsyslog 配置文件:

$ sudo vim /etc/rsyslog.conf
複製代碼

在文件末尾,添加如下行:

*.* @10.128.0.47:514           # Use @ for UDP protocol
*.* @@10.128.0.47:514          # Use @@ for TCP protocol
複製代碼

保存並退出配置文件。就像 Rsyslog 服務器同樣,打開 514 端口,這是防火牆上的默認 Rsyslog 端口:

$ sudo firewall-cmd  --add-port=514/tcp  --zone=public  --permanent
複製代碼

接下來,從新加載防火牆以保存更改:

$ sudo firewall-cmd --reload
複製代碼

接下來,重啓 rsyslog 服務:

$ sudo systemctl restart rsyslog
複製代碼

要在啓動時運行 Rsyslog,請運行如下命令:

$ sudo systemctl enable rsyslog
複製代碼

測試日誌記錄操做

已經成功安裝並配置 Rsyslog 服務器和客戶端後,就該驗證你的配置是否按預期運行了。

在客戶端系統上,運行如下命令:

# logger "Hello guys! This is our first log"
複製代碼

如今進入 Rsyslog 服務器並運行如下命令來實時查看日誌消息:

# tail -f /var/log/messages
複製代碼

客戶端系統上命令運行的輸出顯示在了 Rsyslog 服務器的日誌中,這意味着 Rsyslog 服務器正在接收來自客戶端系統的日誌:

centralize-logs-rsyslogs-centos8

就是這些了!咱們成功設置了 Rsyslog 服務器來接收來自客戶端系統的日誌信息。


via: www.linuxtechi.com/configure-r…

做者:James Kiarie 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章
相關標籤/搜索