rsyslog将日志记录于MySQL中

数据库服务器:CentOS7 192.168.119.159

 

日志:CentOS6 192.168.119.129

 

 

  1. 准备mysql数据库 和 用户账户

[root@localhost ~]# yum install mariadb-server

 

[root@localhost ~]# systemctl start mariadb

 

[root@localhost ~]# ss -ntl

State       Recv-Q Send-Q Local Address:Port               Peer Address:Port

LISTEN      0      50                *:3306                          *:*

 

 

  1. 在mysql server上授权rsyslog能连接至当前服务器

授权用户

MariaDB [Syslog]> grant all on Syslog.* to syslog@’%’ identified by ‘1234’;

 

CentOS测试连接

[root@localhost ~]# mysql -h 192.168.119.159 -usyslog -p1234

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 4

Server version: 5.5.56-MariaDB MariaDB Server

 

  1. 在rsyslog服务器上安装mysql模块相关的程序包

[root@localhost ~]# yum info rsyslog-mysql

Description : The rsyslog-mysql package contains a dynamic shared object that will add

: MySQL database support to rsyslog.

 

[root@localhost ~]# yum install rsyslog-mysql

Installed:

rsyslog-mysql.x86_64 0:5.8.10-10.el6_6

 

  1. 为rsyslog创建数据库及表

 

[root@localhost ~]# rpm -ql rsyslog-mysql

/lib64/rsyslog/ommysql.so 模块

/usr/share/doc/rsyslog-mysql-5.8.10

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 脚本

 

脚本,需要在mysql的机器上执行,可以先复制到远程主机,也可以创建账户,远程连接执行

 

复制到远程主机

[root@localhost ~]# scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 192.168.119.159:

 

远程主机查看

[root@localhost ~]# ll

-rw-r–r–. 1 root root 1046 Feb  1 11:06 createDB.sql

 

执行命令

本机执行

[root@localhost ~]# mysql < createDB.sql

或者

MariaDB [(none)]> source createDB.sql

或者远程连接执行

远程连接执行

mysql -usyslog -h192.168.119.159 -p1234 < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

 

查看

MariaDB [Syslog]> show databases;

+——————–+

| Database           |

+——————–+

| Syslog             |

 

MariaDB [Syslog]> show tables;

+————————+

| Tables_in_Syslog       |

+————————+

| SystemEvents           |

| SystemEventsProperties |

+————————+

 

 

 

 

  1. 配置rsyslog将日志保存到mysql中

 

CentOS6修改配置文件

[root@localhost ~]# vim /etc/rsyslog.conf

$ModLoad ommysql

*.info;mail.none;authpriv.none;cron.none                /var/log/messages 本机的

*.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.119.159,Syslog,syslog,1234

 

重启服务

[root@localhost ~]# service rsyslog restart

 

 

CentOS6触发日志

[root@localhost ~]# logger “This is a rsyslog mysql test”

 

查看本机的日志

[root@localhost ~]# tail -f /var/log/messages

Feb  1 11:20:51 localhost root: This is a rsyslog mysql test

 

查看远程的日志

[root@localhost ~]# mysql -h192.168.119.159 -usyslog -p1234

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 6

Server version: 5.5.56-MariaDB MariaDB Server

 

MariaDB [(none)]> use Syslog;

MariaDB [Syslog]> select Message from SystemEvents;

+—————————————————————————————————–+

| Message                                                                                              |

+—————————————————————————————————–+

| imklog 5.8.10, log source = /proc/kmsg started.                                                      |

|  [origin software=”rsyslogd” swVersion=”5.8.10″ x-pid=”2965″ x-info=”http://www.rsyslog.com”] start |

|  This is a rsyslog mysql test                                                                        |

+—————————————————————————————————–+

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91452

(1)
无言胜千言无言胜千言
上一篇 2018-02-05 09:00
下一篇 2018-02-05 11:57

相关推荐

  • linux用户管理(一)

    作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理: useradd可以在系统中新建一个用户 用法如下: useradd [选项] 用户名 常用选项: -u 指定用户的UID -g 指定用户的初始组ID -G…

    Linux干货 2017-04-03
  • 马哥教育网络班20期+第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ]# grep  "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; ]#…

    Linux干货 2016-07-12
  • linux文件管理

    目录创建删除,软硬链接的区别和注意,file命令的使用,工作中遇到一些情况的处理方法

    2017-11-18
  • 马哥教育网络21期+第六周练习博客

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost named]# cp /etc/rc.d/rc.sysinit /tmp/ [root@loc…

    Linux干货 2016-08-15
  • Windows PHP 中 VC6 X86 和 VC9 X86 的区别及 Non Thread Safe 的意思

    PHP5.3以后 For Windows 提供了四个版本VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe 在 官网 左边栏有提示: Which version do I choose? If you are usi…

    Linux干货 2015-06-16
  • 学习宣言

    不积跬步无以至千里,不积小流无以成江海。 在Linux的世界,我还只是一个顽童,我会通过我的努力证明,我可以攀登峻峰,笑看风云!

    Linux干货 2016-12-28