前幾天領(lǐng)導(dǎo)安排了一個(gè)任務(wù),要在一臺(tái)Linux服務(wù)器上搭建日志服務(wù)器,作用是記錄本網(wǎng)段所有服務(wù)器的日志,我們這個(gè)網(wǎng)段包括WWW、DNS、Mail、計(jì)費(fèi)、Video、電子政務(wù)等十幾臺(tái)服務(wù)器,系統(tǒng)包括Windows2000、Windows2003、Linux9、AS4和Solaris。因?yàn)橐郧案緵]有這方面的經(jīng)驗(yàn)和資料,自然而然想到了在網(wǎng)上搜羅一下,可能是這方面的應(yīng)用不是太廣吧,找來找去,只找到了一篇比較對(duì)路的資料,就是這篇“集中管理服務(wù)器日志”。全文如下:
1 創(chuàng)建日志服務(wù)器,用來接收客戶端發(fā)送來的日志,采用Linux系統(tǒng)默認(rèn)的syslog程序配置syslog程序,使其能夠接收其他服務(wù)器發(fā)來的日志。
為了將日志按服務(wù)器ip分類,可以將syslogd程序配置如下,需要修改一下/etc/syslog.conf文件:
authpriv.* |/var/log/servers/server_login.sh
這表示把系統(tǒng)的登入登出日志(包括本機(jī)系統(tǒng)登陸登出日志)存放到/var/log/servers文件夾下。在記錄目標(biāo)前面加上“|”表示把接收到的信息交給后面的程序處理,這個(gè)程序可以是一個(gè)專門的日志處理軟件,也可以是一個(gè)自己編寫的小的腳本,舉例:
#!/bin/sh
read stuff
SERVER=`echo $stuff |awk ‘{print $4}’`
echo $stuff >> /var/log/login_log/$SERVER.log
這個(gè)簡單的腳本以IP作為分類依據(jù),先用read讀取log信息,用awk取出第四字段(即IP地址或者主機(jī)名所在的字段),以該字段為文件名存放該主機(jī)的日志。這樣一來,來自192.168.1.1的log會(huì)記錄到192.168.1.1.log文件中,來自192.168.1.2的log會(huì)被記錄在192.168.1.2.log文件中,分析和歸類就比較方便了。甚至把log信息分類后插入數(shù)據(jù)庫中,這樣日志的管理和分析就更方便了。
2 配置linux客戶端,發(fā)送其日志到日志服務(wù)器。
3 配置windows服務(wù)器,使其發(fā)送日志到日志服務(wù)器。需要安裝一個(gè)第三方軟件,名字叫eventsys,用于轉(zhuǎn)發(fā)日志到linux系統(tǒng)的syslog日志服務(wù)程序。下載地址為:
https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys解壓后是兩個(gè)文件evtsys.dll和evtsys.exe,把這兩個(gè)文件拷貝到 c:\windows\system32目錄下。
打開Windows命令提示符(開始->運(yùn)行 輸入CMD)
C:\>evtsys –i –h 192.168.0.2
-i 表示安裝成系統(tǒng)服務(wù)
-h 指定log服務(wù)器的IP地址
打開windows組策略編輯器 (開始->運(yùn)行 輸入 gpedit.msc),在windows設(shè)置-> 安全設(shè)置 ->本地策略 ->審核策略中,打開你需要記錄的windows日志。evtsys會(huì)實(shí)時(shí)的判斷是否有新的windows日志產(chǎn)生,然后把新產(chǎn)生的日志轉(zhuǎn)換成syslogd可識(shí)別的格式,通過UDP 3072端口發(fā)送給syslogd服務(wù)器。
所不同的是evtsys是以daemon設(shè)備的方式發(fā)送給 syslogd log信息的。
因此,需要在/etc/syslog.conf中加入:
daemon.notice |/var/log/server_login.sh
看完此文后,心里大概有了一個(gè)譜了,知道該怎樣操作了,可是還有一些細(xì)節(jié)性的問題需要搞清楚:
1:第一步關(guān)于建立日志服務(wù)器講得不是很清楚,后面四行編寫的腳本是不是就是前面的程序server_login.sh?然后這一步是不是僅僅就寫一個(gè)腳本和改動(dòng)一下syslog.conf文件就可以了?總覺得沒有這么簡單。
2:第二步講的更不清楚,如何配置Linux客戶端,使其發(fā)送其日志到日志服務(wù)器?另外我們的很多服務(wù)器采用的是Linux AS4系統(tǒng),日志服務(wù)器如果安裝的版本與它不同或者說低于它(如RedHat Linux9),能否同樣完成日志的傳送?
3:第三步配置Windows客戶端有一個(gè)問題,就是Windows客戶端記錄系統(tǒng)日志使用的是系統(tǒng)自帶的Eventvwr.msc組件,此組件記錄的日志分為三部分:應(yīng)用程序日志、系統(tǒng)日志和安全性日志,那么在發(fā)送日志到日志服務(wù)器的時(shí)候,是不是將三部分統(tǒng)統(tǒng)發(fā)送?
4:很多專有系統(tǒng)有自己自帶的日志記錄工具,如:計(jì)費(fèi)服務(wù)器和郵件服務(wù)器,那么這部分的日志能不能夠被記錄到日志服務(wù)器?如果能,又該如何操作?
5:最后一個(gè)問題是,有沒有一款基于Windows系統(tǒng)的搭建日志服務(wù)器的軟件?當(dāng)然,它能夠跨系統(tǒng)接收Linux、Solaris和FreeBSD等OS發(fā)送的日志。