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 # 数据库用户
密码
下面还有两篇文章