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

news2024/12/23 10:52:17

文章目录

  • 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.coloradmin.cn/o/1894391.html

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

相关文章

vector与list的简单介绍

1. 标准库中的vector类的介绍&#xff1a; vector是表示大小可以变化的数组的序列容器。 就像数组一样&#xff0c;vector对其元素使用连续的存储位置&#xff0c;这意味着也可以使用指向其元素的常规指针上的偏移量来访问其元素&#xff0c;并且与数组中的元素一样高效。但与数…

顶级5款有用的免费IntelliJ插件,提升你作为Java开发者的旅程

在本文中&#xff0c;我们将深入探讨IntelliJ IDEA插件——那些可以提升你生产力的神奇附加组件&#xff0c;并微调你的代码以达到卓越。我们将探索5款免费插件&#xff0c;旨在将你的开发水平提升到一个新的高度。 1. Test Data 使用Test Data插件进行上下文操作 作为开发者&a…

IT之旅启航:高考后IT专业预习全攻略

✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的点赞、关注、收藏、评论&#xff0c;是对我最大…

yum命令提示 错误:rpmdb: BDB0113 Thread/process 4153/139708200269632

一、报错信息 [rootDawn yum.repos.d]# yum clean all 错误&#xff1a;rpmdb: BDB0113 Thread/process 4153/139708200269632 failed: BDB1507 Thread died in Berkeley DB library 错误&#xff1a;db5 错误(-30973) 来自 dbenv->failchk&#xff1a;BDB0087 DB_RUNRECOVE…

【AI】DeepStream(14):图像分割deepstream-segmentation-test示例演示

【AI】AI学习目录汇总 1、简介 deepstream-segmentation-test示例演示了图像的语义分割。两个配置文件,分别加载U-Net和Res-UNet两种分割模型 unet_output_graph.uffunetres18_v4_pruned0.65_800_data.uffU-Net是一个在生物医学图像分割领域广泛应用的卷积神经网络(CNN),…

PHP花涧订购系统-计算机毕业设计源码00332

摘 要 近年来&#xff0c;电子商务的快速发展引起了行业和学术界的高度关注。花涧订购系统旨在为用户提供一个简单、高效、便捷的花卉购物体验&#xff0c;它不仅要求用户清晰地查看所需信息&#xff0c;而且还要求界面设计精美&#xff0c;使得功能与页面完美融合&#xff0c;…

Flume集群部署(手把手部署图文详细版)

前景概要&#xff1a; Kafka消息订阅系统在大数据业务中有着重要运用&#xff0c;尤其在实时业务中&#xff0c;kafka是必不可少的组件之一。 Flume是大数据组件中重要的数据采集工具&#xff0c;我们常利用Flume采集各种数据源的数据供其他组件分析使用。例如在实时业务中&…

实践Go的命令模式

简介 现在的软件系统往往是分层设计。在业务层执行一次请求时&#xff0c;我们很清楚请求的上下文&#xff0c;包括&#xff0c;请求是做什么的、参数有哪些、请求的接收者是谁、返回值是怎样的。相反&#xff0c;基础设施层并不需要完全清楚业务上下文&#xff0c;它只需知道…

【软件测试】之黑盒测试用例的设计

&#x1f3c0;&#x1f3c0;&#x1f3c0;来都来了&#xff0c;不妨点个关注&#xff01; &#x1f3a7;&#x1f3a7;&#x1f3a7;博客主页&#xff1a;欢迎各位大佬! 文章目录 1.测试用例的概念2.测试用例的好处3. 黑盒测试用例的设计3.1 黑盒测试的概念3.2 基于需求进行测…

2024年洗地机哪款最好用?全网最全洗地机选购指南

随着科技的不断进步&#xff0c;人们对生活的品质的追求也逐渐上升&#xff0c;智能家用洗地机也逐渐成为人们家务活的得力助手。随之而来的&#xff0c;洗地机品牌繁多&#xff0c;质量参差不齐&#xff0c;往往让我们无从下手&#xff0c;作为洗地机的重度用户&#xff0c;防…

