1. 程式人生 > >實現基於MySQL管理rsyslog日誌

實現基於MySQL管理rsyslog日誌

mysql 管理 rsyslog

實驗概要:

本實驗主機默認采用系統為Centos 6.9

host1主機作為遠程日誌客戶端 安裝:rsyslog (默認安裝)、rsyslog-mysql

host2主機作為日誌服務器 安裝:mysql(默認安裝,也可安裝mariadb 5版本)

host3主機圖形化管理 安裝:httpd php php-mysql php-gd loganalyzer


一、rsyslog將日誌記錄於MySQL中



1、host1 安裝rsyslog-mysql

yum install rsyslog-mysql -y
rpm -ql rsyslog-mysql    #查看生成的文件
/lib64/rsyslog/ommysql.so     #日誌文件轉數據庫文件模塊,日誌配置文件要用
/usr/share/doc/rsyslog-mysql-5.8.10 
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql #生成數據庫腳本

scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql host2 #將數據庫腳本發送給日誌服務器

2、host2 數據庫配置

mysql_secure_installation #安全初始化
mysql -uUSERNAME -hHOST -pPASSWORD < createDB.sql #執行創建數據庫腳本,會生成Syslog數據庫
mysql> GRANT ALL ON Syslog.* TO ‘USER‘@‘HOST‘ IDENTIFIED BY ‘PASSWORD‘; #創建用戶並授權
例:GRANT ALL ON Syslog.* TO ‘loguser‘@‘172.18.%.%‘ IDENTIFIED BY ‘magedu‘;

3、host1 修改日誌配置文件rsyslog.conf

vim /etc/rsyslog.conf
$ModLoad ommysql #新增加,啟用模塊文件
facility.priority :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD 
#將想要記錄的日誌發送到數據庫服務器,如下例
*.info :ommysql:172.18.22.77,Syslog,loguser, magedu
service rsyslog restart #重啟服務


二、通過loganalyzer展示數據庫中的日誌



1、host3 安裝httpd php php-mysql php-gd

yum install httpd php php-mysql php-gd -y

2、測試數據庫是否連通

關閉host2、host3防火墻及SElinux
vim /var/www/html/index.php    #編輯測試文件
if(mysqli_connect_errno()){
echo "連接數據庫失敗!";
$mysqli=null;
exit;
}
echo "連接數據庫成功!";
$mysqli->close();
phpinfo();                                                                                                                                                                                   
?>
service httpd start 
訪問 IP

技術分享如圖所示連接成功。

3、配置loganalyzer

 #訪問改地址進行配置

前幾步點擊next直接下一步即可,到step 7 這一步需要自己手填配置

技術分享

最後點擊finish即可進入管理頁面。

4、安全加強

cd /var/www/html/loganalyzer
chmod 644 config.php


本文出自 “linux運維” 博客,請務必保留此出處http://arm2012.blog.51cto.com/2418467/1972488

實現基於MySQL管理rsyslog日誌