|
本帖最后由 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 | 和用户相关 | 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 | 什么都不做,什么都不记录 | 上面的这些级别也可以使用通配符的,可用的通配符有以下几种
下面来说说怎么配置远程基于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
| [iyunv@LookBack165 ~]# yum -y groupinstall "Development tools" "Server Platform Development"
[iyunv@LookBack165 ~]# yum -y install libxml2-devel cmake
###上面是安装必要的编译所需软件
[iyunv@LookBack165 ~]# wget http://mirrors.hustunique.com/ma ... iadb-10.0.12.tar.gz
[iyunv@LookBack165 ~]# tar xf mariadb-10.0.12.tar.gz
[iyunv@LookBack165 ~]# cd mariadb-10.0.12
[iyunv@LookBack165 mariadb-10.0.12]# make clean
[iyunv@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
[iyunv@LookBack165 mariadb-10.0.12]# make -j 4 && make install ##开始编译
[iyunv@LookBack165 mariadb-10.0.12]# cd ~/
###下面是修改必要的配置文件和环境变量
[iyunv@LookBack165 ~]# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
[iyunv@LookBack165 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[iyunv@LookBack165 mariadb]# chmod +x /etc/rc.d/init.d/mysql
[iyunv@LookBack165 mariadb]# chkconfig --add mysql
[iyunv@LookBack165 mariadb]# chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[iyunv@LookBack165 ~]# sed -i "/^thread_concurrency.*/a datadir=/mydata/data" /etc/my.cnf
[iyunv@LookBack165 ~]# groupadd mysql
[iyunv@LookBack165 ~]# useradd -g mysql -r -s /sbin/nologin -m /mydata/data mysql
[iyunv@LookBack165 ~]# chown -R mysql.mysql /mydata
[iyunv@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
[iyunv@LookBack165 ~]# echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mariadb1002.sh
[iyunv@LookBack165 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
[iyunv@LookBack165 mariadb]# cp /usr/local/mariadb/support-files/mysql.server /etc/rc.d/init.d/mysql
[iyunv@LookBack165 mariadb]# service mysql start
Starting MySQL..... [ OK ]
[iyunv@LookBack165 mariadb]# service mysql stop
Shutting down MySQL. [ OK ]
[iyunv@LookBack165 ~]# service mysqld start
|
再做数据库导入
1
2
3
| yum install rsyslog-mysql -y
[iyunv@LookBack ~]# 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/
[iyunv@LookBack ~]# wget http://www.05hd.com/wp-content/u ... alyzer-3.6.5.tar.gz
[iyunv@LookBack ~]# tar xf loganalyzer-3.6.5.tar.gz
[iyunv@LookBack ~]# cp -a loganalyzer-3.6.5/src/* /home/wwwroot/rsyslog.05hd.com/
[iyunv@LookBack ~]# cp -a loganalyzer-3.6.5/contrib/* /home/wwwroot/rsyslog.05hd.com/
[iyunv@LookBack ~]# chown -R /home/wwwroot/rsyslog.05hd.com/
[iyunv@LookBack ~]# chmod +x /home/wwwroot/rsyslog.05hd.com/*.sh
[iyunv@LookBack ~]# /home/wwwroot/rsyslog.05hd.com/configure.sh
[iyunv@LookBack ~]# service rsyslog restart
|
这时候 就可以打开web页面在webui上配置loganalyzer了
|
|