实现基于MySQL管理rsyslog日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现基于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日志的主要内容,如果未能解决你的问题,请参考以下文章
基于rsyslog+mysql+loganalyzer构建一个小而美的日志服务器