一、简介:

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

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

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

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

Rsyslog服务的优点如下:

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

二、系统环境及软件版本:


    Rsyslog_server: CentOS7.2

    Rsyslog_server IP:192.168.253.160

    Rsyslog_client: CentOS7.2 + Windows7

    所用软件:

    Rsyslog Version: rsyslog-7.4.7-12.el7.x86_64

    LogAnalyzer Version: loganalyzer-3.6.5.tar.gz

    MySQL Version:MySQL5.7

    Httpd Version:httpd-2.4.6-40.el7.centos.x86_64

    PHP Version:php-5.4.16-36.el7_1.x86_64


三、环境准备:


3.1 关闭防火墙:


# systemctl stop firewalld


3.2 将SELINUX设置为disabled


# setenforce 0

# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config


四、配置LAMP环境:


4.1 安装MySQL,由于CentOS7默认会安装Mariadb,因此使用MySQL官方提供快速的安装方法,地址:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/


# mkdir /home/rsyslog_server/tools -p                        #创建下载文件存放目录
# cd /home/rsyslog_server/tools
# yum install wget -y
# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# rpm -Uvh mysql57-community-release-el7-8.noarch.rpm        #安装MySQL官方yum仓库
# yum install mysql-community-server -y                      #安装MySQL
# systemctl start mysqld.service
# systemctl status mysqld.service
# grep 'temporary password' /var/log/mysqld.log              #查看初始密码
# mysql -u root -p

>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';    

#更改密码,密码需要符合以下规则:至少一个大写字母,一个小写字母,一个数字,一个特殊字符,而且密码长度需要超过8位


4.2 安装Apache及PHP


# yum install httpd -y

# yum install php php-gd php-xml php-mysql -y


4.3 启动服务并加入开机自启动:


# systemctl start httpd.service

# systemctl enable httpd.service

# systemctl start mysqld.service

# systemctl enable mysqld.service


4.4 测试PHP环境


# vi index.php    
   <?php    
   phpinfo()    

   ?>


在浏览器中输入http://192.168.253.160/index.php,若显示以下内容,则配置成功。

wKioL1cqMSCT_BeXAACefbZtW0A130.png


五、检查并安装服务端软件


5.1 检查是否安装了rsyslog软件


# rpm -qa rsyslog                  #CentOS7默认会安装rsyslog


5.2 安装rsyslog 连接MySQL数据库的模块


# yum install rsyslog-mysql -y     #rsyslog使用此模块将数据传入MySQL数据库,必须安装


六、配置服务器端


6.1 导入rsyslog-mysql 数据库文件


# cd /usr/share/doc/rsyslog-7.4.7/

# mysql -uroot -p<mysql-createDB.sql

# Enter password:


6.2 登录数据库查看:


mysql> show databases;

wKioL1cqMX7DQCYrAAAOB9FFeQQ462.png

mysql> show tables;

wKioL1cqMZ_Be4vSAAAMiGXKjeQ011.png

导入数据库操作创建了Syslog 库并在该库中创建了两张空表SystemEvents 和SystemEventsProperties。


6.3 在MySQL下创建rsyslog用户并授权:


mysql> grant all on Syslog.* to rsyslog@'localhost' identified by 'MyNewPass4!';

mysql> flush privileges;

mysql> exit


6.4 配置服务端支持rsyslog-mysql 模块,并开启UDP服务端口获取网内其他LINUX系统日志;


# vi /etc/rsyslog.conf                    #按如下进行更改   

#### MODULES ####    

$Modload ommysql    

*.* :ommysql:localhost,Syslog,rsyslog,MyNewPass4!        

#localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,MyNewPass4!为该用户密码。        

$ModLoad immark            # immark是模块名,支持日志标记    

$ModLoad imudp             # imupd是模块名,支持udp协议    

$UDPServerRun 514          #允许514端口接收使用UDP和TCP协议转发过来的日志


6.5 重启rsyslog服务


# systemctl restart rsyslog.service



七、配置客户端


7.1 检查客户端有没有安装rsyslog


# rpm -qa rsyslog


7.2 配置rsyslog客户端发送本地日志到服务端


# vi /etc/rsyslog.conf     *.* @192.168.253.160:514        #在文件结尾处增加此内容


7.3 重启rsyslog服务


# systemctl restart rsyslog.service


7.4 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中


# vi /etc/bashrc     

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'                #在结尾处加上此内容

设置使其生效

# source /etc/bashrc


八、测试rsyslog_server可否正常接收rsyslog_client的日志


rsyslog_client执行以下操作:

wKiom1cqMxaD6UNDAAAutxytbDk048.png

rsyslog_server查看:

wKioL1cqNA-gKJ4cAABTqkww6IQ952.png说明服务端可以正常接收客户端的日志。


九、安装LogAnalyzer


# cd /home/rsyslog_server/tools/

# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

# tar zxf loganalyzer-3.6.5.tar.gz

# cd loganalyzer-3.6.5

# mkdir -p /var/www/html/loganalyzer# cp -a src/* /var/www/html/loganalyzer/


十、在浏览器中进行安装LogAnalyzer


10.1 打开浏览器,输入http://192.168.253.160/loganalyzer

提示无配置文件,点击here按钮生成;

wKiom1cqNAmgHDCjAAChoWQm4MI349.png

10.2 点击next进行系统环境测试:

wKioL1cqNU2Q1LLCAAELO8IapEY181.png

此处提示没有config.php文件,使用contrib中的configure.sh脚本可生成;

wKioL1cqNU2hBbwqAAEtExRXt1U565.png

# cd contrib/

# cp configure.sh /var/www/html/loganalyzer/

# cd /var/www/html/loganalyzer/

# sh configure.sh

此部分操作在/var/www/html/loganalyzer/目录下创建config.php文件并配置权限为666,也可以使用mkdir及chmod命令执行。

wKiom1cqNHigy2oJAAErad1aUL8851.png

10.3 继续下一步,填写数据库信息

wKioL1cqNU6A8INuAADnfHC1M5U426.png

点击next生成数据库中的表;

wKiom1cqNHjjXiyvAAC2F9RtI7o224.png

10.4 设置管理员

wKioL1cqNU6R3RhEAACtVFQo2Wo346.png

10.5 创建第一个系统日志source

wKiom1cqNHnAUrJmAAC1dcIKjxo395.png

wKioL1cqNU_zgw7kAAC591Gyx7o617.png

10.6 完成

wKioL1cqNVDD1T5XAAHN-Ex87zU198.png

Rsyslog + LogAnalyzer 日志服务器部署完毕,可根据需要进行设置。


参考:http://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html