实现将rsyslog将日志记录与MySQL中
准备两个节点
node3: rsyslog
node2: 数据库
准备相应的包
[root@node3 php-fpm.d]#yum install rsyslog-mysql
将数据拷贝到数据库节点,让其创建表
[root@node3 php-fpm.d]#scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql node2:/data/
在mysql server上授权rsyslog能连接至当前服务器
[root@node2 data]#mysql < mysql-createDB.sql #:导入数据库和表
MariaDB [powerdns]> GRANT ALL ON Syslog.* TO 'syslog'@'192.168.37.%' IDENTIFIED BY 'centos'; Query OK, 0 rows affected (0.00 sec) MariaDB [powerdns]> flush privileges; Query OK, 0 rows affected (0.00 sec)
配置rsyslog文件
[root@node3 php-fpm.d]#vim /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514 #打开远程端口
$ModLoad imtcp
$InputTCPServerRun 514 #打开远程端口
$ModLoad ommysql #:启用模块
*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.37.22,Syslog,syslog,centos #:配置连接账号
重启服务
[root@node3 php-fpm.d]#systemctl restart rsyslog
通过loganalyzer展示数据库中的日志
准备好LAMP组合
解压LogAnalyzer
[root@node3 source]#tar xf loganalyzer-4.1.7.tar.gz
添加虚拟主机
[root@node3 src]#vim /app/httpd24/conf/extra/httpd-vhosts.conf <virtualhost *:80> ServerName logs.magedu.com DocumentRoot "/data/logs/" <Directory "/data/logs/"> require all granted </Directory> ProxyPassMatch "^/(.*\.php)$" "fcgi://127.0.0.1:9000/data/logs/" </Virtualhost>
创建文件,并将解压好的文件移到到文档目录
[root@node3 src]#mkdir /data/logs
[root@node3 src]#mv /data/source/loganalyzer-4.1.7/src/* /data/logs/
进到文档目录创建文件并修改权限
[root@node3 src]#cd /data/logs/ [root@node3 logs]#touch config.php [root@node3 logs]#chmod 666 config.php
重启服务
[root@node3 logs]#apachectl restart
测试