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

图片

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出:npm常用命令详解与实战

theme: smartblue npm是什么 npm&#xff08;Node Package Manager&#xff09;是Node.js平台的默认包管理器&#xff0c;它让JavaScript开发者能够轻松地共享、管理和使用彼此编写的代码模块。npm不仅仅是一个安装工具&#xff0c;它还是一个全面的生态系统&#xff0c;用于发…

【YOLOv5/v7改进系列】替换损失函数为WIOU、CIOU、GIOU、SIOU、DIOU、EIOU、Focal C/G/S/D/EIOU等

一、导言 在目标检测任务中&#xff0c;损失函数的主要作用是衡量模型预测的边界框&#xff08;bounding boxes&#xff09;与真实边界框之间的匹配程度&#xff0c;并指导模型学习如何更精确地定位和分类目标。损失函数通常由两部分构成&#xff1a;分类损失&#xff08;用于…

RabbitMQ入门教程(精细版二带图)

目录 六 RabbitMQ工作模式 6.1Hello World简单模式 6.1.1 什么是简单模式 6.1.2 RabbitMQ管理界面操作 6.1.3 生产者代码 6.1.4 消费者代码 6.2 Work queues工作队列模式 6.2.1 什么是工作队列模式 6.2.2 RabbitMQ管理界面操作 6.2.3 生产者代码 6.2.4 消费者代码 …

【最新】App Inventor 2 学习平台和AI2伴侣使用

1、AppInventor2服务器&#xff1a; 官方服务器&#xff1a;http://ai2.appinventor.edu/ 官方备用服务器&#xff1a;http://code.appinventor.mit.edu/ 国内同步更新服务器&#xff1a;https://www.fun123.cn 国内访问速度很快&#xff0c;很稳定&#xff0c;文档是中文的…

偏微分方程笔记(驻定与非驻定问题)

椭圆方程可以看成抛物方程 t → ∞ t\rightarrow\infty t→∞的情况。 抛物&#xff1a; 双曲&#xff1a;

DolphinDB 蝉联 Gartner 中国实时数据管理代表厂商

报&#xff01;DolphinDB 又上榜啦&#xff01;&#xff01;&#xff01; 上月&#xff0c;全球知名信息技术研究公司 Gartner 发布了 Hype Cycle for Data, Analytics and AI in China, 2024 报告&#xff0c;以技术成熟度曲线&#xff08;Hype Cycle&#xff09;和优先级矩阵…

【NLP学习笔记】load_dataset加载数据

除了常见的load_dataset(<hf上的dataset名>)这种方式加载HF上的所有数据外&#xff0c;还有其他custom的选项。 加载HF上部分数据 from datasets import load_dataset c4_subset load_dataset("allenai/c4", data_files"en/c4-train.0000*-of-01024.js…

航空数据管控系统-②项目分析与设计:任务1:需求分析-项目场景引入

任务描述 知识点&#xff1a;需求分析 重 点&#xff1a;原型设计工具&#xff0c;用例图&#xff0c;流程图绘制工具 难 点&#xff1a;功能点的梳理 内 容&#xff1a;完成本次实训项目的需求分析 先共同讨论处本项目的主要功能模块&#xff0c;并确定每个模块的负责…

通过卷防水上限,解锁手机的新玩法?IP68之间亦有不同

当手机的日常防水已经成了基本功&#xff0c;防水能力的上限便成了新的赛道。 毕竟再谨慎的人&#xff0c;也可能会有手滑的时候。这个时候&#xff0c;一台有着IP68级防水的手机&#xff0c;就能给你提供一份安心。 【IP68是标准上限&#xff0c;不是手机防水上限】 IP68是…

JAVA学习笔记2

一、加号使用 二、数据类型 bit&#xff1a;计算机中的最小存储单位 byte(字节):计算机中基本存储单元&#xff0c;1byte8bit 浮点数符号位指数位尾数位 浮点数默认为double类型

2024亚太杯中文赛B题全保姆教程

