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

相关推荐

  • 网络管理

    7层结构。三次握手,四次挥手。

    2017-12-17
  • 铭记今天

        2016年10月19日,我做了一个很艰难的决定,选择了马哥24期网络全程班,就算是冲动也好,无论对错都要坚持下去。 从出来工作之后,一直做销售这块,虽然跟电脑有关,但是其中的艰苦只有自己明白。慢慢的年级上来了,手中没有什么技术,做人生活,总觉得少了什么,总觉得自己以后会被社会淘汰,心一天一天着急。在后选择了一个从来都没有涉及的运维…

    Linux干货 2016-10-19
  • Linux中一些常用的命令(一)

    ls命令 ls命令:用来列出当前目录的内容或指定目录,是使用频率较高的命令 -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等 -a:列出所有隐藏文件和目录 -h:以人类可读的方式将文件或者目录大小显示出来 -R:把当前目录下的目录的所有内容列出来(递归) -d:显示…

    Linux干货 2017-03-30
  • 一周学会shell编程之小结1

    一周学会shell编程之小结1 内容: shell脚本创建与执行 变量 条件测试 if,case判断语句 练习   检查错误: bash -n path 调试执行: bash -x path   创建shell脚本步骤: 1 添加第一行 #!/bin/bash 2 给予…

    Linux干货 2016-08-15