Rsyslog+MySQL+LogAnalyzer部署Log Service器

來源:互聯網
上載者:User

標籤:mysql   rsyslog   loganalyzer   

實驗要求

  1. 搭建可視化日誌搜集分析平台,用於集中搜集日誌,並通過可視化日誌分析工具呈現;

  2. Apps Server是要搜集日誌的Nodes,可以有多台,這裡我只用1台Node;

  3. Rsyslog Server是統一接收各Nodes提交過來的日誌,監聽在TCP/UDP 514節點;

  4. MySQL Server是用於儲存提交的日誌資訊,做獨立伺服器,也可做Cluster;

  5. LogAnalyzer是一款基於LAMP的可視化日誌分析工具,後端查詢資料庫,將結果整理輸出;

拓撲如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/75/62/wKioL1Y4QdqQYF0qAAjhMN3X8AA023.bmp" title="Drawing13.bmp" alt="wKioL1Y4QdqQYF0qAAjhMN3X8AA023.bmp" />


實現機理

Linux上的Rsyslogd能將產生的日誌提交到遠程Log Service器上,Rsyslog Server不僅可以將日誌寫入本地檔案,還可以通過rsyslog-mysql模組將日誌寫入資料庫中。LogAnalyzer能夠對日誌資訊進行分析並可視化呈現出現,顯然通過查詢MySQL資料庫中儲存的日誌資訊即可完成!


實驗步驟1.部署MySQL Server

1.1 安裝MySQL

  這裡不再贅述安裝過程,參考 MariaDB通用二進位部署手冊

1.2 建立Rsyslog依賴的資料庫

  由於該架構中Rsyslog和MySQL是分離的,MySQL要想接受Rsyslog Server傳來的有特定格式的日誌資訊,那麼必須得有特定的資料庫,而且該資料庫中的表有特定欄位去接收特定日誌資訊。當然這不需要我們來定義。Rsyslog-mysql模組就已經內建了一個createDB.sql語句,能夠自動建立特定資料庫。

yum -y install rsyslog-mysqlmysql -h localhost -u root -pzxczxc < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

這個SQL執行指令碼的具體位置可能不同,使用rpm -ql /rsyslog-mysql可以查詢到位置!

1.3 為Syslog資料庫授權

  預設情況MySQL不允許來自遠端串連,這裡我們建立一個專門的使用者來對Syslog資料庫有全部系統管理權限,並且可以從遠端連線

mysql>GRANT ALL PRIVILEGES ON Syslog.* TO ‘abc‘@‘10.134.140.65‘ IDENTIFIED BY ‘zxczxc‘;mysql>FLUSH PRIVILEGES;

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/75/62/wKioL1Y4RlHyYcgjAAG9VCEVLxk027.jpg" title="Image 6.png" alt="wKioL1Y4RlHyYcgjAAG9VCEVLxk027.jpg" />


實驗步驟2.部署Rsyslog Server

1.1 安裝rsyslogd,安裝rsyslog-mysql模組

  預設主流發行版都已安裝主程式,無需再安裝,若沒有#yum -y install rsyslogd

yum -y install rsyslog-mysql

1.2 編輯主設定檔

vim /etc/rsyslog.conf#### MODULES ####$ModLoad onmysql     --->載入串連mysql資料庫模組authpriv.* :onmysql:10.134.140.65,Syslog,abc,zxczxc$ModLoad imudp$UDPServerRun 514    --->監聽在udp514搜集nodes日誌

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/75/65/wKiom1Y4SMGjadrSAAKAlOnykGQ635.jpg" title="Image 8.png" alt="wKiom1Y4SMGjadrSAAKAlOnykGQ635.jpg" />

1.3 重啟服務即可

service rsyslog restart

實驗步驟3.部署Nodes

所謂Nodes,即需要搜集資訊的Servers,只需要編輯主設定檔即可

vim /etc/rsyslog.conf在最後行,添加你要搜集並提交給Log Service器的日誌分類.層級authpriv.* @10.134.140.64

儲存並重啟服務!

請注意:這裡的含義是將authpriv.*的日誌資訊提交給Log Service器10.134.140.64,目的連接埠預設就是步驟2中配置的udp514。

  1. rsyslog.conf預設的配置選項日誌搜集仍然會生效!只不過儲存在本地,如果不想儲存在本地了,只需要注釋掉那行,只保留 @10.134.140.64 即可;

  2. 搜集日誌資訊是以 facility.priority 來規定的,如authpriv.*表示認證授權類的所有層級都搜集

具體的分類和層級可以使用man手冊。


實驗步驟3.簡單測試

現在一套簡單的日誌搜集模型搭建完畢,所有的nodes上登入認證授權日誌資訊會被記錄提交給Rsyslog Server,並寫入資料庫中,那麼我們嘗試錯誤登入10.134.140.63這台機器,然後查看資料庫呢!

3.1 類比2次錯誤登入

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/65/wKiom1Y4TFOSX8c2AAU88DgnSpI893.bmp" title="BaiduShurufa_2015-11-3_13-54-59.bmp" alt="wKiom1Y4TFOSX8c2AAU88DgnSpI893.bmp" />

