Skywalking+logback+Flink 日志系统说明书

<日志中心>
系统设计说明

产品名称:** 日志中心 **
版本编号:** v1.0 **
**评审日期: **** 2023-07-04 **
编 制 人:** Rainbow **
完成日期:** 2023-07-04 **
文件状态:[ ]草稿
[ ]修改中
[√]正式发布

文档修订历史

序号版本编写/修订说明修订人修订日期备注
1V1.0创建文档Rainbow2023-07-04系统设计说明

目录
一、 引言 5
1.1 标识 5
1.2 系统概述 5
二、 体系结构设计 5
2.1 修前信息管理 5
2.2 基础信息管理 5
2.3 检修任务配置 6
2.4 模块划分 6
2.4.1 模块层次结构图 6
三、 数据结构设计与接口函数 7
3.1 数据库表关系结构 7
3.1.1 知识库 – 枚举 7
3.1.2 文件包 – 修前信息管理 – 基础信息管理 9
3.1.3 工作台 – 检修任务配置 9
3.2 逻辑结构设计 9
3.3 物理结构设计 10
3.4 表 11
3.4.1 枚举 - 表enumerate 13
3.4.2 枚举 - 表enum_type 15
3.5 函数 16
3.5.1 基础信息管理 - 函数getDeviceName 16
3.5.2 检修任务配置 - 函数addCfgPackagePojo 17
四、 流程图 17
4.1 系统流程图 17
4.2 数据流程图 18
五、 环境配置 19
5.1 开发环境配置 19
5.2 运行环境配置 19
5.3 测试环境的配置 20

1 引言

2 标识

日志中心

3 系统概述

以往系统日志信息存储在系统目录下的日志文件中,分散的现状难以统一管理,日志信息未与业务建立直接联系,导致日志追踪困难。
日志中心结合业务功能和数据模型管理功能将日志数据与业务进行结合,支持接口的链路追踪,逻辑删除、更新、插入数据操作的前后数据对比,方便用户即使追踪问题。
日志中心面向用户包括开发人员和产品经理,系统管理工作者等,不直接开放给系统用户。

4 体系结构设计

2.1 日志列表

  1. 根据应用、服务、时间段查询日志列表,应用和服务必选,时间段默认为最近一小时。
  2. 日志列表数据逐页展示。
  3. 日志列表包括Key、功能名称、接口名称、持续时间、是否错误、开始时间。
  4. 日志可以查看详情。

2.2 日志详情-接口trace

  1. 从skywalking获取trace数据展示。
  2. Trace信息为嵌套数组,trace详情包括接口名、请求网址、请求方法、状态代码、是否错误、开始时间、操作人、traceId、input(输入)、output(输出),输出结果json可折叠展示。
  3. 每条trace可以查看数据日志和文件日志

2.3 数据日志

  1. 分页显示接口数据操作日志,不包括查询数据
  2. 日志列表包括处理时间、操作类型、数据库、表名、主键Json、操作前数据、操作后数据
  3. 查看详情-可以对比查看数据变更前后对比,数据对比为数据库表字段名称数据,字段对比将数据对比的字段名结合业务数据模型展示

2.4 文件日志

  1. 分页显示接口执行过程产生的文件日志信息列表
  2. 日志列表包括开始时间、内容类型、内容、level、logger、thread
  3. 查看详情-采用console样式展示文件日志内容,提高可读性

2.5 模块划分

模块标识功能源文件名
日志列表日志列表展示一段时间内的日志列表信息GraphqlController
日志trace日志trace展示日志trace详情GraphqlController
数据日志数据日志结合业务数据模型展示数据变更日志LogBinController
文件日志文件日志展示接口调用过程中产生的文件日志信息GraphqlController

5 数据结构设计与接口函数

6 数据库表关系结构


3.2逻辑结构设计


3.3物理结构设计

  1. log_bin数据操作日志, 对应LogBinController。
  2. app_service 应用服务关系,通过Flink实时同步到Doris库中。
  3. sys_data_field/sys_data_model 业务数据模型,通过Flink实时同步到Doris库中。
  4. sys_enum_type/sys_enumerate 业务枚举,通过Flink实时同步到Doris库中。
  5. us_pernission 业务系统菜单数据,通过Flink实时同步到Doris库中。

3.4表

  1. 表汇总
表名模块功能说明
log_bin数据日志从业务系统logbin文件中收集数据日志
app_service日志列表根据业务功能查询日志
sys_data_field、
sys_data_model
数据日志数据日志关联业务数据模型
sys_enum_type、
sys_enumerate
数据日志数据日志关联业务枚举值
us_pernission日志列表日志列表功能关联

7 枚举 - 表enumerate