B题 洪水灾害的数据分析与预测 问题 1. 请分析附件 train.csv 中的数据&#xff0c;分析并可视化上述 20 个指标中&#xff0c;哪 些指标与洪水的发生有着密切的关联&#xff1f;哪些指标与洪水发生的相关性不大&#xff1f;并 分析可能的原因&#xff0c;然后针对洪水的提前预…

Teamviewer删除可信任设备

目前基本上主流的远程连接软件都有限制&#xff0c;要么收费&#xff1b; Teamviewer可信任设备有限&#xff0c;超出限制就会提示错误&#xff0c;需要删除多余的设备才能登陆账号&#xff01; 需要登陆这个网站 Teamviewer Management console&#xff0c;才能修改&#xff…

基于 STM32 的智能睡眠呼吸监测系统设计

本设计的硬件构成&#xff1a; STM32F103C8T6单片机最小系统板&#xff08;包含3.3V稳压电路时钟晶振电路复位电路&#xff08;上电自复位&#xff0c;手动复位&#xff09;&#xff09;&#xff0c;心率传感器、气压传感器、液晶显示、按键、蜂鸣器、LED灯、蓝牙模块组合而成…

【C++/STL深度剖析】priority_queue 最全解析(什么是priority_queue? priority_queue的常用接口有哪些?)

目录 一、前言 二、如何区分【优先级队列】与【队列】&#xff1f; 三、priority_queue的介绍 四、priority_queue 的构造 五、priority_queue 的常用接口 &#x1f4a7;push &#x1f4a7;pop &#x1f4a7;size &#x1f4a7;top &#x1f4a7;empty &…

YOLOv5改进 | 损失函数 | EIoU、SIoU、WIoU、DIoU、FocuSIoU等多种损失函数

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a; 《YOLOv5入门 …

什么是YUV和IPB,PTS和DTS,视频编码解码过程

YUV 是一种在视频处理和压缩中常用的颜色空间。 它将图像的亮度 (Y) 与色度 (U 和 V) 成分分开。 这种分离对视频压缩和广播非常有益&#xff0c; 因为人眼对亮度变化比对颜色变化更敏感。 YUV 组件简介 Y (亮度)&#xff1a;表示图像的亮度或灰度信息。U (色度)&#xff1a;…

四模卫星导航模块-高精度多模卫星定位技术

GPS02-UBX模块是思为无线基于u-blox最新款IC M10系列研发的一款全球卫星系统定位GPS/北斗模块。它可以支持BDS/GPS/GLONASS/Galileo四模定位(四选三&#xff0c;BDS和GLONASS不能同时使用)。GPS02-UBX模块能看到更多的卫星&#xff0c;有着更高的灵敏度&#xff0c;从而为用户获…

【Unity学习笔记】A*寻路算法

文章目录 图寻路算法BFS广度优先算法DFS深度优先贪心算法 引入权重Dijkstra算法 A*算法C#实现步骤 Unity中的A*算法A*优化建议 图 图的知识盘点 pathfinding 作为一名计算机专业的学生&#xff0c;对于图这种数据结构也是烂熟于心了。图是一种包含了多个结点的数据结构&…

案例分享:数据集市搭建方案中集成SQLFlow数据血缘分析工具

本文中描述的数据集市搭建方案是一家跨国公司在AWS平台上的具体实践案例。我公司参与其中的数据血缘部分的建设&#xff0c;SQLFlow数据血缘分析工具在该方案中帮助用户实现了数据血缘分析。 用户使用Redshift 数据库仓库进行数据集市开发。从各种数据源提取数据&#xff0c;并…

动态代理(通俗易懂)

程序为什么需要代理&#xff1f;代理长什么样&#xff1f; 例子 梳理 代理对象(接口)&#xff1a;要包含被代理的对象的方法 ---Star 被代理对象&#xff1a;要实现代理对象(接口) ---SuperStar 代理工具类&#xff1a;创建一个代理&#xff0c;返回值用代理对象&#xff0c…