rsyslog+mysql+loganalyzer 环境搭建日志服务器

环境: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更多的功能有待各位发掘。。。

同样的方法,我们还可以按照上面的教程添加更多的主机进来。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券