随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事。
系统管理员遇到的常见问题如下:
1、日常维护过程中不可能登录到每一台服务器和设备上去查看日志;
2、网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的;
3、在某些非法入侵的情况下,入侵者一般都会清除本地日志,清除入侵痕迹;
4、zabbix等监控系统无法代替日志管理,无法监控如系统登录、计划任务执行等项目。
基于上述原因,在当前的网络环境中搭建一台用于日志集中管理的Rsyslog日志服务器就显得十分有必要了。
Rsyslog服务的优点如下:
1、Rsyslog服务器可以大多数的网络设备支持,在网络设备的系统设备选项中大多都有远程日志服务的配置选项。只需要填写上IP地址和端口(大多数设备已经默认是514了),然后确定就可以了;
2、Linux服务器只需要在本地的Rsyslog服务配置中加入简单的一行就可以将日志发送到日志服务器,布署和配置起来十分简单;
3、通过软件(如evtsys)也可以支持Windows服务器,布署和配置也不是很难,但是有些软件是要收费的;
4、搭配前端的loganalyzer等软件,可以轻松实现图形化管理和查询日志。
清空iptables
iptables -F service iptables save关闭selinux
setenforce 0 vim /etc/selinux/conifg将配置文件中的
SELINUX=enforcing
修改为:
SELINUX=disabled
修改密码后就可以使用如下命令登录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数据库到mysqlRsyslog的mysql数据库默认文件是:
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql在rsyslog-mysql相应版本的文件夹中
你可以使用下列命令中查询到:
使用如下命令将文件导入到mysql:
mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$)随后输入你在第3步中设置的mysql密码就可以导入数据库了,数据库名为:Syslog
7、设置Rsyslog数据库的字符集上一步导入的数据库只有二个表: SystemEvents 和 SystemEventsProperties
Syslog数据库及这二个表的默认字符集也不是uft8,需要进行修改