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

來源:互聯網
上載者:User

標籤:rsysylog Log Service器

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

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

650) this.width=650;" src="http://www.linuxidc.com/upload/2015_02/150206103327752.png" width="400" height="250" style="border:0px;" />

步驟一: 安裝Rsyslog守護進程

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

  1. # rpm -qa | grep rsyslog

  2. # rsyslogd -v

650) this.width=650;" src="http://www.linuxidc.com/upload/2015_02/150206103327751.jpg" width="581" vspace="5" style="border:0px;" />

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

  1. # yum install rsyslog

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

接下來的步驟,是要將你的CentOS機器轉變成rsyslog用戶端,將其所有內部日誌訊息發送到遠程中央Log Service器上。

要實現該功能,請使用你喜愛的文字編輯器開啟位於/etc路徑下的rsyslog主設定檔:

  1. # nano /etc/rsyslog.conf

開啟檔案用於編輯後,你需要添加以下聲明到檔案底部。將IP地址替換為你的遠程rsyslog伺服器的IP地址。

  1. *.*@192.168.1.25:514

上面的聲明告訴rsyslog守護進程,將系統上各個裝置的各種日誌訊息路由到遠程rsyslog伺服器(192.168.1.25)的UDP連接埠514。

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

  1. *.*@@192.168.1.25:514

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

如果你只想要轉寄伺服器上的指定裝置的日誌訊息,比如說核心裝置,那麼你可以在rsyslog設定檔中使用以下聲明。

  1. kern.*@192.168.1.25:514

修改設定檔後,你需要重啟進程以啟用修改:

CentOS 7:

  1. # systemctl restart rsyslog.service

CentOS 6:

  1. # service rsyslog restart

非 syslog 日誌的轉寄

在另外一種環境中,讓我們假定你已經在機器上安裝了一個名為“foobar”的應用程式,它會在/var/log下產生foobar.log記錄檔。現在,你想要將它的日誌定向到rsyslog伺服器,這可以通過像下面這樣在rsyslog設定檔中載入imfile模組來實現。

首先,載入imfile模組,這隻需做一次。

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

然後,指定記錄檔的路徑以便imfile模組可以檢測到:

  1. input(type="imfile"

  2. File="/var/log/foobar.log"

  3. Tag="foobar"

  4. Severity="error"

  5. Facility="local7")

最後,定向local7裝置到遠程rsyslog伺服器:

  1. local7.*@192.168.1.25:514

別忘了重啟rsyslog進程哦!

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

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

CentOS 7:

  1. # systemctl enable rsyslog.service

CentOS 6:

  1. # chkconfig rsyslog on

小結

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


本文出自 “夢想照進現實” 部落格,請務必保留此出處http://lookingdream.blog.51cto.com/5177800/1834622

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.