RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析(4)

思路:
1、安装mysql服务器,且要安装rsyslog连接mysql的驱动
2、解决生成rsyslog服务器的日志特定的格式,
3、在rsyslog配置文件中加载连接mysql的模块,把日志存储到mysql中

rsyslog+Mysql服务器端的配置: 

[root@jie1 log]# yum -y install mysql-server rsyslog-mysql mysql
#安装mysql服务器和rsyslog连接mysql的驱动
[root@jie1 ~]# rpm -ql rsyslog-mysql
#查看rsyslog-mysql安装生成了那些文件
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
[root@jie1 ~]# service mysqld start   
Starting mysqld:                        [  OK  ]
[root@jie1 ~]# mysqladmin -u root password RedHat
#设置mysql的密码
[root@jie1 ~]# mysql -u root -p
Enter password:  #登录mysql服务器
mysql> show databases; #显示数据库服务器中没有日志的数据库
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mysql              |
| test              |
+--------------------+
3 rows in set (0.00 sec)
mysql> \q
Bye
[root@jie1 ~]# cd /usr/share/doc/rsyslog-mysql-5.8.10/
#日志文件sql脚本的路径
[root@jie1 rsyslog-mysql-5.8.10]# ls
createDB.sql
[root@jie1 rsyslog-mysql-5.8.10]# mysql -u root -p < createDB.sql
Enter password:    #导入日志文件的sql脚本,生成日志文件的数据库
[root@jie1 rsyslog-mysql-5.8.10]# mysql -u root -p
Enter password:
mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| Syslog            |
| mysql              |
| test              |
+--------------------+
4 rows in set (0.01 sec)
mysql> use Syslog;  #Syslog即是记录日志文件的数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------------+
| Tables_in_Syslog      |
+------------------------+
| SystemEvents          |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
mysql> grant all on Syslog.* to 'syslogroot'@'127.0.0.1' identified by 'syslogpass';  #设置用户访问数据库服务器中Syslog数据库的用户名和密码
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on Syslog.* to 'syslogroot'@'172.16.22.1' identified by 'syslogpass';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;  #重读授权表,及时生效
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye
[root@jie1 rsyslog-mysql-5.8.10]#cd /
[root@jie1 /]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
#####vim  /etc/ryslog.conf#####################################
$ModLoad imuxsock
$ModLoad imklog
$ModLoad imudp          #加载udp的模块
$UDPServerRun 514        #允许接收udp 514的端口传来的日志
$ModLoad imtcp          #加载tcp的模块
$InputTCPServerRun 514  #允许接收tcp 514的端口传来的日志
$ModLoad ommysql        #加载mysql的模块
$ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.*      :ommysql:172.16.22.1,Syslog,syslogroot,syslogpass  #添加这行,把其他行都注释掉,这行表示把所有的设施的所有日志都记录到数据库服务器中的Syslog数据库中,以syslogroot用户,syslogpass密码访问数据库
local7.*                          /var/log/boot.log
$template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
:programname, startswith, "spice-vdagent"  /var/log/spice-vdagent.log;SpiceTmpl
######################################################################
[root@jie1 /]# service rsyslog restart
Shutting down system logger:                              [  OK  ]
Starting system logger:                                    [  OK  ]

rsyslog客户端的配置:

[root@jie3 ~]# sed -e '/^$/d' -e '/^#/d' /etc/rsyslog.conf
################ /etc/rsyslog.conf######################
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog  # provides kernel logging support (previously done by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.*      @172.16.22.1 #添加这行用于和服务器通信
*.*      :ommysql:172.16.22.1,Syslog,syslogroot,syslogpass #添加这行,把其他行都注释掉,这行表示把所有的设施的所有日志都记录到数据库服务器中的Syslog数据库中,以syslogroot用户,syslogpass密码访问数据库
$template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
:programname, startswith, "spice-vdagent"  /var/log/spice-vdagent.log;SpiceTmpl
####################################################################
[root@jie3 ~]# service rsyslog restart
Shutting down system logger:                              [  OK  ]
Starting system logger:                                    [  OK  ]

验证客户端的日志文件存放位置:
1)验证是否存放在客户端本地

RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析工具

2)验证是否存在服务器的/var/log/messages里面

RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析工具

3)验证是否存放在服务器的mysql数据库中

RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析工具

虽然日志存放在mysql数据库服务器中,是解决了日志集中管理,但是存放在mysql服务器中让管理人员头疼的是不便于查看这些大量的日志,于是乎搭建一个日志分析工具就非常的有必要性了。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/cb32a18759b48f9554dc3950ae6040b9.html