Linux Rsyslog+LogAnalyzer+MariaDB部署日志服务器

文章目录

  • Linux Rsyslog+LogAnalyzer+MariaDB部署日志服务器
    • 1 环境准备
      • 1.1 服务器端安装LAMP环境
      • 1.2 服务启动并加入开机启动
        • 1.2.1 Apache
        • 1.2.2 MariaDB
        • 1.2.3 Php
    • 2 Rsyslog服务端安装及配置
      • 2.1 安装Rsyslog及Rsyslog连接MySQL的模块
      • 2.2 导入rsyslog-mysql数据库文件
      • 2.3 查看刚导入的库
      • 2.4 创建Rsyslog用户
      • 2.5 配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其它设备日志
        • 2.5.1 添加以下两行内容
        • 2.5.2 开启相关日志模块
        • 2.5.3 重启rsyslog服务
    • 3 Linux客户端安装及配置
      • 3.1 安装Rsyslog
      • 3.2 配置Rsyslog
        • 3.2.1 客户端发送本地日志到服务器端
        • 3.2.2 将客户端执行的所有命令写入系统日志中
      • 3.3 重启Rsyslog服务
      • 3.4 测试Rsyslog Server是否可以正常接收Client端日志
        • 3.4.1 客户端
        • 3.4.2 服务器端
    • 4 网络设备客户端配置
      • 4.1 Huawei
      • 4.2 H3C
      • 4.3 Cisco
      • 4.4 Ruijie
    • 5 LogAnalyzer安装及配置
      • 5.1 LogAnalyzer安装
      • 5.2 LogAntlyzer配置
        • 5.2.1 Step 0-访问LogAntlyzer
        • 5.2.2 Step 1-先决条件
        • 5.2.3 Step 2-验证文件权限
        • 5.2.4 Step 3-基础设置
        • 5.2.5 Step 4-创建表
        • 5.2.6 Step 5-检查SQL结果
        • 5.2.7 Step 6-创建用户
        • 5.2.8 Step 7-创建系统日志源
        • 5.2.9 Step 8-完成
        • 5.2.10 测试登录

Linux Rsyslog+LogAnalyzer+MariaDB部署日志服务器

LogAnalyzer是一款syslog日志和其它网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

LogAnalyzer获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

LogAnalyzer采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。

名称IP操作系统版本软件组件备注
服务器端192.168.0.123CentOS Linux release 7.9.2009 (Core)httpd/maraidb/php/rsyslog负责接收客户端发来的日志并存储在本地,支持文件存储和数据库存储方式。
客户端192.168.0.124CentOS Linux release 7.9.2009 (Core)rsyslog负责发送日志到远程日志服务器

1 环境准备

1.1 服务器端安装LAMP环境

[root@superman123 ~]# yum install httpd httpd-devel mariadb mariadb-lib mariadb-server php* -y

1.2 服务启动并加入开机启动

1.2.1 Apache
[root@superman123 ~]# systemctl start httpd
[root@superman123 ~]# systemctl enable httpd
1.2.2 MariaDB
[root@superman123 ~]# systemctl start mariadb
[root@superman123 ~]# systemctl enable mariadb
[root@superman123 ~]# mysqladmin -uroot password 'admin@123'
1.2.3 Php

测试php运行环境

[root@superman123 ~]# cat > /var/www/html/index.php << EOF
<?php
phpinfo();
?>
EOF

打开浏览器访问 : http://192.168.0.123/

image-20240510071612163

2 Rsyslog服务端安装及配置

2.1 安装Rsyslog及Rsyslog连接MySQL的模块

[root@superman123 ~]# yum install rsyslog rsyslog-mysql -y

2.2 导入rsyslog-mysql数据库文件

[root@superman123 ~]# cd /usr/share/doc/rsyslog-8.24.0/
[root@superman123 rsyslog-8.24.0]# mysql -uroot -padmin@123 < mysql-createDB.sql

2.3 查看刚导入的库

[root@superman123 rsyslog-8.24.0]# mysql -uroot -padmin@123
MariaDB [(none)]> show databases;
MariaDB [(none)]> use Syslog;
MariaDB [Syslog]> show tables;

image-20240510071813633

2.4 创建Rsyslog用户

MariaDB [(none)]> grant all on Syslog.* to rsyslog@'localhost' identified by 'admin@123';
MariaDB [(none)]> flush privileges;

image-20240510071858482

2.5 配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其它设备日志

[root@superman123 ~]# vi /etc/rsyslog.conf
2.5.1 添加以下两行内容
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,admin@123

img 说明:

