基于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和用户相关
uucpunix主机之间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



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


让后将这个目录下的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;


最后我们回到需要做日志远程收集统计的服务器上
再次修改配置文件



现在我们可以在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了

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。