220千伏变电站辅助设备智能监控平台 无人化与自动化升级改造工程

220千伏变电站特点 高电压等级&#xff1a;220千伏变电站的最大特点是其高压传输能力&#xff0c;能够将发电厂产生的电能高效地传输到较远的地区&#xff0c;满足大型城市及工业区域的用电需求。 输电能力大&#xff1a;220千伏变电站在输电能力上远大于普通的110千伏或更低…

C语言中的自定义类型: 结构体、联合体和枚举

1.结构体类型 结构体是一些值的集合,这些值称为成员变量.结构体的每个成员可以是不同类型的变量. 1.1结构体类型的声明 上述的variable-list可以有也可以没有&#xff0c;有的意思是直接在这就创建了结构体变量&#xff0c;这里创建的变量可以直接初始化&#xff0c;如下面一段…

时空预测+特征分解!高性能!EMD-Transformer和Transformer多变量交通流量时空预测对比

时空预测特征分解&#xff01;高性能&#xff01;EMD-Transformer和Transformer多变量交通流量时空预测对比 目录 时空预测特征分解&#xff01;高性能&#xff01;EMD-Transformer和Transformer多变量交通流量时空预测对比效果一览基本介绍程序设计参考资料 效果一览 基本介绍…

经典递归分析

在前面一篇中, 已经看过许多直观的递归的例子, 在这篇里, 将分析两个经典的递归问题, 阶乘与菲波那契数列数列, 在此过程中, 还将对比递归与循环(迭代)间的异同, 探讨递归与内存中的栈的关系, 以及递归的效率等问题. 如无特别说明, 示例使用的是 Java, IDE 则为 Eclipse. 阶乘(…

js学习--制作猜数字

猜数字制作 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><script>function fun() {alert("1-100猜数字");let num Math.floor(Math.random() * 100) 1;for …

无法识别为 cmdlet、函数、脚本文件或可运行程序的名称

一、遇到问题 PS D:\software\nacos\nacos-server-2.3.1\bin> startup.cmd -m standalone startup.cmd : 无法将“startup.cmd”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c; 请确保路径正确&#xff0c;然后…

Kamailio-Web管理页面Siremis的安装与部署

siremis 是针对于 Kamailio 的web管理接口&#xff0c;使用PHP书写&#xff0c;更新至2020年&#xff0c;相对不是太新但是是官方友链的 以下就采用 Ubuntu 22.04Siremis 5.8.0apache http server 2.4php7.0 如有疑问请参看官方指南 以下开始介绍操作步骤 安装apache2.4 we…

【JavaEE】多线程代码案例(2)

&#x1f38f;&#x1f38f;&#x1f38f;个人主页&#x1f38f;&#x1f38f;&#x1f38f; &#x1f38f;&#x1f38f;&#x1f38f;JavaEE专栏&#x1f38f;&#x1f38f;&#x1f38f; &#x1f38f;&#x1f38f;&#x1f38f;上一篇文章&#xff1a;多线程代码案例(1)&a…

【硬核科普】存算一体化系统(Processing-in-Memory, PIM)深入解析

文章目录 0. 前言1. 提出背景1.1 存储墙1.2 功耗墙 2. 架构方案2.1 核心特征2.2 技术实现2.2.1 电流模式2.2.2 电压模式2.2.3 模式选择 2.3 PIM方案优势 3. 应用场景4. 典型产品4.1 鸿图H304.2 三星HBM-PIM 5. 存算一体化缺点6. 总结 0. 前言 按照国际惯例&#xff0c;首先声明…

【C语言】auto 关键字

在C语言中&#xff0c;auto关键字用于声明局部变量&#xff0c;但它的使用已经变得很少见。事实上&#xff0c;从C99标准开始&#xff0c;auto关键字的默认行为就是隐含的&#xff0c;因此在大多数情况下无需显式使用它。 基本用法 在C语言中&#xff0c;auto关键字用于指定变…