localhost表示本地主机,Syslog为数据库名,rsyslog为数据库用户,admin@123为数据库用户rsyslog的密码。

2.5.2 开启相关日志模块
$ModLoad immark           # immark为模块名,支持日志标记
$ModLoad imudp            # imudp 为模块名,支持udp协议
$UDPServerRun 514         # 允许514端口接收使用UDP协议转发过来的日志
$ModLoad imtcp            # imudp 为模块名,支持tcp协议
$InputTCPServerRun 514    # 允许514端口接收使用TCP协议转发过来的日志

image-20240510072133124

image-20240510110516964扩展:UDP协议,中文名是用户数据报协议。在网络中与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层-传输层,处于IP协议的上一层。

2.5.3 重启rsyslog服务
[root@superman123 ~]# systemctl restart rsyslog

3 Linux客户端安装及配置

3.1 安装Rsyslog

[root@superman124 ~]# yum install rsyslog -y

3.2 配置Rsyslog

3.2.1 客户端发送本地日志到服务器端
[root@superman124 ~]# vi /etc/rsyslog.conf
*.* @192.168.0.123   # 此行内容 添加到文件末尾

image-20240510152214303配置术语说明:
facility:中文翻译过来是设施的意思,从功能或程序上对日志分类,
在Linux中常见的facility有:
auth(认证相关的日志),authpriv(授权相关的日志),cron(计划任务相关日志),
daemon(系统服务相关日志),ftp(ftp服务相关的日志),kern(内核相关日志),
lpr(打印相关的日志),mail(邮件相关日志),news(新闻相关的日志),
security(安全相关的日志),user(用户相关的日志),uucp(文件copy相关的日志),
local0-local7(自定义相关的日志)

priority:优先级别,从低到高排序:
debug(调试),
info(消息),
notice(注意),
warn(warning警告),
err(error错误),
crit(critical严重警告),
alert(需要立即修改的信息)
emerg(panic内核崩溃,内核恐慌等严重的信息)

一个@代表通过UDP协议发送日志,
两个@@代表以tcp方式传送日志。
与UDP相比,TCP传输的方式更加稳定一些。

3.2.2 将客户端执行的所有命令写入系统日志中

编辑/etc/bashrc

[root@superman124 ~]# vi /etc/bashrc

文件底部添加一行,加入以下内容

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'

设置使其生效

[root@superman124 ~]# source !$

3.3 重启Rsyslog服务

[root@superman124 ~]# systemctl restart rsyslog

3.4 测试Rsyslog Server是否可以正常接收Client端日志

3.4.1 客户端
[root@superman124 ~]# systemctl restart rsyslog

image-20240510072945109

3.4.2 服务器端
[root@superman123 ~]# tail -f /var/log/messages

image-20240510072843647

4 网络设备客户端配置

4.1 Huawei

<Huawei> system-view
[Huawei] info-center loghost source Vlanif99
[Huawei] info-center loghost 192.168.0.123 facility local5

4.2 H3C

<H3C> system-view
[H3C] info-center loghost source Vlan-interface99
[H3C] info-center loghost 192.168.0.123 facility local6

4.3 Cisco

Cisco>
Cisco> enable
Cisco# config terminal
Cisco(config)# logging on
Cisco(config)# logging 192.168.0.123 
Cisco(config)# logging facility local4
Cisco(config)# logging source-interface e0

4.4 Ruijie

Ruijie>
Ruijie> enable
Ruijie# config terminal
Ruijie(config)# logging buffered warnings
Ruijie(config)# logging source interface VLAN 99
Ruijie(config)# logging facility local6
Ruijie(config)# logging server 192.168.0.123

image-20240510181916065说明:

192.168.0.123为rsyslog服务器的IP。

5 LogAnalyzer安装及配置

5.1 LogAnalyzer安装

[root@superman123 ~]# wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.13.tar.gz
[root@superman123 ~]# tar zxvf loganalyzer-4.1.13.tar.gz
[root@superman123 ~]# cd loganalyzer-4.1.13
[root@superman123 loganalyzer-4.1.13]# mkdir /var/www/html/loganalyzer
[root@superman123 loganalyzer-4.1.13]# rsync -a src/* /var/www/html/loganalyzer/

5.2 LogAntlyzer配置

5.2.1 Step 0-访问LogAntlyzer

浏览器中访问192.168.0.123/loganalyzer

image-20240510073226988

提示没有配置文件,点击here下一步;

5.2.2 Step 1-先决条件

点击Next;

image-20240510073251768

5.2.3 Step 2-验证文件权限

image-20240510073313599

