配置使用rsyslog+loganalyzer收集防火墙及交换机日志

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
云防火墙,500元 1000GB
简介:

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*****


     本文转自YANGCHAO1987 51CTO博客,原文链接:http://blog.51cto.com/11555417/2046796,如需转载请自行联系原作者




相关文章
|
2月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
226 0
|
8月前
|
监控 安全 BI
防火墙事件日志及日志分析
在网络安全防护体系中,防火墙作为抵御外部威胁的第一道防线,其重要性不言而喻。而对防火墙日志进行分析,更是深入了解网络流量、发现潜在安全风险的关键手段。
632 1
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
549 5
|
9月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
811 0
|
安全 BI 网络安全
EventLog Analyzer 如何满足等保合规要求?密码有效期、产品日志保留、配置备份三大核心问题全面解答
EventLog Analyzer(ELA)助力企业满足网络安全等级保护要求,支持配置自动/手动备份、日志180天留存及密码策略管理,提升合规性与安全运营效率。
|
5月前
|
JSON 安全 网络安全
LoongCollector 安全日志接入实践:企业级防火墙场景的日志标准化采集
LoonCollector 是一款轻量级日志采集工具,支持多源安全日志的标准化接入,兼容 Syslog、JSON、CSV 等格式,适用于长亭 WAF、FortiGate、Palo Alto 等主流安全设备。通过灵活配置解析规则,LoonCollector 可将原始日志转换为结构化数据,写入阿里云 SLS 日志库,便于后续查询分析、威胁检测与合规审计,有效降低数据孤岛问题,提升企业安全运营效率。
|
4月前
|
数据采集 运维 监控
|
5月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。
|
6月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
657 4
|
8月前
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
238 22