reds 发表于 2014-9-1 15:46:43

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

本帖最后由 reds 于 2014-9-1 15:48 编辑

                      一、首先来解读下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 ####段配置文件中的端口监听

1
2
3
4
5
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做日志收集存储

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# yum -y groupinstall "Development tools" "Server Platform Development"
# yum -y install libxml2-devel cmake
###上面是安装必要的编译所需软件
# wget http://mirrors.hustunique.com/ma ... iadb-10.0.12.tar.gz
# tar xf mariadb-10.0.12.tar.gz
# cd mariadb-10.0.12
# make clean
# 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
# make -j 4 && make install ##开始编译
# cd ~/
###下面是修改必要的配置文件和环境变量
# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysql
# chkconfig --add mysql
# chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# sed -i "/^thread_concurrency.*/a datadir=/mydata/data" /etc/my.cnf
# groupadd mysql
# useradd -g mysql -r -s /sbin/nologin -m /mydata/data mysql
# chown -R mysql.mysql /mydata
# 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
# echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mariadb1002.sh
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
# cp /usr/local/mariadb/support-files/mysql.server /etc/rc.d/init.d/mysql
# service mysql start
Starting MySQL..... [ OK ]
# service mysql stop
Shutting down MySQL. [ OK ]
# service mysqld start





再做数据库导入

1
2
3
yum install rsyslog-mysql -y
# find / -name rsyslog-mysql*
/usr/share/doc/rsyslog-mysql-5.8.10






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

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





下面的是SQL命令

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





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


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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

###官方下载页面http://loganalyzer.adiscon.com/downloads/
# wget http://www.05hd.com/wp-content/u ... alyzer-3.6.5.tar.gz

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





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

页: [1]
查看完整版本: 基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境