当前位置: 首页 > news >正文

29、构建可视化日志管理服务器

我们可以通过集中式日志服务器将多台机器的日志收集在一个日志服务器,然后通过脚本或者其他方式去分析,但是真正做过运维的小伙伴明白,日子收集在硬盘上,硬盘的空间有限且大文件分析起来IO压力超级大,分析日志需要高超的技术,一般运维人员分析起来会很困难,更无法实时的去查看某个机器的日志。这样的话我们的日志收集就变成了真正意义上的收集了,收集起来如何利用就变成了一个难题,总结一下主要的问题就是以下几点:
  • 日志文件巨大,硬盘IO压力大
  • 无法实时分析
  • 分析需要消耗很多计算机资源且困难
如何解决这个问题呢?
  • IO压力: 我们可以将日志收集在数据库中,海量的日志通过分布式存储的底层支撑加上数据库对数据的高效管理,使得数据读写变得轻松,避免了原理日志服务器的 IO 压力。
  • 无法实时分析:可以部署一个日志分析系统来辅助分析,苦难的分析工作瞬间变得简单。
  • 分析需要消耗很多计算机资源:分布式处理分担处理压力
高性能的日志收集、存储、分析架构,同时也是一个可以使用 web 页面查看日志的可视化架构:
rsyslog    +    mariadb    +    loganalyzer

一、 server 端的环境准备 和 设置

1.1、安装软件包

[root@long90 ~]# dnf install mariadb mariadb-server rsyslog-mysql-8.2102.0-5.el8.x86_64 -y

1.2、配置 mariadb 服务

[root@long90 ~]# systemctl restart mariadb.service
[root@long90 ~]# systemctl status mariadb.service
● mariadb.service - MariaDB 10.3 database serverLoaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)Active: active (running) since Mon 2022-11-28 19:47:31 CST; 21s ago

# 设置 mysql root 密码

[root@long90 ~]# mysqladmin -u root password Tangyulong90?
[root@long90 ~]# cd /usr/share/doc/rsyslog/

# 测试 mariadb

[root@long90 rsyslog]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.3.28-MariaDB MariaDB Server
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)

# 导入 日志数据库架构 Syslog

[root@long90 rsyslog]# mysql -u root -p < mysql-createDB.sql
Enter password:
[root@long90 rsyslog]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.3.28-MariaDB MariaDB Server
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| Syslog             |
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)

# 配置用户跟权限

MariaDB [(none)]> create user 'syslogroot'@'%';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> grant all on Syslog.* to 'syslogroot'@'127.0.0.1' identified by 'syslogpasswd';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> grant all on Syslog.* to 'syslogroot'@'192.168.8.86' identified by 'syslogpasswd';
Query OK, 0 rows affected (0.000 sec)
MariaDB [none]> grant all on Syslog.* to 'syslogroot'@'192.168.8.8' identified by 'syslogpasswd';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> grant all on Syslog.* to 'syslogroot'@'192.168.8.1' identified by 'syslogpasswd';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)MariaDB [(none)]> quit;

物理机 win11 ip 192.168.8.1

1.3、 修改 rsyslog 服务的配置文件

服务器端:192.168.8.8
[root@long90 rsyslog]# vim /etc/rsyslog.conf
22 # Provides TCP syslog reception
23 # for parameters see http://www.rsyslog.com/doc/imtcp.html
24 module(load="imtcp") # needs to be done just once
25 input(type="imtcp" port="514")
26 module(load="ommysql")66
67 # 使用 ommysql 模块,将日志信息发送到日志服务192.168.8.8中的 Syslog 数据库
68 *.*     :ommysql:192.168.8.8,Syslog,syslogroot,syslogpasswd[root@long90 rsyslog]# systemctl restart rsyslog.service

二、测试

2.1、测试数据能否记录到数据库中

[root@long90 ~]# logger "this is a test from 192.168.8.8."MariaDB [Syslog]> select * from SystemEvents\G
*************************** 1. row ***************************ID: 1CustomerID: NULLReceivedAt: 2022-11-28 20:48:11
DeviceReportedTime: 2022-11-28 20:48:11Facility: 1Priority: 5FromHost: long90Message: this is  a test 192.168.8.8; # 看到之前使用 logger 产生的日志信息及代表 rsyslog 可以将日志信息存入数据库中NTSeverity: NULL

