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

文章目录

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

1 环境准备

1.1 服务器端安装LAMP环境

bash 复制代码
[root@superman123 ~]# yum install httpd httpd-devel mariadb mariadb-lib mariadb-server php* -y

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

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

测试php运行环境

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

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

2 Rsyslog服务端安装及配置

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

bash 复制代码
[root@superman123 ~]# yum install rsyslog rsyslog-mysql -y

2.2 导入rsyslog-mysql数据库文件

bash 复制代码
[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 查看刚导入的库

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

2.4 创建Rsyslog用户

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

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

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

说明:

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

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

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

2.5.3 重启rsyslog服务
bash 复制代码
[root@superman123 ~]# systemctl restart rsyslog

3 Linux客户端安装及配置

3.1 安装Rsyslog

bash 复制代码
[root@superman124 ~]# yum install rsyslog -y

3.2 配置Rsyslog

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

配置术语说明:

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

bash 复制代码
[root@superman124 ~]# vi /etc/bashrc

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

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

设置使其生效

bash 复制代码
[root@superman124 ~]# source !$

3.3 重启Rsyslog服务

bash 复制代码
[root@superman124 ~]# systemctl restart rsyslog

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

3.4.1 客户端
bash 复制代码
[root@superman124 ~]# systemctl restart rsyslog
3.4.2 服务器端
bash 复制代码
[root@superman123 ~]# tail -f /var/log/messages

4 网络设备客户端配置

4.1 Huawei

bash 复制代码
<Huawei> system-view
[Huawei] info-center loghost source Vlanif99
[Huawei] info-center loghost 192.168.0.123 facility local5

4.2 H3C

bash 复制代码
<H3C> system-view
[H3C] info-center loghost source Vlan-interface99
[H3C] info-center loghost 192.168.0.123 facility local6

4.3 Cisco

bash 复制代码
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

bash 复制代码
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

说明:

192.168.0.123为rsyslog服务器的IP。

5 LogAnalyzer安装及配置

5.1 LogAnalyzer安装

bash 复制代码
[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

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

5.2.2 Step 1-先决条件

点击Next;

5.2.3 Step 2-验证文件权限

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

查看configure.sh文件的内容

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

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

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

点击Next进行下一步;

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-完成

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

bash 复制代码
[root@superman123 contrib]# vi /var/www/html/loganalyzer/config.php

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

查看LogAnalyzer首页

5.2.10 测试登录

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

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

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

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

相关推荐
妖怪喜欢风几秒前
Linux 5.0在start_kernel之前做了什么事?(以aarch64为例)
linux·汇编
DaphneOdera172 分钟前
Linux | 安装最新版 neovim
linux·服务器·vim
加油,旭杏25 分钟前
【Linux】Linux进程的概念
linux·运维·服务器·进程·冯诺依曼体系结构·管理·pcb
Kika写代码37 分钟前
【Linux】【Hadoop】大数据基础实验一
大数据·linux·hadoop
学技术的大胜嗷1 小时前
pycharm连接远程linux服务器上的docker进行深度学习训练
linux·服务器·pytorch·python·深度学习·神经网络·pycharm
secret_to_me1 小时前
电脑远程启动Wol
linux·电脑
两仪式quq1 小时前
Linux-环境变量
linux·运维·服务器
啥也不会干的小码1 小时前
【越学学糊涂的Linux系统】(1)Linux环境搭建|账户管理
linux
阳光九叶草LXGZXJ2 小时前
南大通用数仓-GCDW-学习-03-用户管理
linux·运维·数据库·学习
秣宇2 小时前
Linux提升篇-服务器BIOS介绍
linux·运维·服务器