提示错误:缺少config.php文件,并且权限要设置为666,可以使用contrib目录下的configure.sh脚本生成。

查看configure.sh文件的内容

image-20240510073417358

需要在/var/www/html/loganalyzer/下创建config.php文件,并设置666权限

[root@superman123 contrib]# touch /var/www/html/loganalyzer/config.php
[root@superman123 contrib]# chmod 666 !$ 

image-20240510073459733

操作完上面的,执行Recheck,config.php文件可写

image-20240510073852922

点击Next进行下一步;

image-20240510073927838

5.2.4 Step 3-基础设置

image-20240510074124433

5.2.5 Step 4-创建表

image-20240510074150812

5.2.6 Step 5-检查SQL结果

image-20240510074225594

5.2.7 Step 6-创建用户

image-20240510074321070

5.2.8 Step 7-创建系统日志源

image-20240510074718913

5.2.9 Step 8-完成

image-20240510074749739

**注意:**点击Finishi之后,如果报could not find the configured table, maybe misspelled or the table names are case sensitive。请按照以下方法处理:

[root@superman123 contrib]# vi /var/www/html/loganalyzer/config.php

更改DBTableName为区分大小写的SystemEvents。

image-20240509180606598

查看LogAnalyzer首页

image-20240510074809781

image-20240510080131612

image-20240510080155485

5.2.10 测试登录

image-20240510080317695

image-20240510080339210

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

原文链接:https://mp.weixin.qq.com/s?__biz=MzkxNzI1OTE3Mw==&mid=2247491935&idx=1&sn=35bfad18cb3a3f54556647be19096f59&chksm=c141f795f6367e83f7f30dcc07fbbf9c5913c8eff18297141797d211cfaf7d03a859e7f225df&token=1254254417&lang=zh_CN#rd

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/772420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【高校科研前沿】南京地理与湖泊研究所博士后夏凡为第一作者在环境科学与水资源领域Top期刊发文:钙对云南洱海溶解有机质与浮游细菌相互作用的调控作用

文章简介 论文名称&#xff1a;Calcium regulates the interactions between dissolved organic matter and planktonic bacteria in Erhai Lake, Yunnan Province, China 第一作者及单位&#xff1a;夏凡&#xff08;博士后|中国科学院南京地理与湖泊研究所&#xff09; 通讯…

Build a Large Language Model (From Scratch)附录C(gpt-4o翻译版)

来源&#xff1a;https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

C++初学者指南-3.自定义类型(第一部分)-类和基本自定义类型

C初学者指南-3.自定义类型(第一部分)-类和基本自定义类型 文章目录 C初学者指南-3.自定义类型(第一部分)-类和基本自定义类型1.类型种类&#xff08;简化&#xff09;2.为什么选择自定义类型&#xff1f;单向计数器提升序列 3.限制成员访问成员函数公共(public) vs. 私有(priva…

firewalld(7)NAT、端口转发

简介 在前面的文章中已经介绍了firewalld了zone、rich rule等规则设置&#xff0c;并且在iptables的文章中我们介绍了网络防火墙、还有iptables的target,包括SNAT、DNAT、MASQUERADE、REDIRECT的原理和配置。那么在这篇文章中&#xff0c;将继续介绍在firewalld中的NAT的相关配…

cpp随笔——如何实现一个简单的进程心跳功能

什么是进程的心跳 在我们日常后台服务程序运行中,一般是调度模块&#xff0c;进程心跳以及进程监控共同工作&#xff0c;进而实现实现服务的稳定运行,在前面我们介绍过如何去实现一个简单的调度模块,而今天我们所要介绍的就是如何实现进程的心跳&#xff0c;首先什么是进程的心…

MCU中如何利用串口通信,增加AT指令框架

第一步&#xff0c;通过串口与PC端建立通信第二步&#xff0c;根据PC端发来的AT指令&#xff0c;MCU执行相应代码 主要是解析PC端发来的字符串&#xff0c;也就是获取字符串、处理字符串、以及分析字符串。 1. 串口通信 用到的是DMA串口通信&#xff0c;收发字符串数据时&…

什么是JavaScript中的箭头函数(arrow functions)?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介什么是JavaScript中的箭头函数&#xff08;arrow functions&#xff09;&#xff1f;1. 引言2. 箭头函数的语法2.1 基本语法2.2 示例 3. 箭头函数的特点3.1 简洁的语法3.2 没有this绑定3.3 不能用作构造函数3.4 没有arguments对象3…

基于SpringBoot的就业信息管理系统

