CentOS上配置rsyslog客戶端用以遠程記錄日志

jopen 9年前發布 | 29K 次閱讀 CentOS

rsyslog是一個開源工具,被廣泛用于Linux系統以通過TCP/UDP協議轉發或接收日志消息。rsyslog守護進程可以被配置成兩種環境,一種是配置成日志收集服務器,rsyslog進程可以從網絡中收集其它主機上的日志數據,這些主機會將日志配置為發送到另外的遠程服務器。rsyslog的另外一個用法,就是可以配置為客戶端,用來過濾和發送內部日志消息到本地文件夾(如/var/log)或一臺可以路由到的遠程rsyslog服務器上。

假定你的網絡中已經有一臺已經配置好并啟動的rsyslog服務器,本指南將為你展示如何來設置CentOS系統將其內部日志消息路由到一臺遠程rsyslog服務器上。這將大大改善你的系統磁盤空間的使用,尤其是當你還沒有一個用于/var目錄的獨立的大分區。

步驟一: 安裝Rsyslog守護進程

在CentOS 6和7上,rsyslog守護進程已經預先安裝了。要驗證rsyslog是否已經安裝到你的CentOS系統上,請執行如下命令:

# rpm -qa | grep rsyslog
# rsyslogd -v 

如果處于某種原因,rsyslog守護進程沒有出現在你的系統中,請使用以下命令來安裝:

 # yum install rsyslog 

步驟二: 配置Rsyslog守護進程為客戶端

接下來的步驟,是要將你的CentOS機器轉變成rsyslog客戶端,將其所有內部日志消息發送到遠程中央日志服務器上。

要實現該功能,請使用你喜愛的文本編輯器打開位于/etc路徑下的rsyslog主配置文件:

# nano /etc/rsyslog.conf 

開啟文件用于編輯后,你需要添加以下聲明到文件底部。將IP地址替換為你的遠程rsyslog服務器的IP地址。

*.*  @192.168.1.25:514 

上面的聲明告訴rsyslog守護進程,將系統上各個設備的各種日志消息路由到遠程rsyslog服務器(192.168.1.25)的UDP端口514。

如果出于某種原因,你需要更為可靠的協議,如TCP,而rsyslog服務器也被配置為監聽TCP連接,你必須在遠程主機的IP地址前添加一個額外的@字符,像下面這樣:

*.*  @@192.168.1.25:514 

注意,你也可以將rsyslog服務器的IP地址替換成它的主機名(FQDN)。

如果你只想要轉發服務器上的指定設備的日志消息,比如說內核設備,那么你可以在rsyslog配置文件中使用以下聲明。

kern.* @192.168.1.25:514 

修改配置文件后,你需要重啟進程以激活修改:

CentOS 7:

# systemctl restart rsyslog.service 

CentOS 6:

# service rsyslog restart 

非 syslog 日志的轉發

在另外一種環境中,讓我們假定你已經在機器上安裝了一個名為“foobar”的應用程序,它會在/var/log下生成foobar.log日志文件。現在,你想要將它的日志定向到rsyslog服務器,這可以通過像下面這樣在rsyslog配置文件中加載imfile模塊來實現。

首先,加載imfile模塊,這只需做一次。

module(load="imfile" PollingInterval="5") 

然后,指定日志文件的路徑以便imfile模塊可以檢測到:

input(type="imfile"
      File="/var/log/foobar.log"
      Tag="foobar"
      Severity="error"
      Facility="local7")

最后,定向local7設備到遠程rsyslog服務器:

local7.* @192.168.1.25:514

別忘了重啟rsyslog進程哦!

步驟三: 讓Rsyslog進程自動啟動

要讓rsyslog客戶端在每次系統重啟后自動啟動,請運行以下命令:

CentOS 7:

# systemctl enable rsyslog.service 

CentOS 6:

# chkconfig rsyslog on 

小結

在本教程中,我演示了如何將CentOS系統轉變成rsyslog客戶端以強制它發送日志消息到遠程rsyslog服務器。這里我假定rsyslog客戶端和服務器之間的連接是安全的(如,在有防火墻保護的公司網絡中)。不管在任何情況下,都不要配置rsyslog客戶端將日志消息通過不安全的網絡轉發,或者,特別是通過互聯網轉發,因為syslog協議是一個明文協議。要進行安全傳輸,可以考慮使用TLS/SSL來加密日志消息的傳輸。


via: http://xmodulo.com/configure-rsyslog-client-centos.html

作者:Caezsar M 譯者:GOLinux 校對:wxy

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!