2.2、设置 客户端 192.168.8.86

[root@rhel8 ~]# yum install rsyslog-mysql.x86_64 -y
[root@rhel8 ~]# vim /etc/rsyslog.conf
22 # Provides TCP syslog reception
23 # for parameters see http://www.rsyslog.com/doc/imtcp.html
24 module(load="imtcp") # needs to be done just once
25 input(type="imtcp" port="514")
26 module(load="ommysql")local7.*                                                /var/log/boot.log
*.*     @192.168.8.8
#*.*    @@192.168.8.8
*.*     :ommysql:192.168.8.8,Syslog,syslogroot,syslogpasswd
[root@rhel8 ~]# systemctl restart rsyslog.service

2.3、在服务端 192.168.8.8 查看数据是否保存到数据库 Syslog 中

MariaDB [Syslog]> select * from SystemEvents\G
...FromHost: rhel8Message: hello this is a test from 192.168.8.86.NTSeverity: NULL
...

三、sever (192.168.8.8)端 安装支持 web 页面查看日志的工具 loganalyzer

3.1、下载 loganalyzer-4.1.8.tar.gz

3.2、搭建 LAMP

dnf install httpd php php-mysqlnd php-gd -y
tar xf loganalyzer-4.1.8.tar.gz
cd loganalyzer-4.1.8/
cp -r src/* /var/www/html/
cp contrib/* /var/www/html/
cd /var/www/html/
sh configure.sh
systemctl restart httpd
# 创建 loganalyzer 数据库
mysql -u root -p
MariaDB [(none)]> create database loganalyzer;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> create user 'loganalyzer'@'%';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> grant all on loganalyzer.* to loganalyzer@'192.168.8.8' identified by 'loganalyzer';
Query OK, 0 rows affected (0.001 sec)MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> quit;

3.3、打开浏览器,部署 loganalyzer

 

http://www.dtcms.com/a/494505.html

相关文章:

  • 代码解析:《AGENTREVIEW: Exploring Peer Review Dynamics with LLM Agents》
  • 嵌入式软件面试
  • 安卓前后端连接教程
  • linux系统编程(十③)RK3568 socket之 TCP 服务器的实现【更新客户端断开重连依旧可以收发】
  • Windows系统错误6118全面解决方案:修复此工作组的服务器列表当前无法使用
  • 衡阳网站页面设计公司昆明抖音代运营
  • 昆明网站建设是什么意思WordPress添加PHP代码
  • 前端基础——HTML练习项目:填写简历信息
  • Python实现的服务器日志监控脚本
  • Git合并冲突解决方法
  • 计算机毕业设计选题推荐:基于SpringBoot和Vue的爱心公益网站
  • 解密Anthropic的MCP Inspector:从协议调试到AI应用开发的全栈架构之旅
  • 数据结构——二十一、哈夫曼树(王道408)
  • Amazon ElastiCache 全解析:打造高性能的智能缓存架构
  • Set数据结构【ES6】
  • 【算法与数据结构】图的遍历与生成树实战:从顶点3出发,DFS/BFS生成树完整代码+流程拆解
  • AI游戏素材创作全攻略
  • 杭州网站app开发公司大连市网站制作电话
  • C标准库--错误信息<errno.h>
  • SpringCloud 获取Feign请求的真实IP地址
  • 目标检测算法在家禽养殖领域中的应用
  • MUI组件库与主题系统全面指南
  • 用 PyTorch 搭建 CIFAR10 线性分类器:从数据加载到模型推理全流程解析
  • 什么是机械设备制造ERP?哲霖软件如何助力企业实现降本增效?
  • 【小白笔记】关于 Python 类、初始化以及 PyTorch 数据处理的问题
  • HTTPS 内容抓取实战 能抓到什么、怎么抓、不可解密时如何定位(面向开发与 iOS 真机排查)
  • Gartner发布数据安全态势管理市场指南:将功能扩展到AI的特定数据安全保护是DSPM发展方向
  • 建站系统的应用场景一条龙搭建网站
  • 公司网站自己做的网站怎么被搜录
  • item_video:获得淘宝商品视频 API 接口实战演示说明