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进行配置
2)点击之后,提示开始检查。
3)配置文件检查,注意 config.php 需要 666 权限,如果没有写权限,则会报错提示
4)LogAnalyzer 的基本配置,此处配置的数据库为 LogAnalyzer 的数据库,也就是我们自己建的 rsyslog 数据库。数据库名称,用户名及密码都是rsyslog。
5)如果数据库能正常连接,那么就会显示正常了,如果数据库连接出错,则会提示错误原因,点击 Next 继续下一步。
6)连接数据库成功后,会自动创建数据库表,提示 24 条成功,0 失败。
7)这一步便是填写日志信息的数据库信息,也就是我们导入 sql 文件所创建的 Syslog 数据库,请注意大小写,监控表为 SystemEvents,默认为小写,会出错,很奇怪。
8)继续下一步就会提示成功啦,然后点击登录,便能进入查看了。
4.防火墙及交换机配置
4.1.防火墙配置
进入防火墙界面,配置日志服务器。
收集到的防护墙日志如下所示
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//发送所有级别的日志
收集到的交换机日志如下图所示
*安装步骤请参考
https://www.getlinux.cn/centos-7-xia-rsyslog-mariadb-loganalyzer-ri-zhi-fu-wu-qi-da-jian.html*****
本文转自YANGCHAO1987 51CTO博客,原文链接:http://blog.51cto.com/11555417/2046796,如需转载请自行联系原作者