表名enumerate
列名描述默认值数据类型
(精度范围)
空/
非空
约束条件范例
id枚举UUID0BIGINT(20)主键
name枚举名称VARCHAR(50)
code枚举CODEVARCHAR(50)
enum_value枚举值-9999INT(11)
description描述VARCHAR(255)
sort排序-9999INT(11)
type_id枚举型UUID-9999BIGINT(20)
parent_id父idBIGINT(20)
type类型INT(11)
version版本1INT(11)
state状态-9999INT(11)
is_deleted是否删除TINYINT UNSIGNED(4)
create_time创建时间DATETIME
create_user创建人-9999BIGINT(20)
update_time更新时间DATETIME
update_user更新人-9999BIGINT(20)
索引
逻辑外键
触发器名称触发(AFTER/BEFORE)条件操作
补充说明CREATE TABLE enumerate(
id BIGINT(20) NOT NULL DEFAULT 0 COMMENT ‘枚举UUID’ ,
name VARCHAR(50) COMMENT ‘枚举名称’ ,
code VARCHAR(50) COMMENT ‘枚举CODE’ ,
enum_value INT(11) DEFAULT -9999 COMMENT ‘枚举值’ ,
description VARCHAR(255) COMMENT ‘描述’ ,
sort INT(11) DEFAULT -9999 COMMENT ‘排序’ ,
type_id BIGINT(20) DEFAULT -9999 COMMENT ‘枚举型UUID’ ,
parent_id BIGINT(20) COMMENT ‘父id’ ,
type INT(11) COMMENT ‘类型’ ,
version INT(11) DEFAULT 1 COMMENT ‘版本’ ,
state INT(11) DEFAULT -9999 COMMENT ‘状态’ ,
is_deleted TINYINT UNSIGNED(4) COMMENT ‘是否删除’ ,
create_time DATETIME COMMENT ‘创建时间’ ,
create_user BIGINT(20) DEFAULT -9999 COMMENT ‘创建人’ ,
update_time DATETIME COMMENT ‘更新时间’ ,
update_user BIGINT(20) DEFAULT -9999 COMMENT ‘更新人’ ,
PRIMARY KEY (id)
) COMMENT = ‘枚举下拉子表’;

8 枚举 - 表enum_type

表名enum_type
列名描述默认值数据类型
(精度范围)
空/
非空
约束条件范例
id枚举类型UUIDBIGINT(20)主键
name枚举型名称VARCHAR(50)
code枚举型CODEVARCHAR(50)
quote引用的表字段(permission:state)VARCHAR(255)
description描述VARCHAR(255)
sort排序0INT(11)
type_super_id父UUIDBIGINT(20)
type类型INT(11)
state状态INT(11)
version版本1INT(11)
is_deleted是否删除TINYINT UNSIGNED(4)
create_time创建时间DATETIME
create_user创建人BIGINT(20)
update_time更新时间DATETIME
update_user更新人BIGINT(20)
索引
外键
触发器名称触发(AFTER/BEFORE)条件操作
补充说明CREATE TABLE enum_type(
id BIGINT(20) NOT NULL COMMENT ‘枚举类型UUID’ ,
name VARCHAR(50) COMMENT ‘枚举型名称’ ,
code VARCHAR(50) COMMENT ‘枚举型CODE’ ,
quote VARCHAR(255) COMMENT ‘引用的表字段(permission:state)’ ,
description VARCHAR(255) COMMENT ‘描述’ ,
sort INT(11) DEFAULT 0 COMMENT ‘排序’ ,
type_super_id BIGINT(20) COMMENT ‘父UUID’ ,
type INT(11) COMMENT ‘类型’ ,
state INT(11) COMMENT ‘状态’ ,
version INT(11) DEFAULT 1 COMMENT ‘版本’ ,
is_deleted TINYINT UNSIGNED(4) COMMENT ‘是否删除’ ,
create_time DATETIME COMMENT ‘创建时间’ ,
create_user BIGINT(20) COMMENT ‘创建人’ ,
update_time DATETIME COMMENT ‘更新时间’ ,
update_user BIGINT(20) COMMENT ‘更新人’ ,
PRIMARY KEY (id)
) COMMENT = ‘枚举类父表’;

9 流程图

10 系统流程图


11 数据流程图


五、环境配置

5.1 开发环境配置

类别标准配置最低配置
计算机硬件CPU: Xeon W-2123 四核\内存:16GCPU:Xeon W-2123 四核,16G
软件InteliJ IDEA2021.1.3
Navicat
Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
InteliJ IDEA2021.1.3
Navicat
Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
网络通信httphttp
其他Apache-maven-3.5.0 JDK-64位Apache-maven-3.5.0 JDK-64位

5.2 运行环境配置

类别标准配置最低配置
计算机硬件CPU: Xeon W-2123 四核\内存:16GCPU:Xeon W-2123 四核,16G
软件Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2
Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2
网络通信httphttp
其他Apache-maven-3.5.0 JDK-64位Apache-maven-3.5.0 JDK-64位

12 测试环境的配置

类别标准配置最低配置
计算机硬件CPU: Xeon W-2123 四核\内存:16GCPU:Xeon W-2123 四核,16G
软件Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2
Mysql-installer-community-8.0.25.0
Nacos-server-2.0.3
Nginx-1.16.1
Redis-4.0.2
网络通信httphttp
其他Apache-maven-3.5.0 JDK-64位Apache-maven-3.5.0 JDK-64位
  • 47
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值