摘要:php
本文實現的主要3個功能:
html
第一,將node1構建爲1個基於mysql保存的日誌服務器。(步驟1-6)
node
第二,構建了一個基於web-gui的日誌管理界面,使用的是loganalyzer工具(步驟7)mysql
第三,將同一網段內的node2的日誌也存放在node1的日誌服務器裏面(步驟8)
web
系統環境:sql
node1:10.61.0.63數據庫
node2:10.61.0.64
apache
yum源:epel源、本地光盤源
vim
安裝包:loganalyzer-3.6.5.tar.gz瀏覽器
實驗步驟:
***********在node1上進行以下操做*********************
1.安裝配置好可用的mysql服務器
#yum install mysql mysql-server -y
2.安裝rsyslog-mysql的程序包
#yum install rsyslog-mysql -y
3.建立rsyslog依賴的數據庫
#cd /usr/share/doc/rsyslog-mysql-5.8.10 (找到createDB.sql,並導入) #mysql < createDB.sql
4.配置rsyslog啓用ommysql模塊,以及rsyslog服務監聽的端口
#vim /etc/rsyslog.conf #### MODULES #### 首先啓動監聽端口,啓用udp的514端口,即啓動下面2項 # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 $ModLoad ommysql #### RULES #### 找到下面一項,並修改以下:啓用ommysql模塊和server_ip,user,password *.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,rsyslog,rsyslog
5.把日誌記錄至指定的數據庫表中,從新受權Syslog數據庫給rsyslog用戶以及密碼
#mysql mysql> GRANT all ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslog'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT all ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslog'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
重啓rsyslog服務
# service rsyslog restart
6.進行測試,如今咱們安裝一個zsh,而後在/var/log/message日誌查看有沒有記錄這個安裝
# yum install zsh -y # tail /var/log/messages
發現/var/log/message沒有zsh安裝的日誌
七、使用loganalyzer(基於web的圖形界面)來展現日誌信息,依賴於lamp組件
#yum install httpd mysq php-mysql php-gd -y
下載好loganalyzer包,並解壓至/var/www/html目錄下,並進行以下配置
#tar -xf loganalyzer-3.6.5.tar.gz -C /var/www/html #cd /var/www/html #mkdir log #cp loganalyzer-3.6.5/src/ log #cp loganalyzer-3.6.5/contrib/* log # cd log # ./sercure.sh # .configure.sh # chmod 666 config.php #chown -R apache.apache ./*
而後再在瀏覽器中訪問,並進行安裝:
安裝完成後,進入以下頁面
8.如今需求來了,我有另外1臺主機node2,我要把node2主機的日誌記錄在node1日誌服務器上。
************* 在node2****************
#vim /etc/rsyslog.conf ##################RULES##############找到下面一句並改成 *.info;mail.none;authpriv.none;cron.none @10.61.0.63 #service rsyslog restart ***************在node1*********************** 首先關閉防火牆 #service iptables stop
而後再在瀏覽器中訪問,此時在切換到node2上面,安裝或者卸載httpd、php,看日誌是否記錄在mysql中。下圖是我記錄的結果:
配置過程遇到的問題:
1.當loganalyzer 基於web-gui界面安裝完成後,發現圖形界面顯示不了node1主機所產生的日誌。
解決方法:發如今/etc/rsyslog.conf配置文件中的RULES段中沒添加模塊ommsql。因此從新添加後,重啓rsyslog服務刷新瀏覽器便可。
在/etc/rsyslog.conf中添加的內容:
$ModLoad ommysql
2.當對node2的日誌定向至node1,即10.61.0.63之後,發現顯示不了node2的日誌
解決方法:關閉node1的防火牆,就能夠了。在node1執行下面操做:
#service iptables stop