CentOS 6.7搭建Rsyslog日志服务器

随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。

系统管理员遇到的常见问题如下:

1、日常维护过程中不可能登录到每一台服务器和设备上去查看日志;
2、网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的;
3、在某些非法入侵的情况下,入侵者一般都会清除本地日志,清除入侵痕迹;
4、zabbix等监控系统无法代替日志管理,无法监控如系统登录、计划任务执行等项目。

基于上述原因,在当前的网络环境中搭建一台用于日志集中管理的Rsyslog日志服务器就显得十分有必要了。

Rsyslog服务的优点如下:

1、Rsyslog服务器可以大多数的网络设备支持,在网络设备的系统设备选项中大多都有远程日志服务的配置选项。只需要填写上IP地址和端口(大多数设备已经默认是514了),然后确定就可以了;
2、Linux服务器只需要在本地的Rsyslog服务配置中加入简单的一行就可以将日志发送到日志服务器,布署和配置起来十分简单;
3、通过软件(如evtsys)也可以支持Windows服务器,布署和配置也不是很难,但是有些软件是要收费的;
4、搭配前端的loganalyzer等软件,可以轻松实现图形化管理和查询日志。

一、Rsyslog服务器的安装与配置 1、清空iptabels, 关闭selinux避免安装过中报错

清空iptables

iptables -F service iptables save

关闭selinux

setenforce 0 vim /etc/selinux/conifg

将配置文件中的
SELINUX=enforcing
修改为:
SELINUX=disabled

2、yum安装LAMP环境及rsyslog、rsyslog mysql支持模块 yum install -y mysql-server mysql-devel libcurl-devel net-snmp-devel php php-gd php-xml php-mysql httpd rsyslog rsyslog-mysql 3、设置mysqld和httpd开机启动,并启动服务 chkconfig mysqld on chkconfig httpd on service mysqld start service httpd start 4、修改mysql的root密码 mysqladmin -u root password "你的密码"

修改密码后就可以使用如下命令登录mysql

mysql -u root -p 5、修改mysql的配置文件,支持uft8

因为通过 yum安装的mysql是不支持uft8的,在收集Windows服务器的日志和某些支持中文的设备的情况下,收集到的日志无法正确显示,因此需要修改mysql配置文件支持中文显示。

配置文件全文如下:

[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character_set_server=utf8 init_connect='SET NAMES utf8' default-character-set=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set=utf8 [client] default-character-set=utf8

重启mysqld服务

service mysqld restart 6、导入Rsyslog数据库到mysql

Rsyslog的mysql数据库默认文件是:

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

在rsyslog-mysql相应版本的文件夹中
你可以使用下列命令中查询到:

echo $(rpm -ql rsyslog-mysql | grep sql$)

使用如下命令将文件导入到mysql:

mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$)

随后输入你在第3步中设置的mysql密码就可以导入数据库了,数据库名为:Syslog

7、设置Rsyslog数据库的字符集

上一步导入的数据库只有二个表: SystemEvents 和 SystemEventsProperties
Syslog数据库及这二个表的默认字符集也不是uft8,需要进行修改

#修改Syslog数据库的字符集 mysql> ALTER DATABASE `Syslog` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; #修改相应数据表的字符集 mysql> alter table SystemEvents default character set =utf8; mysql> alter table SystemEventsPorperties default character set =utf8;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5cea515f635ca4c1913e66faaaa66f7e.html