rsyslog基于mysql的日志集中存儲(chǔ),及l(fā)oganalyzer日志分析工具的web配置
Rsyslog是Linux系統(tǒng)自帶的一款強(qiáng)大的日志系統(tǒng),在業(yè)務(wù)量不是很大的情況下,能夠滿足大部分客戶的日志分類(lèi)搜集功能,是廣大運(yùn)維同事進(jìn)行系統(tǒng)監(jiān)控、分析不可或缺的利器。而在運(yùn)維自動(dòng)化高速發(fā)展的今天,如果我們還要“人工”智能的去每一個(gè)服務(wù)器上查看系統(tǒng)日志就顯得太LOW了,并且,對(duì)我們來(lái)說(shuō)也是一個(gè)不小的負(fù)擔(dān)。
基于此,我們就簡(jiǎn)單的來(lái)介紹一下,rsyslog結(jié)合mysql數(shù)據(jù)庫(kù)基于CS架構(gòu)下的日志集中存儲(chǔ),以及web界面日志分析工具loganalyzer的基礎(chǔ)配置。為了更清晰的展示其工作原理,這里采用rsyslog客戶端、rsyslog服務(wù)器、mysql服務(wù)器、loganalyzer客戶端四臺(tái)機(jī)器進(jìn)行配置。
一、mysql服務(wù)器的配置。
安裝mysql-server(centos5/6),或者mariadb-server(centos7)。本文默認(rèn)全部采用CentOS7.2系統(tǒng)。
yum install -y mariadb-server
啟動(dòng)mariadb服務(wù):
systemctl start mariadb
查看3306端口是否監(jiān)聽(tīng):
ss -ntl
安裝rsyslog-mysql軟件包,會(huì)生成兩個(gè)文件
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
使用mysql命令初始化rsyslog數(shù)據(jù)庫(kù)
mysql -uUSER -hHOST -pPASSWORD < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
登錄到mariadb服務(wù)器,使用show databases命令可以查看到多了一個(gè)Syslog數(shù)據(jù)庫(kù)。
使用GRANT命令授權(quán)rsyslog服務(wù)器對(duì)Syslog數(shù)據(jù)庫(kù)具有讀寫(xiě)權(quán)限,這里簡(jiǎn)化操作,我們授予全部權(quán)限,具體生成環(huán)境可根據(jù)具體情況授予滿足需求的最小權(quán)限。
GRANT ALL ON Syslog.* to 'user'@'SYSLOG_SERVER_IP' IDENTIFIED BY 'password'
至此,mysql服務(wù)器的配置已經(jīng)完成。當(dāng)然為了后續(xù)我們配置loganalyzer方便,我們需要授權(quán)l(xiāng)oganalyzer服務(wù)器對(duì)數(shù)據(jù)具有相應(yīng)的權(quán)限。
GRANT ALL ON Syslog.* to 'user'@'LOGANALYZER_SERVER_IP' IDENTIFIED BY 'password'
二、Rsyslog服務(wù)器的配置
安裝rsyslog-mysql軟件包,或?qū)ysql服務(wù)器中的/usr/lib64/rsyslog/ommysql.so文件copy到本地對(duì)應(yīng)路徑。
修改/etc/rsyslog.conf配置文件
啟用響應(yīng)的udp或tcp模塊,并開(kāi)啟514端口監(jiān)聽(tīng)
$ModLoad imudp
$UDPServerRun 514
或
$ModLoad imtcp
$InputTCPServerRun 514
啟用mysql模塊,并配置響應(yīng)的日志級(jí)別,將日志輸出信息保存至mysql服務(wù)器的Syslog數(shù)據(jù)庫(kù)
$ModLoad ommysql // MODULES段
FACILITY.PRIORITY :ommysql:MYSQL_SERVER_IP,Syslog_DB,USER,PASS
查看514端口是否監(jiān)聽(tīng)
ss -ntul
重新啟動(dòng)rsyslog服務(wù)
systemctl restart rsyslog
至此rsyslog服務(wù)器也配置完成
三、配置rsyslog客戶端
客戶端的配置,僅需修改/etc/rsyslog.conf文件,將相應(yīng)的日志信息保存位置設(shè)置為遠(yuǎn)程的rsyslog服務(wù)器即可
FACILITY.PRIORITY @RSYSLOG_SERVER_IP
重啟rsyslog服務(wù)即完成配置
systemctl restart rsyslog
至此,即完成了基于mysql即rsyslog的日志分布式集中存儲(chǔ)管理配置。
四、基于web界面的日志管理分析工具loganalyzer的配置
雖然上面已經(jīng)完成了日志系統(tǒng)的配置,但當(dāng)日志信息量較大時(shí),對(duì)于日志信息的分析、查詢(xún)需要直接操作mysql數(shù)據(jù)庫(kù),這就顯得比較麻煩了。不過(guò)有一款web界面化的日志分析管理工具loganalyzer會(huì)給我們帶來(lái)諸多便利。
LogAnalyzer 是一款syslog日志和其他網(wǎng)絡(luò)事件數(shù)據(jù)的Web前端。它提供了對(duì)日志的簡(jiǎn)單瀏覽、搜索、基本分析和一些圖形化的圖表報(bào)告功能。數(shù)據(jù)可以從數(shù)據(jù)庫(kù)或一般的syslog文本文件中獲取。logAnalyzer采用php開(kāi)發(fā),所以日志服務(wù)器需要php的運(yùn)行環(huán)境,所以我們需要配置帶GD庫(kù)的PHP環(huán)境(我們這里以LAMP為例)。
這里我們?cè)谙鄳?yīng)的web服務(wù)器上安裝php軟件包,及相關(guān)組件
yum install -y php php-mysql php-gd httpd
下載loganalyzer源碼包,并解壓縮
將程序文件復(fù)制到web根目錄,并重命名
cp -r loganalyzer-VERSION/src /var/www/html/loganalyzer
創(chuàng)建文件,并修改權(quán)限為666
touch config.php
chmod 666 config.php
啟動(dòng)apache,并訪問(wèn)loganalyzer。
systemctl start httpd
在瀏覽器中訪問(wèn)http://WEB_SERVER/loganalyzer,根據(jù)提示進(jìn)行程序的安裝設(shè)置,并進(jìn)行數(shù)據(jù)庫(kù)的配置,如下圖

安裝完成后的顯示界面如下圖所示:
