1、簡介php
LogAnalyzer 是一款syslog日誌和其餘網絡事件數據的Web前端。它提供了對日誌的簡單瀏覽、搜索、基本分析和一些圖表報告的功能。數據能夠從數據庫或通常的syslog文本文件中獲取,因此LogAnalyzer不須要改變現有的記錄架構。基於當前的日誌數據,它能夠處理syslog日誌消息,Windows事件日誌記錄,支持故障排除,使用戶可以快速查找日誌數據中看出問題的解決方案。html
LogAnalyzer 獲取客戶端日誌會有兩種保存模式,一種是直接讀取客戶端/var/log/目錄下的日誌並保存到服務端該目錄下,一種是讀取後保存到日誌服務器數據庫中,推薦使用後者。前端
LogAnalyzer 採用php開發,因此日誌服務器須要php的運行環境,本文采用LAMP。mysql
2、系統環境sql
Rsyslog Server OS:CentOS 6.5數據庫
Rsyslog Server IP:192.168.0.109瀏覽器
Rsyslog 版本:rsyslog-5.8.10-8.el6.i686bash
LogAnalyzer 版本:LogAnalyzer 3.6.5 (v3-stable)服務器
LAMP 版本:Apache/2.4.6 + mysql-5.6.39 + PHP 5.4.16網絡
防火牆已關閉/iptables: Firewall is not running.
SELINUX=disabled
Rsyslog Client OS:RHEL 6.4
Rsyslog Client IP:192.168.0.114
3、安裝並設置LAMP環境
3.1 安裝LAMP環境
# yum -y install httpd mysql* php*
3.2 啓動服務並加入開機啓動
啓動Apache
# /etc/init.d/httpd start
# chkconfig httpd on
啓動數據庫
# /etc/init.d/mysqld start
# chkconfig mysqld on
3.3 設置MySQL root 密碼
# mysqladmin -uroot password 'abc123'
3.4 測試php運行環境
http配合php自行解決。
# cd /var/www/html/
[root@TS html]# cat > index.php <<EOF
> <?php
> phpinfo();
> ?>
> EOF
打開瀏覽器訪問:http://192.168.0.109/index.php
LAMP環境配置完畢。
4、檢查並安裝服務器端軟件
4.1 檢查是否安裝了rsyslog軟件
# rpm -qa|grep rsyslog //默認系統都安裝了該軟件
4.2 安裝rsyslog 鏈接MySQL數據庫的模塊
# yum install rsyslog-mysql –y
rsyslog-mysql 爲rsyslog 將日誌傳送到MySQL 數據庫的一個模塊,這裏必須安裝。
5、配置服務器端
5.1 導入rsyslog-mysql 數據庫文件
# cd /usr/share/doc/rsyslog-mysql-5.8.10/
# mysql -uroot -pabc123 < createDB.sql
查看作了哪些操做
# mysql -uroot –p
mysql> show databases;
mysql> show tables;
導入數據庫操做建立了Syslog 庫並在該庫中建立了兩張空表SystemEvents 和SystemEventsProperties。
5.2 建立rsyslog 用戶在mysql下的相關權限
# mysql -uroot –p
mysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';
mysql> flush privileges;
mysql> exit
5.3 配置服務端支持rsyslog-mysql 模塊,並開啓UDP服務端口獲取網內其餘LINUX系統日誌
# vi /etc/rsyslog.conf
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,123456
在 #### MODULES #### 下添加上面兩行。
說明:localhost 表示本地主機,Syslog 爲數據庫名,rsyslog 爲數據庫的用戶,123456爲該用戶密碼。
5.4 開啓相關日誌模塊
# vi /etc/rsyslog.conf
$ModLoad immark #immark是模塊名,支持日誌標記
$ModLoad imudp #imupd是模塊名,支持udp協議
$UDPServerRun 514 #容許514端口接收使用UDP和TCP協議轉發過來的日誌
5.5 重啓rsyslog 服務
# /etc/init.d/rsyslog restart
6、配置客戶端
6.1 檢查rsyslog 是否安裝
# rpm -qa|grep rsyslog
6.2 配置rsyslog 客戶端發送本地日誌到服務端
# vi /etc/rsyslog.conf
*.* @192.168.1.107
行尾新增上面這行內容,即客戶端將本地日誌發送到服務器。
6.3 重啓rsyslog 服務
# /etc/init.d/rsyslog restart
6.4 編輯/etc/bashrc,將客戶端執行的全部命令寫入系統日誌/var/log/messages中。
# vi /etc/bashrc
在文件尾部增長一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
設置其生效
# source /etc/bashrc
客戶端配置完畢。
7、測試Rsyslog Server是否能夠正常接受Client端日誌
Client 端測試:
Server 端偵測:
說明接收正常,包括你重啓機器的一些Log均可以查看到。
8、安裝LogAnalyzer
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
# tar zxf loganalyzer-3.6.5.tar.gz
# cd loganalyzer-3.6.5
# mkdir -p /var/www/html/loganalyzer
# rsync -a src/* /var/www/html/loganalyzer/
9、在瀏覽器安裝嚮導中安裝LogAnalyzer
9.1 打開瀏覽器訪問:http://192.168.1.107/loganalyzer/
提示沒有配置文件,點擊 here 利用嚮導生成。
9.2 第一步,測試系統環境
點擊 「Next」,進入第二步。
提示錯誤:缺乏config.php 文件,而且權限要設置爲666,可使用contrib目錄下的configure.sh 腳本生成。
查看configure.sh 文件內容
須要在/var/www/html/loganalyzer/ 下建立config.php 文件,並設置其權限爲666。
# touch /var/www/html/loganalyzer/config.php
# chmod 666 /var/www/html/loganalyzer/config.php
作完上面的操做以後,執行 ReCheck 操做,config.php 文件可寫,點擊 Next 進入下一步。
9.3 第三步,基礎配置
在User Database Options 中,填入上面設置的參數,而後點擊 Next.
9.4 第四步,建立表
點擊 Next 開始建立表。
9.5 第五步,檢查SQL結果
9.6 第六步,建立管理用戶
9.7 第七步,建立第一個系統日誌source.
9.8 第八步,完成
10、測試
LogAnalyzer 首頁
點擊任何一條記錄,查看詳情。
查看Statistics
登陸測試
在Admin Center 裏能夠進行一些系統設置。
Rsyslog + LogAnalyzer 日誌服務器部署完畢。