rsyslog+loganalyzer系統日誌分析系統(基礎搭建)
rsyslog+loganalyzer系統日誌分析系統(基礎搭建)
好吧。先說明一下。本來是想做一下系統日誌的分析。但沒想到後面發現自己的要求有點高,整個項目要瞭解的東西是越來越多。於是乎,分開記錄吧。
這裡是最基礎的配置:僅僅是單機版的搭建,東西不多,但是後面幾個分段的基礎
基礎系統:AS6.3
軟體:rsyslog是內建的5.8.10
Loganalyzer是網友漢化過的3.6.5
目的:其實很簡單,就是實現loganalyer對系統日誌的分析。
步驟如下:1.loganalyer其實是php指令碼,那麼apache要支援php
2.loganalyer可以支援的資料來源類型,可以是資料庫也可以是直接的系統檔案, 為了以後各方面都示範到,所以這裡預設用的資料來源是mysql。
3.配置rsyslog把日誌寫入mysql
4.安裝配置loganalyer正常工作。
OK,開始:
1~2. 我的系統是AS6的,安裝的時候就把LAMP所相關的rpm包全裝完了。所以1和2基本上已經OK。但是由於實驗是預設環境,所以selinux必須關掉,否則會造成自建的目錄httpd服務無法訪問。
# setenforce 0 //臨時關掉,重啟恢複
如果要永久關掉
# vim /etc/selinux/config
把SELINUX=enforcing改成SELINUX=disabled
重啟生效
Apache支援php測試可以用如下的方式驗證:
# echo "" > /var/www/html/1.php
然後在瀏覽器中訪問http://IP/1.php 如果一切正常的話大概是這樣子:
(別忘記把httpd服務開啟,#service httpd start)
3. 配置rsyslog把日誌寫入mysql
首先把mysql服務開啟
# service mysqld start
然後找到資料庫,這裡要說明一下,資料庫是在rsyslog-mysql這個包裡的,如果沒有的話去光碟片裡找
# rpm -aq | grrep rsyslog
已經裝了
找一下預設的資料庫檔案放在哪裡
# rpm -ql rsyslog-mysql-5.8.10-2.el6.i686
在這裡
匯入資料庫
# mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
導完之後,進資料庫可以看到新資料庫Syslog,裡面就只有兩張資料表:SystemEvents和SystemEventsProperties。
這裡為了等下的日誌寫入mysql驗證要建個新使用者設一下密碼
mysql> grant all on Syslog.* to rsyslog@localhost IDENTIFIED BY ‘123456’;
mysql> flush privileges;
設定rsyslog把日誌資料匯入mysql
# vim /etc/rsyslog.conf
去掉 #$ModLoad immark 前的#
//開啟標記日誌功能
添加 $ModLoad ommysql
//開啟mysql支援功能
添加 *.* :ommysql:localhost,Syslog,rsyslog,123456
//把所有日誌記錄到mysql
重啟rsyslog服務
# service rsyslog restart
4. 安裝和配置loganalyer
# mkdir log
# tar zxvf loganalyzer-3.6.5-cn.tar.gz -C log
# mv log /var/www/html/
# chown daemon.daemon -R /var/www/html/log/
//這一步是保證等下config檔案能被建立
然後訪問 http://ip/log/src
沒找到設定檔,單擊紅框。
直接 Next
這就OK了,如果寫入失敗,自己去調整/var/www/html/log 的許可權
別吃驚,安裝預設還是英文的,我啟用了瀏覽器的翻譯功能,具體的條目自己對著看吧,其實這樣基本明了了。
這步是自動建立表,直接 Next 就行了。
建立結果,23個表成功。Next
建立管理員帳號
配置資料來源。這裡要注意,資料庫名預設是loganalyzer,表名也是全小寫,一定要改過來。
完成了,不過別高興。
好吧,確實完成了。預設是英文的,記得在紅框位置改成chinese.這裡說一下,如果出現什麼表名資料庫無法串連之類的。
二話別說,把config.php刪除了再來一次——看清大小寫。
這要比傻傻的去編輯config.php要快得多——搞過能用和不能用的兩個檔案,結果只差1Kb。