簡介
LogAnalyzer 是一款syslog日志和其他網(wǎng)絡(luò)事件數(shù)據(jù)的Web前端。它提供了對日志的簡單瀏覽、搜索波岛、基本分析和一些圖表報(bào)告的功能暖璧。數(shù)據(jù)可以從數(shù)據(jù)庫或一般的syslog文本文件中獲取,所以LogAnalyzer不需要改變現(xiàn)有的記錄架構(gòu)琳袄〗。基于當(dāng)前的日志數(shù)據(jù),它可以處理syslog日志消息窖逗,Windows事件日志記錄址否,支持故障排除,使用戶能夠快速查找日志數(shù)據(jù)中看出問題的解決方案滑负。
LogAnalyzer 獲取客戶端日志會(huì)有兩種保存模式在张,一種是直接讀取客戶端/var/log/目錄下的日志并保存到服務(wù)端該目錄下,一種是讀取后保存到日志服務(wù)器數(shù)據(jù)庫中矮慕,推薦使用后者帮匾。
LogAnalyzer 采用php開發(fā),日志服務(wù)器需要php的運(yùn)行環(huán)境痴鳄,本文采用LNMP瘟斜。
系統(tǒng)環(huán)境
服務(wù)端:
Rsyslog Server OS: CentOS6.5
Rsyslog Server OS: 192.168.1.200
Rsyslog 版本:rsyslog-5.8.10-10.el6_6.x86_64
LogAnalyzer 版本: loganalyzer-4.1.5
LNMP 版本:nginx1.8.0 + php5.6.29 + mysql 5.7.17
SELinux 關(guān)閉
iptables 打開
客戶端:
Rsyslog Client OS: CentOS6.5
Rsyslog Client OS: 192.168.1.201
安裝LNMP環(huán)境
此處省略
服務(wù)端軟件安裝和配置
軟件安裝:rsyslog和rsyslog-mysql
檢查是否按照rsyslog軟件(系統(tǒng)會(huì)默認(rèn)安裝)
# rpm -qa|grep rsyslog
安裝模塊rsyslog-mysql(負(fù)責(zé)將日志傳送到MySQL):
# yum install rsyslog-mysql -y
rsyslog配置
1、導(dǎo)入rsyslog-mysql自帶的sql文件
# mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
createDB.sql文件的內(nèi)容:(創(chuàng)建Syslog數(shù)據(jù)庫痪寻,并創(chuàng)建空表SystemEvents和SystemEventsProperties)
CREATE DATABASE Syslog;
USE Syslog;
CREATE TABLE SystemEvents
(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
ReceivedAt datetime NULL,
DeviceReportedTime datetime NULL,
Facility smallint NULL,
Priority smallint NULL,
FromHost varchar(60) NULL,
Message text,
NTSeverity int NULL,
Importance int NULL,
EventSource varchar(60),
EventUser varchar(60) NULL,
EventCategory int NULL,
EventID int NULL,
EventBinaryData text NULL,
MaxAvailable int NULL,
CurrUsage int NULL,
MinUsage int NULL,
MaxUsage int NULL,
InfoUnitID int NULL ,
SysLogTag varchar(60),
EventLogType varchar(60),
GenericFileName VarChar(60),
SystemID int NULL
);
CREATE TABLE SystemEventsProperties
(
ID int unsigned not null auto_increment primary key,
SystemEventID int NULL ,
ParamName varchar(255) NULL ,
ParamValue text NULL
);
2螺句、創(chuàng)建訪問Syslog數(shù)據(jù)庫的賬號并分配權(quán)限
mysql> grant all privileges on `Syslog`.* to 'rsyslog'@'localhost' identified by 'abc123456';
mysql> flush privileges;
3、配置服務(wù)端支持rsyslog-mysql模塊
# vim /etc/rsyslog.conf
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,abc123456
說明:ommysql表示裝載的模塊名橡类,Syslog表示數(shù)據(jù)庫名蛇尚,rsyslog表示用戶,abc123456是密碼
配置支持rsyslog-mysql模塊顾画,rsyslog會(huì)將新產(chǎn)生的日志信息自動(dòng)傳到MySQL中保存
4取劫、開啟相關(guān)日志模塊匆笤,并開啟UDP服務(wù)端口獲取內(nèi)網(wǎng)內(nèi)其他linux系統(tǒng)日志
# vim /etc/rsyslog.conf
$ModLoad immark #immark是模塊名,支持日志標(biāo)記
$ModLoad imudp #imupd是模塊名谱邪,支持udp協(xié)議
$UDPServerRun 514 #允許514端口接收使用UDP和TCP協(xié)議轉(zhuǎn)發(fā)過來的日志
5炮捧、重啟rsyslog服務(wù),讓配置生效
# /etc/init.d/rsyslog restart
6惦银、開啟iptables規(guī)則
開放514端口咆课,僅限內(nèi)網(wǎng)訪問
# vim /etc/sysconfig/iptables
-A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 514 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 514 -j ACCEPT
# /etc/init.d/iptables restart
客戶端配置
1、檢查rsyslog是否安裝
# rpm -qa|grep rsyslog
2扯俱、配置rsyslog客戶端發(fā)送本地日志到服務(wù)端
# vim /etc/rsyslog.conf
*.* @192.168.1.200
服務(wù)端地址:192.168.1.200
3书蚪、重啟服務(wù)
# /etc/init.d/rsyslog restart
4、將客戶端用戶的history寫入到系統(tǒng)日志迅栅,用于審計(jì)用戶登錄操作
用戶登錄操作被寫入系統(tǒng)日志/var/log/messages中
# vim /etc/bashrc
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
# source /etc/bashrc
說明:
1善炫、PROMPT_COMMAND 是bash的環(huán)境變量,變量值會(huì)作為普通bash命令執(zhí)行库继,執(zhí)行時(shí)間是在bash顯示prompt之前箩艺。
2、" msg=$(history 1 | { read x y; echo $y; }) " 宪萄。在prompt顯示之前艺谆,執(zhí)行history 1 ,總會(huì)獲取最后一次執(zhí)行的命令拜英,通過read命令過濾掉歷史ID静汤。msg變量的值就是執(zhí)行的命令。
3居凶、logger 是一個(gè)shell 命令接口虫给,可以通過該接口使用Rsyslog的系統(tǒng)日志模塊,還可以從命令行直接向系統(tǒng)日志文件寫入一行信息侠碧。
測試server端是否正常接收client端的日志
client 端測試:
[test@server ~]$ pwd
[test@server ~]$ whoami
[test@server ~]$ id
[test@server ~]$ ls
查看server端的messages日志:
# tail -f /var/log/messages
Jun 9 17:57:52 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]pwd
Jun 9 17:57:53 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]whoami
Jun 9 17:57:54 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]id
Jun 9 17:58:02 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]ls
安裝配置LogAnalyzer
1抹估、軟件安裝
# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.5.tar.gz
# tar zxvf loganalyzer-4.1.5.tar.gz
# cd loganalyzer-4.1.5
# mkdir /home/www/loganalyzer
# mv src/* /home/www/loganalyzer
# chmod +x contrb/configure.sh
# cp -a contrb/configure.sh /home/www/loganalyzer/
# cd /home/www/loganalyzer/
# ./configure.sh; rm -f configure.sh
在Nginx上配置域名訪問,根目錄為/home/www/loganalyzer
2弄兜、在瀏覽器安裝向?qū)е邪惭bLogAnalyzer