你好&#xff0c;我是计算机学姐码农小野&#xff01;如果你对就业信息管理系统感兴趣或有相关需求&#xff0c;欢迎私信联系我。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; SpringBootMySql 工具&#xff1a; MyEclipse、Tomcat 系统展示…

隐私信息管理体系认证:守护个人信息,筑牢隐私防线

在数字化浪潮汹涌的当下&#xff0c;个人信息安全问题愈发凸显其重要性。随着互联网技术的飞速发展&#xff0c;我们的隐私信息如同裸露在阳光下的沙滩&#xff0c;稍有不慎就可能被不法分子窃取或滥用。因此&#xff0c;构建一个完善的隐私信息管理体系&#xff0c;成为了保障…

结合数据索引结构看SQL的真实执行过程

引言 关于数据库设计与优化的前几篇文章中&#xff0c;我们提到了数据库设计优化应该遵守的指导原则、数据库底层的索引组织结构、数据库的核心功能组件以及SQL的解析、编译等。这些其实都是在为SQL的优化、执行的理解打基础。 今天这篇文章&#xff0c;我们以MySQL中InnoDB存…

软件测评机构:关于软件验收测试作用与实施步骤全解析

软件验收测试是指在软件项目交付给用户之前进行的一系列测试活动&#xff0c;其主要目的是验证软件是否符合用户需求和设计规范&#xff0c;以确保软件的质量和稳定性。 软件验收测试在软件开发生命周期的最后阶段进行&#xff0c;起到了至关重要的作用。它能够帮助客户确认软…

AI PC(智能电脑)技术分析

一文看懂AI PC&#xff08;智能电脑&#xff09; 2024年&#xff0c;英特尔、英伟达等芯片巨头革新CPU技术&#xff0c;融入AI算力&#xff0c;为传统PC带来质的飞跃&#xff0c;引领智能计算新时代。 2024年&#xff0c;因此被叫作人工智能电脑&#xff08;AI PC&#xff09;…

【elementui】记录解决el-tree开启show-checkbox后,勾选一个叶结点后会自动折叠的现象

第一种解决方案&#xff1a;设置default-expand-keys的值为当前选中的key值即可 <el-treeref"tree"class"checkboxSelect-wrap":data"treeData"show-checkboxnode-key"id":expand-on-click-node"true":props"defau…

MATLAB——循环语句

一、for end语句 在该语法中&#xff0c;循环变量是用于迭代的变量名&#xff0c;它会在每次循环迭代中从向量或矩阵中取出一列的值。数值向量或者矩阵则表示了循环变量可以取值的范围&#xff0c;通常根据实际需要事先给定。一旦循环变量遍历完数值向量或者矩阵中的所有值&…

初试成绩占比百分之70!计算机专硕均分340+!华中师范大学计算机考研考情分析!

华中师范大学&#xff08;Central China Normal University&#xff09;简称“华中师大”或“华大”&#xff0c;位于湖北省会武汉&#xff0c;是中华人民共和国教育部直属重点综合性师范大学&#xff0c;国家“211工程”、“985工程优势学科创新平台”重点建设院校&#xff0c…

苹果公司的Wifi定位服务(WPS)存在被滥用的风险

安全博客 Krebs on Security 2024年5月21日发布博文&#xff0c;表示苹果公司的定位服务存在被滥用风险&#xff0c;通过 "窃取"WPS 数据库&#xff0c;可以定位部队行踪。 相关背景知识 手机定位固然主要依赖卫星定位&#xff0c;不过在城市地区&#xff0c;密集的…

YOLOv10全网最新创新点改进系列:融合GSConv+Slim Neck,双改进、双增强,替换特征融合层实现, 轻量化涨点改进策略,有效涨点神器!

YOLOv10全网最新创新点改进系列&#xff1a;融合GSConvSlim Neck&#xff0c;双改进、双增强&#xff0c;替换特征融合层实现&#xff0c; 轻量化涨点改进策略&#xff0c;有效涨点神器&#xff01; 所有改进代码均经过实验测试跑通&#xff01;截止发稿时YOLOv10已改进40&…

vue中的坑·

常规 1.使用watch时&#xff0c;immediate true会在dom挂载前执行 2.使用this.$attrs和props 可以获取上层非原生属性&#xff08;class/id&#xff09; 多层次嵌套引用 设置的时候直接赋值&#xff0c;修改的时候即使用的双向绑定加上$set / nextick / fouceUpdate都不会同步…

MySQL表的练习

二、创建表 1、创建一个名称为db_system的数据库 create database db_system; 2、在该数据库下创建两张表&#xff0c;具体要求如下 员工表 user 字段 类型 约束 备注 id 整形 主键&#xff0c;自增长 id N…