3.2 查詢MySQL資料庫

這裡為了顯示直觀,我使用了Navicat For MySQL串連工具查看

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/63/wKioL1Y4TTqSknZVAAR05D9yFyg923.jpg" title="Image 13.png" alt="wKioL1Y4TTqSknZVAAR05D9yFyg923.jpg" />


成功,接下來我們只需要整合LogAnalyzer即可!


實驗步驟4.整合LogAnalyzer並測試

LogAnalyzer自身是PHP語言寫的,需要PHP引擎,顯然要和Apache結合,而日誌源在後端MySQL Server上,所以需要php-mysql驅動,所以直接搭建一套LAMP環境即可。可以參考博文 編譯安裝LAMP

這裡我直接使用yum來安裝!

4.1 安裝LAMP環境

yum -y install httpd php php-mysql php-gd

我這裡yum源為Aliyun的Centos-6,安裝的LAMP版本如下

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/75/67/wKiom1Y4Xe2Ss64cAAD4eaPO6-8880.jpg" title="Image 15.png" alt="wKiom1Y4Xe2Ss64cAAD4eaPO6-8880.jpg" />

4.2 下載LogAnalyzper並解壓到網站根目錄

LogAnalyzper的官網是http://loganalyzer.adiscon.com/

此處我選擇了最新版4.1.3來做實驗

wget tar -zxvf loganalyzer-4.1.3.tar.gzcp -r loganalyzer-4.1.3/src /var/www/html/logcp loganalyzer-4.1.3/contrib/* /var/www/html/logcd /var/www/html/logchmod +x configure.sh secure.sh./configure.sh./secure.shchmod 666 config.php

4.3 啟動httpd並進行初始化安裝配置

service httpd start

接著開啟瀏覽器,訪問http://10.134.140.66/log/install.php 具體目錄可依據實體情況更改。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/75/65/wKioL1Y4YoKim_YwAALC91un_0g101.jpg" title="Image 18.png" alt="wKioL1Y4YoKim_YwAALC91un_0g101.jpg" />


Next,確定設定檔 

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/75/65/wKioL1Y4YumisuRLAAFelVszeY8216.jpg" title="Image 21.png" alt="wKioL1Y4YumisuRLAAFelVszeY8216.jpg" />


Next,配置日誌顯示資訊等

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/75/65/wKioL1Y4Y33zBTm0ABS3MPBoWTs044.bmp" title="a1.bmp" alt="wKioL1Y4Y33zBTm0ABS3MPBoWTs044.bmp" />


Next,指明後端MySQL資料庫連接資訊

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/68/wKiom1Y4ZCKgO8pdAAIPFLcgwq0353.bmp" title="a2.bmp" alt="wKiom1Y4ZCKgO8pdAAIPFLcgwq0353.bmp" />


Next,在後端MySQL資料庫中建立表

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/68/wKiom1Y4ZXWAvf_jABGayDPfRWg861.bmp" title="a3.bmp" alt="wKiom1Y4ZXWAvf_jABGayDPfRWg861.bmp" />


Next,建立用於管理LogAnalyzper的帳號密碼

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/66/wKioL1Y4Zb-A7-GRABAyaK9BrIc385.bmp" title="a4.bmp" alt="wKioL1Y4Zb-A7-GRABAyaK9BrIc385.bmp" />


Next,在後端MySQL資料庫中建立第一條測試日誌訊息

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/75/66/wKioL1Y4Zl_wRUWhABb9YDFh2y8937.bmp" title="a5.bmp" alt="wKioL1Y4Zl_wRUWhABb9YDFh2y8937.bmp" />


Next,完成!

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/66/wKioL1Y4ZkSwaLFwAA6hCOIJIYs265.bmp" title="a6.bmp" alt="wKioL1Y4ZkSwaLFwAA6hCOIJIYs265.bmp" />


4.4 通過網頁日誌記錄吧!

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/75/68/wKiom1Y4Z7yxYE7GAATRkrPiN5Q708.jpg" title="a7.png" alt="wKiom1Y4Z7yxYE7GAATRkrPiN5Q708.jpg" />


幾點小結:

  1. 這個架構中資料庫角色其實可以直接裝在Rsyslog Server上,但是出於測試的目的,這是是剝離的

  2. Rsyslog Server既可以監聽在TCP514也可以UDP514,不過通常推薦在UDP514,你懂的;

  3. 請注意:如果Nodes上指明了提交給Rsyslog Server搜集,那麼建議將/etc/rsyslog.conf中其他無關行注釋掉,即僅提交給遠程伺服器,當然可以適當指定一些進階別日誌資訊再存放一份於本地;

  4. MySQL遠程連結要授權,MySQL遠程連結要授權,MySQL遠程連結要授權,重要的話說三遍。

本文出自 “藍色倉庫” 部落格,請務必保留此出處http://bluebox.blog.51cto.com/8852456/1709167

Rsyslog+MySQL+LogAnalyzer部署Log Service器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.