rsyslog是一種模塊化的架構,用來記錄日誌文件。 支持多種協議:如TCP,SSL,TLS,RELP。也支持MySQL, PGSQL, Oracle等多種關係型數據。rsyslog是syslog的增強版。我們可以用它來記錄本地的日誌文件,也可以把其他的客戶端的日誌記錄在某一個服務器主機上。
loganalyzer:web界面的日誌管理系統(一個簡單的系統日誌分析工具),可以讓用戶通過瀏覽器來管理日誌,方便快捷,一目瞭然。
rsyslog的主配置文件:/etc/rsyslog.conf
rsyslog所記錄的日誌信息格式:
時間 主機 進程(PID):事件
本次實驗的目的:一,用rsyslog來記錄其他客戶機的日誌文件。
二,用rsyslog把日誌存儲於MySQL服務器中。
三,利用loganalyzer通過webGUI展示日誌信息。
一,用rsyslog來記錄其他客戶機的日誌文件:
服務端:192.168.1.156
客戶端:192.168.1.157
首先安裝rsyslog包分別到日誌服務器端(192.168.1.156)和客戶機端(192.168.1.157),
# yum install rsyslog
編輯服務器(192.168.1.156)的 rsyslog的主配置文件:/etc/rsyslog.conf,
# vim /etc/rsyslog.conf
啓用UDP 514端口和TCP 514端口:
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
在#### RULES ####段啓用 *.info;mail.none;authpriv.none;cron.none /var/log/messages;保存退出。
啓動rsyslog;
# service rsyslog start
驗證rsyslog是否已啓用
# ss –tunlp
查看TCP的514端口和UDP的514端口是否已監聽
編輯客戶機(192.168.1.157)的 rsyslog的主配置文件:/etc/rsyslog.conf
# vim /etc/rsyslog.conf
在#### RULES ####段啓用 *.info;mail.none;authpriv.none;cron.none @192.168.1.156;保存退出
啓動rsyslog
# service rsyslog start
在客戶機(192.168.1.157)上隨意執行一個能夠被記錄進日誌文件的操作,我們這裏用yum來安裝個任意包以便查看日誌文件。
在客戶機(192.168.1.157)的日誌文件/var/log/messages下查看是否有日誌(客戶機肯定沒有)
在服務器(192.168.1.156)的日誌文件/var/log/messages下查看是否有日誌
結果驗證。
二,用rsyslog把日誌存儲於MySQL服務器中:
日誌服務器:192.168.1.156(同時也是數據庫服務器)
客戶端:192.168.1.157
要想用rsyslog把日誌存儲於關係型數據庫中去,rsyslog自己必須作爲客戶端要能夠連接到數據庫中去,要有驅動支持rsyslog連接到數據庫中去纔可。rsyslog的驅動是通過自己的模塊來實現的, 這個驅動就是rsyslog-mysql,需要手動安裝。
安裝驅動rsyslog-mysql,
在服務器:192.168.1.156的 rsyslog的主配置文件:/etc/rsyslog.conf中寫入 日誌信息
$ModLoad ommysql
*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.1.156,Syslog,testuser,testpass
數據庫中寫入表,用輸入重定向 # mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
# mysql > SHOW DATABASES; 檢測表Syslog是否已經存在 > use Syslog > SHOW TABLES; 查看錶中的內容是否已有 > GRANT ALL ON Syslog.* TO [email protected] IDENTIFIED BY 'testpass'; > FLUSH PRIVILEGES; # service rsyslog restart
在客戶端:192.168.1.157隨便安裝rpm包
在服務器:192.168.1.156上的/var/log/messages中查看無日誌記錄
在mysql中查看
# mysql > use Syslog > SELECT * FROM SystemEvents;
驗證結果。
三,利用loganalyzer通過webGUI展示日誌信息
# yum -y install httpd php php-mysql php-gd # tar xf loganalyzer-3.6.5.tar.gz # mkdir /var/www/html/loganalyzer # cp loganalyzer-3.6.5/src/* /var/www/html/loganalyzer/ # cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/ # cd /var/www/html/loganalyzer/ # chmod +x configure.sh secure.sh # ./configure.sh # ./secure.sh # chmod 666 config.php # chown -R apache.apache ./* # service httpd restart
此時在瀏覽器中驗證即可
成功。