CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日誌伺服器
一、簡介
1、LogAnalyzer 是一款syslog日誌和其他網路事件資料的Web前端。它提供了對日誌的簡單瀏覽、搜尋、基本分析和一些圖表報告的功能。資料可以從資料庫或一般的syslog文字檔案中獲取,所以LogAnalyzer不需要改變現有的記錄架構。基於當前的日誌資料,它可以處理syslog日誌訊息,Windows事件日誌記錄,支援故障排除,使使用者能夠快速查詢日誌資料中看出問題的解決方案。
2、LogAnalyzer 獲取客戶端日誌會有兩種儲存模式,一種是直接讀取客戶端/var/log/目錄下的日誌並儲存到服務端該目錄下,一種是讀取後儲存到日誌伺服器資料庫中,推薦使用後者。
3、LogAnalyzer 採用php開發,所以日誌伺服器需要php的執行環境,本文采用LAMP。
二、架構圖
所有主機將日誌都交給日誌日誌伺服器管理,日誌伺服器配置將所有儲存在MySQL資料庫中。
搭建Loganalyzer將日誌伺服器中的所有日誌進行web展現於管理。
三、伺服器環境
作用 | 系統 | IP |
---|---|---|
前端排程 | CentOS7.3 | 172.18.68.71 |
Web伺服器1 | CentOS7.3 | 172.18.68.72 |
Web伺服器2 | CentOS7.3 | 172.18.68.73 |
MySQL伺服器1 | CentOS7.3 | 172.18.68.74 |
MySQL伺服器2 | CentOS7.3 | 172.18.68.75 |
日誌伺服器 | CentOS7.3 | 172.18.68.10 |
四、部署過程
1.所有伺服器日誌彙集至日誌伺服器
-
客戶端配置
CentOS6和CentOS7預設使用Rsyslog記錄系統日誌,他的優點在與多執行緒,可以通過TCP、UDP傳送,可是下MySQL儲存等等。
Rsyslog的主配置檔案問為/etc/rsyslog.conf,所以要在所有客戶端中編輯主配置檔案,把所有的日誌全部發送至遠端主機管理。# 在所有客戶端伺服器編輯一下配置檔案 [root@tiaobanji ~]# vim /etc/rsyslog.conf *.info;mail.none;authpriv.none;cron.none @172.18.68.10 #重啟服務 systemctl restart rsyslog
-
服務端配置
將Rsyslog預設不接受其他主機傳來的日誌資訊。只要編輯配置檔案載入TCP、UDP模組,並且監聽埠,就可以接收其他主機傳來的日誌資訊。#將一下四行註釋取消 [root@tiaobanji ~]# vim /etc/rsyslog.conf $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514
2.配置服務端--將日誌儲存在資料庫
Rsyslog預設將日誌檔案儲存在本地,可以通過配置檔案將其修改為儲存在MySQL資料庫中。不過這需要模組支援,需要先安裝
rsyslog-mysql
軟體包.# 安裝rsyslog-mysql [root@tiaobanji ~]# yum install rsyslog-mysql -y
使用
rpm -ql rsyslog-mysql
看一下生成2個檔案。一個是模組、一個是初始化資料庫的SQL語句。只要編輯配置檔案將模組載入,然後將sql語句匯入至MySQL資料庫伺服器中即可。在資料庫中建立的使用者要與Rsyslog.conf的一致。# 1.檢視軟體包 [root@tiaobanji ~]# rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql # # 2.修改主配置檔案 [root@tiaobanji ~]# vim /etc/rsyslog.conf $ModLoad ommysql #:ommysql:資料庫IP,資料庫名,使用者名稱,密碼 *.info;mail.none;authpriv.none;cron.none :ommysql:172.18.68.74,Syslog,logadmin,centos # # 3.初始化資料庫 [root@tiaobanji ~]# mysql -h172.18.68.74 -uroot -p </usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql # # 4.授權使用者 [root@tiaobanji ~]# mysql -h172.18.68.74 -uroot -p MariaDB [(none)]> grent all on Syslog.* to 'logadmin'@'172.18.68.%' identified by 'centos';
3.部署LogAnalyzer前端展示
以上兩個步驟就將所有伺服器的日誌全部彙集至日誌伺服器並存儲在資料庫中。接下來部署LogAnalyzer將日誌用前端展示。
-
安裝LogAnalyzer
LogAnalyzer的部署非常簡單在官網http://loganalyzer.adiscon.com/下載並解壓,然後將解壓檔案中的src檔案複製到httpd可以訪問到的頁面即可。tar xf loganalyzer-4.1.5.tar.gz cp -a loganalyzer-4.1.5/src /var/www/html/loganalyzer cd /var/www/html/loganalyzer
-
配置LogAnalyzer
1、瀏覽器開啟http://IP/loganalyzer後點擊here
2、點選下一步
3、建立配置檔案
LogAnalyzer安裝時會在系統建立./config.php
配置檔案用於儲存資料庫使用者名稱、密碼等資訊。但是它並沒有許可權,所有要手動建立個檔案,並且賦予666許可權。./config.php
儲存資料庫的賬號密碼資訊,由於這個檔案僅僅才安裝LogAnalyzer時需要666許可權,所以在安裝完畢後將其許可權改為644更為妥當。touch /var/www/html/loganalyzer/config.php chmod 666 /var/www/html/loganalyzer/config.php
4、配置資料庫檔案
在第三部建立完配置檔案之後,就一直點選next。直到如圖所示
這裡會填寫資料庫相關的資訊,一定要注意大小寫,一定要手動填寫表名,因為預設的是小寫。
5、點選安裝
一切都配置完畢,最後點選安裝。如果不能安裝成功可能是之前的資料庫配置錯誤。只要將config.php刪除然後重新安裝即可。
6、測試
進入頁面之後可以看到一些日誌,那就說明所有的部署工作完成!
7、安全加固
記得前面建立了config.php檔案嗎?這個檔案儲存了資料庫的賬號密碼ip等等。在安裝前許可權為666,但是在安裝後就不需要讀許可權了所將其其改為644。chmod 644 /var/www/html/loganalyzer/config.php
五、安裝中文語言包
LogAnalyzer預設為中文,個人也是推薦使用英文。這裡也提供中文語言包。http://download.csdn.net/download/qq_36120510/10015028
解壓後將整個目錄方至/var/www/html/loganalyzer/lang目錄下。然後再次訪問頁面在右上角選擇中文即可。