1.目的背景

日志功能对于操作系统是相当重要的,在使用中,无论是系统还是应用等等,出了任何问题,我们首先想到的便是分析日志,查找问题原因。
自 CentOS 6 开始,我们的 CentOS 便开始使用 rsyslog 做为日志收集服务了,相对于之前的 syslog 它能够支持多线程,数据库存储,支持更多了传输协议等等优点。
而 LogAnalyzer 则是一款基于 PHP 开发的 syslog 日志和其他网络事件数据的 Web 前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。
将他们整合起来,我们就能够搭建一个日志收集管理服务器,用来应对小型的日志数据收集分析。
本次主要配置日志服务器用途收集交换机防火墙等网络设备的日志。

2.配置内容

操作系统:CentOS 7.0 ,最小化安装,配置地址为172.31.206.112
数据库:mariadb v5.5.44
httpd:v2.4.6
php: v2.4.0
LogAnalyzer:v4.1.5
交换机:nutanix_sw1,华为S5720,地址为172.31.205.29
防火墙:gateway,飞塔FG3040b,地址为192.168.1.254
注意,进行服务器的配置之前,务必确保与交换机,防火墙之间的两两路由互相可达,能够ping通。

3.服务器配置

在nutanix平台上开启一台linux虚拟机,内存2G,硬盘100G。

3.1.安装数据库

[root@log ~]#yum install mariadb mariadb-server -y 
#安装mariadb数据库。

3.2.启动并初始化数据库

[root@log ~]#systemctl start mariadb.service 
[root@log ~]#/bin/mysql_secure_installation 
#重启mariadb数据库服务器
#初始化数据库

3.3.添加数据库和用户

[root@log ~]#mysql -uroot -p
......(省略)
MariaDB [(none)]> create database rsyslog character set utf8 collate utf8_bin; 
MariaDB [(none)]> grant all privileges on rsyslog.* to 'rsyslog'@'localhost' identified by 'rsyslog';flush privileges;
MariaDB [(none)]> quit 
#创建”rsyslog”的数据库,字符编码设置为utf 8
#对数据库“rsyslog”创建全权限的rsyslog,的本地用户,设置密码为“rsyslog”

3.4.安装 rsyslog 的 MySQL 扩展程序包 rsyslog-mysql

[root@log ~]#yum install rsyslog-mysql -y 
#安装rsyslog

3.5.将 rsyslog 的 MySQL 表导入创建的 rsyslog 数据库,并给予用户权限

[root@log~]#mysql -uroot-p < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
[root@log ~]#mysql -uroot -p
......(省略)
MariaDB [(none)]> grant all privileges on Syslog.* to 'rsyslog'localhost'%' identified by 'rsyslog';flush privileges;
MariaDB [(none)]> quit
Bye 
#将 rsyslog 的 MySQL 表导入创建的 rsyslog 数据库
#创建数据库Syslog,设置本地用户rsyslog,密码rsyslog,全部权限

3.6.修改 rsyslog 配置文件

[root@log ~]#vim /etc/rsyslog.conf
#添加
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,rsyslog  #日志 :ommysql:数据库地址,数据库名,数据库用户,数据库用户密码
#使用UDP协议传输
$ModLoad imudp
$UDPServerRun 514
$UDPServerRun 38514       #华为交换机部分高端默认发送日志端口
#使用TCP协议传输(两者可同时使用)

$ModLoad imtcp
$InputTCPServerRun 514 
$InputTCPServerRun 38514         #华为交换机默认发送日志端口========================================================
   #注意,在修改配置文件的时候,要使功能生效,需要将“#”删掉

3.7.重启rsyslog服务

[root@ZhangSir ~]#systemctl restart rsyslog.service

3.8.准备web环境

[root@log ~]#yum install httpd php php-mysql php-gd -y

3.9.下载 loganalyzer

[root@log ~]#yum install unizp -y
[root@log ~]#wget https://github.com/rsyslog/loganalyzer/archive/master.zip

#安装unzip解压程序
#下载loganalyzer

3.10.解压配置loganalyzer

[root@log ~]#unzip master.zip
[root@log ~]#cp -a ~/loganalyzer-master/src/* /var/www/html
[root@log ~]#cd /var/www/html/
[root@log /var/www/html]#touch config.php
[root@log /var/www/html]#chmod 666 config.php
[root@log ~]#systemctl start httpd ==========================================================
#使用unzip解压文件
#复制文件
#打开文件路径
#新建config.php
#config.php赋予权限
#重启httpd服务

3.11.关闭防火墙

[root@log ~]#systemctl stop firewalld

3.12.进入浏览器页面配置

1)在浏览器中输入172.31.206.112进行配置
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
2)点击之后,提示开始检查。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
3)配置文件检查,注意 config.php 需要 666 权限,如果没有写权限,则会报错提示
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
4)LogAnalyzer 的基本配置,此处配置的数据库为 LogAnalyzer 的数据库,也就是我们自己建的 rsyslog 数据库。数据库名称,用户名及密码都是rsyslog。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
5)如果数据库能正常连接,那么就会显示正常了,如果数据库连接出错,则会提示错误原因,点击 Next 继续下一步。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
6)连接数据库成功后,会自动创建数据库表,提示 24 条成功,0 失败。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
7)这一步便是填写日志信息的数据库信息,也就是我们导入 sql 文件所创建的 Syslog 数据库,请注意大小写,监控表为 SystemEvents,默认为小写,会出错,很奇怪。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志

8)继续下一步就会提示成功啦,然后点击登录,便能进入查看了。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志

4.防火墙及交换机配置

4.1.防火墙配置

进入防火墙界面,配置日志服务器。
配置使用rsyslog+loganalyzer收集防火墙及交换机日志
收集到的防护墙日志如下所示
配置使用rsyslog+loganalyzer收集防火墙及交换机日志

4.2.交换机配置

info-center loghost 172.31.206.112//日志服务器地址
     info-center enable //启动
-info-center loghost source Vlanif205 //指定日志发送源接口为逻辑口
info-center source default channel 2 log level debugging//发送所有级别的日志

配置使用rsyslog+loganalyzer收集防火墙及交换机日志
收集到的交换机日志如下图所示
*安装步骤请参考
https://www.getlinux.cn/centos-7-xia-rsyslog-mariadb-loganalyzer-ri-zhi-fu-wu-qi-da-jian.html*****