实现基于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日志服务器及loganalyzer

rsyslog

系统日志服务rsyslog

基于rsyslog+mysql+loganalyzer构建一个小而美的日志服务器

Rsyslog+Loganalyer+MySQL下部署日志服务器

Linux Rsyslog日志集中管理