监控服务客户端
组件编码
hzero-boot-monitor
一、简介
1.1 概述
监控服务客户端主要是对数据进行监控和审计,按功能可以分为数据审计和操作审计
1.2 组件坐标
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-monitor</artifactId>
<version>${hzero.boot.version}</version>
</dependency>
1.3 功能特性
- 作为监控服务的数据生产端
二、操作审计
在服务中添加如下配置来开启操作审计:
# application.yml
hzero:
audit:
operation:
enable: false # 全局开关,默认 false
api-audit:
enable: true # API 审计开关,默认 true,如果全局开关关闭,此值无效
annotation-audit:
enable: true # 注解审计(在Bean的方法上添加@OperationalAudit)开关,默认 true,如果全局开关关闭,此值无效
支持通过API审计和注解审计等方式来实现操作审计功能。
2.1 使用操作审计的三种方式
通过页面配置的方式使用数据审计
通过代码中注解的方式使用数据审计
@Component
public class Biz {
@OperationalAudit
public Object foo() {
// do anything
return obj;
}
}
@OperationalAudit
参数说明
content
- 参数类型:
String
- 参数说明:操作内容,支持 SpEL 表达式,如果返回空字符串,操作内容为
package.class#method
- 持当前登录的用户信息(如果当前上下文中不存在用户信息,则使用匿名用户 ANONYMOUS),参数名为
_userDetail
- 支持当前方法的参数
- 支持当前方法的返回值,参数名为
_result
- 持当前登录的用户信息(如果当前上下文中不存在用户信息,则使用匿名用户 ANONYMOUS),参数名为
- 参数类型:
auditArg
- 参数类型:
boolean
- 参数说明:是否审计操作参数,默认开启
- 参数类型:
auditResult
- 参数类型:
boolean
- 参数说明:是否审计操作结果,默认开启
- 参数类型:
auditData
- 参数类型:
boolean
- 参数说明:是否审计操作数据,默认开启
- 参数类型:
args
- 参数类型:
String[]
- 参数说明:请求参数,支持 SpEL 表达式,如果返回空字符串,参数内容为注解所在方法的参数
- 参数类型:
result
- 参数类型:
String
- 参数说明:请求结果,支持 SpEL 表达式,如果返回空字符串,参数内容为方法的返回值
- 参数类型:
通过方法调用使用数据审计
// 第二个参数为与数据审计关联的批号,如果需要使用数据审计,需要先 set(batchNumber),否则传 null 即可
OperationalAuditAspect.dataOperationalAuditFlag.set(batchNumber)
// builder 的方法含义同注解 @OperationalAudit
OperationalAuditHelper.audit(OperationalAudit.builder(...).build(), batchNumber);
三、数据审计
使用说明
数据变更监控是数据分发客户端的基础功能,数据分发和数据审计是扩展功能。
- 配置已提供的功能包含数据变更监控,数据分发,数据审计。开启数据分发,数据审计任意之一都必须开启数据监控。
# application.yml
hzero:
data:
change:
enable: true # 是否启用数据变更拦截功能
audit:
data:
enable: true # 是否启用数据变更监控功能
四、版本更新日志
版本 0.11.0.RELEASE [2019-09-20]
- 初始版本发布