您的位置:首页 > 数据库 > MariaDB

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

2014-08-31 03:08 1081 查看

一、首先来解读下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了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