好吧。先說明一下。本來是想做一下系統日志的分析。但沒想到後面發現自己的要求有點高,整個項目要了解的東西是越來越多。於是乎,分開記錄吧。
這裡是最基礎的配置:僅僅是單機版的搭建,東西不多,但是後面幾個分段的基礎
基礎系統: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。