今年筆者開(kāi)始在LINUX下建立日志服務(wù)器,來(lái)統(tǒng)一收集各種類(lèi)型的交換機(jī)發(fā)來(lái)的日志,這些日志文件能夠保存到一個(gè)數(shù)據(jù)庫(kù)中,利用數(shù)據(jù)庫(kù)強(qiáng)大的查詢(xún)功能,我們可以根據(jù)關(guān)鍵詞來(lái)集中的定位故障信息,比如用SELECT * from SystemEvents where Message LIKE '%conflict%'來(lái)查看有哪些沖突產(chǎn)生了。
在基本功能都實(shí)現(xiàn)的基礎(chǔ)上(即我們?cè)贛YSQL數(shù)據(jù)里面產(chǎn)生了大量的日志信息,也可以方便地通過(guò)客戶(hù)端對(duì)日志信息進(jìn)行查詢(xún)),接下來(lái)的就是對(duì)日志信息進(jìn)行分析,即我們確定好需要對(duì)哪些網(wǎng)絡(luò)設(shè)備進(jìn)行日志記錄,以哪些單詞為關(guān)鍵詞進(jìn)行查詢(xún),日志信息保存多少天,超出天數(shù)的日志信息如何處理等,最后就是配置一個(gè)WEB查詢(xún)的界面,這個(gè)界面可以讓大家都方便地進(jìn)行查詢(xún),因?yàn)槭峭ㄟ^(guò)瀏覽器進(jìn)行查詢(xún)的,不需要安裝客戶(hù)端,因此更加方便。
圖1 確認(rèn)系統(tǒng)版本號(hào)
圖2 提示內(nèi)容
下面開(kāi)始說(shuō)具體的配置過(guò)程,大致分三個(gè)部分:LAMP的搭建、RSYSLOG服務(wù)器的搭建,和loganalyzer的配置。
(1)確認(rèn)系統(tǒng)的版本號(hào)
筆者采用的是CENTOS系統(tǒng),版本號(hào)是7.4.1708,如圖 1所示。
(2)給系統(tǒng)打補(bǔ)丁
為了讓系統(tǒng)保持一個(gè)良好的工作狀態(tài),同時(shí)保障系統(tǒng)的安全性,我們要及時(shí)給系統(tǒng)打上補(bǔ)丁,當(dāng)然前提是這個(gè)系統(tǒng)是可以連接外網(wǎng)的。
yum update
(3)關(guān)閉LINUX的防火墻
當(dāng)然,關(guān)閉了防火墻系統(tǒng)就不安全了,但是如果不關(guān)的話(huà),在配置過(guò)程中好多的服務(wù)通過(guò)網(wǎng)絡(luò)是訪(fǎng)問(wèn)不到了,所以我們先關(guān)閉防火墻,等系統(tǒng)的各項(xiàng)服務(wù)都配置好了,再研究如何開(kāi)啟防火墻,以及開(kāi)放哪些端口。
systemctl stop firewalld.service
出現(xiàn)如圖2的提示,說(shuō)明防火墻已經(jīng)關(guān)閉了。
(1)程序安裝
很簡(jiǎn)單,在系統(tǒng)中執(zhí)行一條命令即可:
yum install httpd
(2)了解配置文件
在這個(gè)項(xiàng)目,我們只需要了解一條信息,即要發(fā)布的網(wǎng)頁(yè)存放在哪個(gè)目 錄(/var/www/html)下,定義是在/etc/httpd/conf文件里,如圖3所示,以后我們要放發(fā)布的網(wǎng)頁(yè),就要放在這個(gè)目錄下。
圖3 了解網(wǎng)頁(yè)文件的發(fā)布路徑
圖4 驗(yàn)證網(wǎng)頁(yè)發(fā)布成功的界面
圖5 具體方法與步驟
啟 動(dòng)httpd的命令為systemctl start httpd
出現(xiàn)如圖4所示的頁(yè)面,說(shuō)明httpd程序(即主頁(yè)發(fā)布的程序)啟動(dòng)了。
(1)MYSQL的 安裝
安 裝 MySQL,由于CentOS7默認(rèn)會(huì)安裝 Mariadb,因此使用MySQL官方提供快速的安裝方法,地 址 :http://dev.mysql.com/doc/mysql-yum-repoquick-guide/en/
具體方法與步驟如圖5所示。
(2)MYSQL 客戶(hù)端的使用
MYSQL是數(shù)據(jù)庫(kù)服務(wù)器,是存儲(chǔ)數(shù)據(jù)的地方,一般來(lái)說(shuō),數(shù)據(jù)庫(kù)服務(wù)器我們一般是不會(huì)直接操作的,我們是通過(guò)客戶(hù)端軟件連接上MYSQL服務(wù)器,在本機(jī)上通過(guò)客戶(hù)端軟件來(lái)操作數(shù)據(jù)庫(kù)服務(wù)器的,有一款很好用的客戶(hù)端軟件,名叫navicat for mysql,從網(wǎng)上可以下載免費(fèi)的試用版本。安裝完以后,就要在MYSQL里面設(shè)置讓root帳號(hào)可以在客戶(hù)端軟件上登錄,如圖6所示。這里面的關(guān)鍵就是將host的值從localhost或者代表本地的IP地址改成為%,這樣就表示可以遠(yuǎn)端進(jìn)行登錄了。
(1)安裝
yum install php phpgd php-xml php-mysql -y
(2)設(shè)置httpd及mysql開(kāi)機(jī)自啟動(dòng)
(3)測(cè)試PHP是否正常運(yùn)行
圖6 設(shè)置賬號(hào)在客戶(hù)端登錄
圖7 PHP配置成功的界面
在瀏覽器中輸入http://10.66.66.67/index.php,若顯示如圖7所示的內(nèi)容,則表示配置成功。
若是不出出以上信息,而是出現(xiàn)編寫(xiě)的代碼內(nèi)容的話(huà),可以嘗試重新啟動(dòng)一下httpd進(jìn)程,我遇到這個(gè)問(wèn)題,就是這樣解決的。
(4)必要的配置操作
安裝完P(guān)HP以后,一定要記得執(zhí)行如下操作:
將SELINUX設(shè) 置 為disabled
補(bǔ)充知識(shí):
-i :直接修改讀取的文件內(nèi)容,而不是輸出到終端。
s :取代。
不然的話(huà),在loganalye的安裝時(shí),就會(huì)一直提示有一個(gè)無(wú)法無(wú)法寫(xiě)入,就算就把這個(gè)文件的權(quán)限已經(jīng)改成chmod 666也不行。
r p m-q a r s y s l o g#CentOS7默認(rèn)會(huì)安裝rsyslog
可以看到我安裝的RSYSLOG程序的版本跟網(wǎng)上的教程里面顯示的不一樣,因?yàn)槲业腖INUX版本是比較新的,所以里面的RSYSLOG程序也比較新。
圖8 查詢(xún)程序是否正常運(yùn)行
# y u m i n s t a l l r s y s l o g-m y s q l -y#rsyslog使用此模塊將數(shù)據(jù)傳入MySQL數(shù)據(jù)庫(kù),必須安裝
導(dǎo)入數(shù)據(jù)庫(kù)操作創(chuàng)建Syslog 庫(kù),并在該庫(kù)中創(chuàng)建兩張空表SystemEvents 和SystemEventsProperties。通 過(guò)mysql-creatDB.sql程序可以查看此表格的詳細(xì)屬性,例如在日志數(shù)據(jù)表SystemEvents中,包 含設(shè)備編號(hào)ID,告警日志接收時(shí)間ReceivedAt,告警發(fā)送時(shí)間DeviceReportedTime,告警級(jí)別Priority,告警設(shè)備名字FromHost,告警信息Message等等,這些屬性與設(shè)備日志文件產(chǎn)生的數(shù)據(jù)屬性一一對(duì)應(yīng)。
此步驟非常關(guān)鍵,主要是配置rsyslog系統(tǒng)的端口、接收協(xié)議和一些規(guī)則等,詳細(xì)配置可查看/etc目錄下的rsyslog.conf文件,配置簡(jiǎn)要說(shuō)明如下:
①加載模塊命令
②開(kāi)啟UDP協(xié)議,接收從514端口轉(zhuǎn)發(fā)過(guò)來(lái)的日志
③開(kāi)啟TCP協(xié)議,接收從514端口轉(zhuǎn)發(fā)過(guò)來(lái)的日志
③所有日志類(lèi)型的info級(jí)別以及大于info級(jí)別的信息記錄到/var/log/messages,但不包含mail郵件信息,authpriv驗(yàn)證信息和cron時(shí)間任務(wù)信息
執(zhí)行命令# systemctl status rsyslog,可以看到如圖8所示信息。
安裝這個(gè)程序的目的是讓同事通過(guò)瀏覽器軟件就可以直接查看日志信息,不用再單獨(dú)安裝連接MySql的客戶(hù)端軟件了,雖然有好處,但是配置特別繁瑣。
下面不再說(shuō)細(xì)說(shuō)明每一個(gè)步驟,就把需要注意的地方說(shuō)明一下。
我們是直接從loganalyzer的網(wǎng)站上下載的最新版本的程序,該程序放在/home/lrx目錄下了。
具體的配置方法可以參考一篇文檔:rsyslog+loganalyzer安裝及配置.pdf,這是。
(1)config.php文件不可寫(xiě)的問(wèn)題
這個(gè)問(wèn)題除了要注意chmod 666外,還要注意,之前說(shuō)過(guò)修改LINUX里面的一個(gè)配置文件的問(wèn)題。
(2)連接數(shù)據(jù)庫(kù)的問(wèn)題
LogAnalyzer要想配置成功,關(guān)鍵問(wèn)題是要能夠連接數(shù)據(jù)庫(kù),核心是連接數(shù)據(jù)的用戶(hù)名和密碼,在這里我們首先要在數(shù)據(jù)庫(kù)里面創(chuàng)新一個(gè)用戶(hù)。
本例中為syslog1,密碼要符合規(guī)定,然后要明確連接數(shù)據(jù)庫(kù)的名稱(chēng)為Syslog,最后要自己在命令行中測(cè)試一遍,確認(rèn)沒(méi)有問(wèn)題的話(huà),才能在WEB的配置界面中配置成功。
還要注意:最后還有一個(gè)連接數(shù)據(jù)庫(kù)的操作,這里面的用戶(hù)名為root,密碼為root的密碼,這個(gè)跟之前的那個(gè)用戶(hù)名是不一樣的。
(3)登錄查詢(xún)信息
使用syslog1/W***95!這個(gè)帳號(hào)和密碼進(jìn)行登錄,在登錄時(shí)能夠登錄上,但是會(huì)出現(xiàn)一個(gè)錯(cuò)誤提示,大概的意思是顯示不出來(lái)日志信息是因?yàn)榕渲梦募衅磳?xiě)錯(cuò)誤,我們通過(guò)以下操作來(lái)解決的:
即進(jìn)入/var/www/html/loganalyzer這個(gè)目錄,查看config.php文件,會(huì)發(fā)現(xiàn)里面把記錄日志數(shù)據(jù)庫(kù)文件的表名寫(xiě)錯(cuò)了,大小寫(xiě)與實(shí)際的表名不一致,改成一致的就可以了,如下所示。