rsyslog+mysql+loganalyzer 环境搭建日志服务器
- 2019 年 10 月 4 日
- 筆記
环境:CentOS6.6
rsyslog+mysql+loganalyzer 环境搭建日志服务器
Client端: 192.168.2.10
MySQL服务器: 192.168.2.11
# Client端安装必备的软件包
yum install rsyslog-mysql -y
生成了2个文件:
/lib64/rsyslog/ommysql.so #rsyslog支持数据库的模块文件 /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql #创建rsyslog日志的数据库命令
# MySQL服务器配置mysql数据库
通用二进制格式包安装mariadb,安装配置步骤略过。
> grant all privileges onSyslog.* To 'syslog'@'192.168.2.%' identified by '123456'; > flush privileges; > exit
# mysql -u syslog -h 192.168.2.11 -p # 输入密码123456,测试是否能正常访问
# Client端安装mysql以便连接数据库
yum install mysql -y # 执行mysql命令,需要先安装mysql软件包 mysql -u syslog -h 192.168.2.11 -p< /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql # 在远程MySQL上执行创建rsyslog数据库命令
# 执行上面的createDB.sql后可以登陆到MySQL上查看是否已生成数据库及相关的数据表。
# 配置rsyslog以支持mysql
vi /etc/rsyslog.conf
在MODULES模块下,添加一条: $ModLoad ommysql 在RULES模块下,修改如下: 注释掉原有的*.info;mail.none;authpriv.none;cron.none /var/log/messages 添加一条记录:*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.2.11,Syslog,syslog,123456
格式说明 :ommysql:数据库地址:数据库名称:数据库的用户名:数据库密码
service rsyslog restart # 重启rsyslog日志服务
现在,我们可以yum 安装个软件测试下,会发现已经不会在/var/log/messages里记录了。
# MySQL服务器上查看是否接到到Client的日志信息:
> use Syslog; > select * from SystemEvents G; 会找到类似下图的样子,说明我们的配置没有出问题。
在Client配置个日志的前端展示工具:
# 配置web服务器
yum install httpd php php-mysql php-gd -y
写入一个test.php 到/var/www/html/目录下
<?php $conn=mysql_connect('192.168.2.11','syslog','123456'); if($conn) echo"success"; else echo"failure"; mysql_close(); phpinfo(); ?>
出现上图,说明lamp搭建成功。
# 安装loganalyzer
cd /var/www/html/ tar xf /home/tools/loganalyzer-3.6.5.tar.gz-C ./ cp -r loganalyzer-3.6.5/src/* ./ cp loganalyzer-3.6.5/contrib/*.sh./ rm -fr src/ rm -rf loganalyzer-3.6.5/ chmod +x *.sh ./configure.sh ./secure.sh chmod 666 config.php
# 在浏览器端配置loganalyzer
配置过程大致如下图所示。
# 需要注意,step7(下图),需要选择MYSQL Native,并且下面输入相应的数据库地址、数据库名称、数据表名、用户名、密码。
安装完成后,刷新下首页。应该如下图所示:
statistics页面能看到统计信息,如下图。但是下图只有个Client端的监控统计。后面我们要把Mysql服务器的也加进来。
# MySQL服务器上也配置将日志发到mysql数据库中保存:
# 安装rsyslog-mysql
yum install rsyslog-mysql -y
# 配置rsyslog以支持mysql
vi /etc/rsyslog.conf
在MODULES模块下,添加一条: $ModLoad ommysql 在RULES模块下,修改如下: 注释掉原有的*.info;mail.none;authpriv.none;cron.none /var/log/messages 添加一条记录:*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.2.11,Syslog,syslog,123456
service rsyslog restart #重启rsyslog服务
再在MySQL服务器上随便yum安装卸载几个软件包,做日志记录测试。
# 在浏览器查看,会发现已经有了MySQL的记录信息
loganalyzer更多的功能有待各位发掘。。。
同样的方法,我们还可以按照上面的教程添加更多的主机进来。