基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境

 一、首先来解读下rsyslog配置文件的含义

配置文件路径/etc/rsyslog.conf

在rsyslog中facility设施 可以从功能或者程序上对日志分类常用的以下几种

auth 和认证相关的
authpriv 和认证授权相关的
cron 专门给周期性任务计划做日志记录的
daemon 帮守护进程做日志记录
kern 给内核做日志记录
lpr 给打印做日志记录
mail 给邮件做日志记录
mark 防火墙标记
news 新闻组(这个是很早的)
security 和安全相关的(相当于auth)
syslog 自己的日志
user 和用户相关
uucp unix主机之间copy文件的日志
local 从local0 through 到local7 8个保留的自定义的facility

上面的这些设施在指定设施时可以使用通配符的,可用的通配符有以下几种

* 表示所有的facility
, 可以是多个facility 列表的意思,例如facility1,facility2,facility3
! 取反的意思 表示除了它以外的

 


下面是日志级别,从上到下,级别从低到高,记录的信息越来越少

debug 有调式信息的,日志信息最多,最详细的信息
info 一般信息的日志,最常用
notice 最具有重要性的普通条件的信息
warn,warning 需要引起注意的通知,到了这个时候就需要引起注意了
err,error 严重错误,阻止某个功能或者模块不能正常工作的信息
alert 相当于蓝色警戒,阻止整个系统或者整个软件不能正常工作的信息
crit 相当于橙色警戒,需要立刻修改修复的警告信息
emerg,panic 相当于红色警戒,当出现这个的时候基本上下一秒内核就挂了
none 什么都不做,什么都不记录

上面的这些级别也可以使用通配符的,可用的通配符有以下几种

* 所有的级别
none 没有任何级别

 


下面来说说怎么配置远程基于MariaDB(MySQL)存储的日志系统


1、我们需要修改/etc/rsyslog.conf的配置文件。

首先我们启用#### MODULES ####段配置文件中的端口监听

yum install rsyslog-mysql -y
sed -ri ‘s/^#(\$ModLoad im(tc|ud)p)/\1/‘ /etc/rsyslog.conf
sed -ri ‘s/^#(\$(InputTCP|UDP)ServerRun)/\1/‘ /etc/rsyslog.conf
然后在/etc/rsyslog.conf的MOUDLES段中追加一个启用MariaDB(MySQL)的配置
sed -i ‘/InputTCPServerRun/a \\n\n# Log event to MariaDB\n\$ModLoad ommysql\n‘ /etc/rsyslog.conf

基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境



2、然后我去收集日志的服务器上编译安装MariaDB做日志收集存储

[root@LookBack165 ~]# yum -y groupinstall "Development tools" "Server Platform Development"
[root@LookBack165 ~]# yum -y install libxml2-devel cmake
###上面是安装必要的编译所需软件
[root@LookBack165 ~]# wget http://mirrors.hustunique.com/mariadb/mariadb-10.0.12/source/mariadb-10.0.12.tar.gz
[root@LookBack165 ~]# tar xf mariadb-10.0.12.tar.gz
[root@LookBack165 ~]# cd mariadb-10.0.12
[root@LookBack165 mariadb-10.0.12]# make clean
[root@LookBack165 mariadb-10.0.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_SSL=system -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1
[root@LookBack165 mariadb-10.0.12]# make -j 4 && make install ##开始编译
[root@LookBack165 mariadb-10.0.12]# cd ~/
###下面是修改必要的配置文件和环境变量
[root@LookBack165 ~]# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
[root@LookBack165 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@LookBack165 mariadb]# chmod +x /etc/rc.d/init.d/mysql
[root@LookBack165 mariadb]# chkconfig --add mysql
[root@LookBack165 mariadb]# chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@LookBack165 ~]# sed -i "/^thread_concurrency.*/a datadir=/mydata/data" /etc/my.cnf
[root@LookBack165 ~]# groupadd mysql
[root@LookBack165 ~]# useradd -g mysql -r -s /sbin/nologin -m /mydata/data mysql
[root@LookBack165 ~]# chown -R mysql.mysql /mydata
[root@LookBack165 ~]# sed -i "$(cat /etc/man.config | grep -nE ‘^MANPATH[[:space:]]+‘ | tail -1 | awk -F: ‘{print$1}‘)a MANPATHt/usr/local/mysql/man" /etc/man.config
[root@LookBack165 ~]# echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mariadb1002.sh
[root@LookBack165 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
[root@LookBack165 mariadb]# cp /usr/local/mariadb/support-files/mysql.server /etc/rc.d/init.d/mysql
[root@LookBack165 mariadb]# service mysql start
Starting MySQL..... [ OK ]
[root@LookBack165 mariadb]# service mysql stop
Shutting down MySQL. [ OK ]
[root@LookBack165 ~]# service mysqld start


再做数据库导入

yum install rsyslog-mysql -y
[root@LookBack ~]# find / -name rsyslog-mysql*
/usr/share/doc/rsyslog-mysql-5.8.10

基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境


让后将这个目录下的createDB.sql导入数据库中

mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql


下面的是SQL命令

MariaDB [(none)]> grant all on Syslog.* to rsyslog@‘localhost‘ identified by ‘rsyslog用户的密码‘;
MariaDB [(none)]> flush privileges;


最后我们回到需要做日志远程收集统计的服务器上
再次修改配置文件
基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境



现在我们可以在MariaDB(MySQL)服务器上配置loganalyzer


loganalyzer需要配合Apache或者Nginx之类的web服务器(本文就不多介绍了)

wget http://www.05hd.com/wp-content/uploads/2014/08/loganalyzer-3.6.5.tar.gz
###官方下载页面http://loganalyzer.adiscon.com/downloads/
[root@LookBack ~]# wget http://www.05hd.com/wp-content/uploads/2014/08/loganalyzer-3.6.5.tar.gz
--2014-08-31 02:39:01--  http://www.05hd.com/wp-content/uploads/2014/08/loganalyzer-3.6.5.tar.gz
Resolving www.05hd.com... 2001:41d0:8:ea32:1234:5678:9abc:9999, 5.135.167.50
Connecting to www.05hd.com|2001:41d0:8:ea32:1234:5678:9abc:9999|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1046957 (1022K) [application/octet-stream]
Saving to: “loganalyzer-3.6.5.tar.gz”

100%[==============================================================================================>] 1,046,957   --.-K/s   in 0.09s   

2014-08-31 02:39:02 (11.2 MB/s) - “loganalyzer-3.6.5.tar.gz” saved [1046957/1046957]

[root@LookBack ~]# tar xf loganalyzer-3.6.5.tar.gz       
[root@LookBack ~]# cp -a loganalyzer-3.6.5/src/* /home/wwwroot/rsyslog.05hd.com/
[root@LookBack ~]# cp -a loganalyzer-3.6.5/contrib/* /home/wwwroot/rsyslog.05hd.com/
[root@LookBack ~]# chown -R /home/wwwroot/rsyslog.05hd.com/
[root@LookBack ~]# chmod +x /home/wwwroot/rsyslog.05hd.com/*.sh
[root@LookBack ~]# /home/wwwroot/rsyslog.05hd.com/configure.sh
[root@LookBack ~]# service rsyslog restart


这时候 就可以打开web页面在webui上配置loganalyzer了

基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境

上一篇:ASM下裸设备的路径更改是否会影响数据库的运行


下一篇:使用dbms_lob.compare比对lob字段