# SQL审计接入
# 概述
这里sql审计监控接入是一个统一的sql运行状态接入,偏向于sql操作日志的监控集成,包括sql执行快慢,条数等, 每个应用的聚合
# 本内容你将获得
- SQL审计监控日志接入说明
# 接入配置
这里主要是通过配置druid接入配置,然后采集监控的日志进行统一汇总聚合,集成如下:
配置druid数据库的驱动,使yaml配置如下:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 配置druid驱动
url: jdbc:mysql://127.0.0.1:3306/DB_NAME?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true
username: DB_USERNAME
password: DB_PASSWORD
配置SQL数据采集和自定义stat类DruidMonitorStatLogger,同时配置相关参数,如下:
@Configuration
public class DruidConfig {
@Bean(initMethod = "init", destroyMethod = "close")
@ConfigurationProperties(prefix = "spring.datasource")
public DruidDataSource dataSource(Filter statFilter) throws SQLException {
DruidDataSource dataSource = new DruidDataSource();
// 添加自定义的stat,以输出到统一集成平台上面
DruidMonitorStatLogger logger = new DruidMonitorStatLogger();
dataSource.setTimeBetweenLogStatsMillis(5*1000);
dataSource.setFilters("wall,stat");
dataSource.setUseGlobalDataSourceStat(false);
dataSource.setStatLogger(logger);
dataSource.setProxyFilters(Lists.newArrayList(statFilter()));
return dataSource;
}
@Bean
public Filter statFilter() {
StatFilter filter = new StatFilter();
filter.setSlowSqlMillis(90);
filter.setLogSlowSql(true);
filter.setMergeSql(true);
return filter;
}
}
配置成功即可,则整个的审计日志监控采集管理界面如下:
注意: 审计日志监控服务属于内部业务系统,不要对外和外部访问
# 其它
- 无