暂存提交
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
server:
|
||||
port: ${AUDIT_PORT:9700}
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: audit-service
|
||||
config:
|
||||
import:
|
||||
- optional:nacos:baiyue-common.yml?group=BAIYUE&refreshEnabled=true
|
||||
- optional:nacos:${spring.application.name}.yml?group=BAIYUE&refreshEnabled=true
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
|
||||
username: ${NACOS_USERNAME:nacos}
|
||||
password: ${NACOS_PASSWORD:nacos}
|
||||
discovery:
|
||||
enabled: ${NACOS_DISCOVERY_ENABLED:true}
|
||||
register-enabled: ${NACOS_REGISTER_ENABLED:true}
|
||||
group: ${NACOS_GROUP:BAIYUE}
|
||||
namespace: ${NACOS_NAMESPACE:public}
|
||||
config.namespace: ${NACOS_NAMESPACE:public}
|
||||
|
||||
# 本地 IDEA 启动默认连接本机 MySQL;生产环境请通过 AUDIT_DB_* 环境变量覆盖。
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: ${AUDIT_DB_URL:jdbc:mysql://127.0.0.1:3306/baiyue_audit?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true}
|
||||
username: ${AUDIT_DB_USERNAME:root}
|
||||
password: ${AUDIT_DB_PASSWORD:123456}
|
||||
|
||||
baiyue.audit.enabled: false
|
||||
management.endpoints.web.exposure.include: health,info,prometheus
|
||||
@@ -0,0 +1,36 @@
|
||||
CREATE DATABASE IF NOT EXISTS baiyue_audit
|
||||
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
USE baiyue_audit;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS sys_audit_log (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '审计日志自增ID',
|
||||
event_type VARCHAR(64) NOT NULL COMMENT '审计事件编码',
|
||||
resource_type VARCHAR(64) NOT NULL COMMENT '被操作资源类型',
|
||||
resource_id VARCHAR(128) DEFAULT NULL COMMENT '被操作资源ID',
|
||||
description VARCHAR(255) DEFAULT NULL COMMENT '操作说明',
|
||||
request_id VARCHAR(128) DEFAULT NULL COMMENT '请求ID,用于单次请求追踪',
|
||||
trace_id VARCHAR(128) DEFAULT NULL COMMENT '分布式链路追踪ID',
|
||||
tenant_id BIGINT DEFAULT NULL COMMENT '业务数据所属租户ID',
|
||||
operator_tenant_id BIGINT DEFAULT NULL COMMENT '操作主体所属租户ID',
|
||||
user_id BIGINT DEFAULT NULL COMMENT '操作用户ID',
|
||||
username VARCHAR(128) DEFAULT NULL COMMENT '操作用户名快照',
|
||||
app_code VARCHAR(64) DEFAULT NULL COMMENT '操作来源应用端',
|
||||
client_type VARCHAR(32) DEFAULT NULL COMMENT '客户端类型',
|
||||
http_method VARCHAR(16) DEFAULT NULL COMMENT 'HTTP请求方法',
|
||||
request_uri VARCHAR(512) DEFAULT NULL COMMENT '请求URI',
|
||||
client_ip VARCHAR(64) DEFAULT NULL COMMENT '客户端IP',
|
||||
duration_ms BIGINT NOT NULL DEFAULT 0 COMMENT '请求耗时(毫秒)',
|
||||
success TINYINT NOT NULL DEFAULT 0 COMMENT '操作是否成功',
|
||||
error_code VARCHAR(64) DEFAULT NULL COMMENT '失败时的错误码',
|
||||
error_message VARCHAR(512) DEFAULT NULL COMMENT '脱敏后的失败信息',
|
||||
before_data JSON DEFAULT NULL COMMENT '变更前数据快照(已脱敏)',
|
||||
after_data JSON DEFAULT NULL COMMENT '变更后数据快照(已脱敏)',
|
||||
service_name VARCHAR(64) DEFAULT NULL COMMENT '产生日志的服务名',
|
||||
occurred_at DATETIME(3) NOT NULL COMMENT '业务操作发生时间',
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '审计服务落库时间',
|
||||
PRIMARY KEY (id),
|
||||
KEY idx_audit_tenant_time (tenant_id, occurred_at),
|
||||
KEY idx_audit_event_time (event_type, occurred_at),
|
||||
KEY idx_audit_user_time (user_id, occurred_at),
|
||||
KEY idx_audit_request (request_id)
|
||||
) ENGINE=InnoDB COMMENT='统一业务审计日志表:追加记录敏感操作的主体、租户、资源、结果及前后快照;不同于消息Outbox和消费幂等表';
|
||||
Reference in New Issue
Block a user