服务端

1、安装最新版本rsyslog

sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:adiscon/v8-stable
sudo apt-get update
sudo apt-get install rsyslog

2、配置目录存储mysql审计日志

vim /etc/rsyslog.d/50-default.conf
# add: define logfiles
$template Mysql-audit,"/var/log/remote_log/%app-name%/%hostname%_%fromhost-ip%_log_%app-name%_%$YEAR%-%$MONTH%-%$DAY%.log"
$template Remote,"/var/log/remote_log/%hostname%_%fromhost-ip%/log_%app-name%_%$YEAR%-%$MONTH%-%$DAY%.log"
# Log all messages to the dynamically formed file.
:app-name,isequal,"mysql-audit" ?Mysql-audit
:fromhost-ip, !isequal, "127.0.0.1" ?Remote
& stop

3、安装MySQL以及rsyslog-mysql模块,

apt-get install rsyslog-mysql mysql-server -y #安装过程中会自动创建表

4、配置/etc/rsyslog.d/50-default.conf,以便将mysql的审计日志本地保留一份,mysql数据库里写一份

vim /etc/rsyslog.d/50-default.conf
$ModLoad ommysql #加载ommysql模块,将日志写入mysql
$template Remote,"/var/log/remote_log/%hostname%_%fromhost-ip%/log_%app-name%_%$YEAR%-%$MONTH%-%$DAY%.log"
$template Mysql-audit,"/var/log/remote_log/%app-name%/%hostname%_%fromhost-ip%_log_%app-name%_%$YEAR%-%$MONTH%-%$DAY%.log"
:app-name,isequal,"mysql-audit" ?Mysql-audit
& :ommysql:localhost,Syslog,rsyslog,123.com #在前一行的日志匹配动作之后,继续将日志插入到mysql
:fromhost-ip, !isequal, "127.0.0.1" ?Remote
& stop #结束前面的匹配信息,包括mysql-audit的匹配.

  

客户端

1、安装最新版本syslog

sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:adiscon/v8-stable
sudo apt-get update
sudo apt-get install rsyslog

2、rsyslog配置(注意如果升级为8.30.0之后 不需要state文件配置)

创建配置文件 /etc/rsyslog.d/mysql-audit.conf
#mysql-audit.log
module(load="imfile" PollingInterval="10") #加载模块
input(type="imfile" File="/data/mysqldata/mysql_audit.log" #定义文件位置
Tag="mysql-audit" #打tag
#StateFile="/var/spool/rsyslog/mysql-audit.state" #inotify 状态
Severity="error" #log级别
Facility="local7") #rsyslog 级别
local7.* @10.25.109.64:514 #传送log服务器
#end

3、修改syslog的记录,过滤掉mysql日志,不记录本机syslog

:app-name,isequal,"mysql-audit" stop
*.*;auth,authpriv.none -/var/log/syslog

4、重启rsyslog以及设定文件权限

touch /var/spool/rsyslog/mysql-audit.state
chown syslog.adm /var/spool/rsyslog/mysql-audit.state
usermod -G mysql syslog
/etc/init.d/rsyslog restart

  

Ubuntu下rsyslog集中收集mysql审计日志的更多相关文章

  1. Ubuntu下关闭apache和mysql的开机启动

    Ubuntu下关闭apache和mysql的开机启动 sudo apt-get install sysv-rc-conf sudo sysv-rc-conf sudo vi /etc/init/mys ...

  2. zhuan:ubuntu下安装Apache2+php+Mysql

    from: http://www.cnblogs.com/lynch_world/archive/2012/01/06/2314717.html ubuntu下安装Apache+PHP+Mysql 转 ...

  3. 【Problem】xampp in ubuntu下命令行启动mysql报错: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2)

    xampp in ubuntu下命令行启动mysql报错: reddevil@reddevil-Lenovo:/opt/lampp$ ./bin/mysql -u root -p Enter pass ...

  4. ubuntu下的apache+php+mysql的安装

    平时我都时在windows下搭配apache+php+mysql环境的,只不过后来听别人说在linux下搭配apache+php+mysql更受欢迎,而且一般公司也是用这样的搭配,所以今天在试着在ub ...

  5. Ubuntu 下 Galera cluster for MySQL 集群安装

    mysql galera cluster官网:http://galeracluster.com/documentation-webpages/ 相关安装教程:(不一定管用) http://blog.c ...

  6. ubuntu下root和安装mysql

    sudo password创建新的root密码: 1.用当前登录用户打开终端,在终端输入命令 sudo passwd,输入当前用户的密码然后回车 2.会提示输入新密码,输入完成后回车(http://w ...

  7. Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建

    近期開始玩PHP,于是试着搭建一下开发环境并做个记录,以备日后再使用起来方便可查. 第一步 确保软件包是最新的 sudo apt-get update 第二步 安装Apache2 sudo apt-g ...

  8. 【Linux】Ubuntu下C语言访问MySQL数据库入门

    使用的系统是Ubuntu 11.10.数据库是MySQL. MySQL数据库环境配置 首先需要安装MySQL客户端和服务器,命令行安装方式为: sudo apt-get install mysql-s ...

  9. Ubuntu下rsyslog审计用户bash操作命令、收集、写入MySQL

    服务端 2台服务端:10.25.109.64.10.45.18.133 1.rsyslog最新版本安装 sudo add-apt-repository ppa:adiscon/v8-stable su ...

随机推荐

  1. 表达式计算-----------eval()运算符

    1.java的eval()方法(或称之为运算符)可以将字符串解析成可以运行的javaScript代码,例如 eval()只有一个参数.如果传入的参数不是一个字符串,那么它会直接返回这个参数.如果传入的 ...

  2. windows cmd 看服务cpu、内存

    开始菜单-运行-cmd-输入systeminfo-回车 不用命令从以下两个地方都可以看出CPU个数 使用命令看CPU 利用win+r键打开运行,输入cmd回车即会出现 查看cpu信息 通过上图可以看出 ...

  3. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  4. Android TextView跑马灯

    <TextView android:layout_width="fill_parent" android:layout_height="wrap_content&q ...

  5. Python 中list, dictionary 与 file相互操作

    Python的list,dictionary可以写入file, 也可以从file中读取. 关于list: 1)写入文件         self.existedBlog.write("you ...

  6. linux shell查询

    查看当前版本可用的shell cat /etc/shells 查看当前使用的shell echo $0 查看当前用户默认使用的shell echo $SHELL

  7. C#如何对DataTable中的数据进行条件搜索

    经常遇到将数据库中的数据读取到DataTable中的时候再次对DataTable进行条件筛选,下面的筛选的一个例子: DataRow[] dr = dt.Select("token = '& ...

  8. MyEclipse、Eclipse SVN插件的帐号、密码修改

    问题描述: Eclipse的SVN插件Subclipse做得很好,在svn操作方面提供了很强大丰富的功能.但到目前为止,该插件对svn用户的概念极为淡薄,不但不能方便地切换用户,而且一旦用户的帐号.密 ...

  9. Framework配置错误

    转自:http://blog.csdn.net/ked/article/details/25052955 VS2012命令提示符无法使用的解决方法 打开VS2012命令提示符时报错“ERROR: Ca ...

  10. shell入门-变量

    shell变量分为系统变量和用户自定义变量 查看变量的命令 #env        系统变量 或者 #set    包括env和自定义变量和额外变量 使用变量的命令是 #echo $[变量] //// ...