您的位置:首页 > 数据库 > MySQL

rsyslog将日志记录于MySQL中并web显示

2018-02-01 18:16 337 查看

rsyslog将日志记录于MySQL中

ABC三台机器

A web显示

B 建数据库

C 日志文件

按编号顺序执行

B机器
(1) 准备MySQL Server 并启动
yum install mariadb-server
(3) 为rsyslog创建数据库及表;
[root@centos7 ~]#mysql >createDB.sql
或者
[root@centos7 ~]#mysql
MariaDB [(none)]> source createDB.sql
(4) 授权
[root@centos7 ~]#mysql
MariaDB [(Syslog)]> graant all on Syslog.* to 'USER'@'HOST' identified by 'PASSWORD';
MariaDB [(Syslog)]> graant all on Syslog.* to 'log'@'192.168.32.%' identified by 'centos'; # 建log用户是下面测试使用 也可以不创建

(5) 查表
[root@centos7 ~]#mysql
MariaDB [(Syslog)]> select * from SystemEventsProperties \G;

C机器
(2) 在rsyslog服务器上安装mysql模块相关的程序包
yum install rsyslog-mysql
scp /usr/share/doc/rsyslog-8.24.0/createDB.sql B # 把这个文件传到B机器上
修改配置rsyslog将日志保存到mysql中
[root@centos6 ~]#vim  /etc/rsyslog.conf
#### MODULES ####
$ModLoad ommysql # 添加此模块
*.info;mail.none;authpriv.none;cron.none               :ommysql:DBHOST,DBNAME,DBUSER, PASSWORD # 42行添加这一行


通过
loganalyzer
展示数据库中的日志

A机器
(1) 在rsyslog服务器上准备amp或nmp组合
yum install httpd php php-mysql php-gd
(2) Php使用mysqli扩展连接数据库的测试代码
[root@centos7 ~]#vim /var/www/html/test.php
<?php
$mysqli=new mysqli("mysqlserver","log","centos");
if(mysqli_connect_errno()){
echo "Failure";
$mysqli=null;
exit;
}
echo "OK";
$mysqli->close();
?>
[root@centos7 ~]#systemctl start httpd # 重启服务页面查看test.php ok 成功
(3) 安装LogAnalyzer
下载地址 http://loganalyzer.adiscon.com/downloads/ tar xvf loganalyzer-4.1.6.tar.gz
cp -a loganalyzer-4.1.6/src /var/www/html/loganalyzer
cd  /var/www/html/loganalyzer
touch config.php
chmod 666 config.php
(4) 配置loganalyzer
systemctl start httpd.service http://HOST/loganalyzer 之后web界面操作 下面一张图是主要配置
(5) 安全加强
cd  /var/www/html/loganalyzer
chmod 644 config.php




Syslog       # 数据库名字
SystemEvents # 表名
log          # 数据库用户
密码


下面还有两篇文章

linux系统日志管理详解

logrotate日志转储(滚动)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rsyslog