本文为您介绍如何进行数据服务系统配置。
权限说明
仅超级管理员支持修改系统配置。
数据服务系统配置入口
在Dataphin首页的顶部菜单栏,选择服务 > 管理。
单击左侧导航栏的系统配置,进入系统配置页面。
API调用鉴权配置
使用限制
当网关环境为阿里公共云API网关(专享实例、共享实例)和阿里专有云API网关时,支持设置是否开启token鉴权调用。
当网络配置为阿里公共云API网关-专享实例、阿里公共云API网关-共享实例时,开启API调用鉴权后,将隐藏API调用鉴权配置区域;历史API需要重新发布,API调用时才可进行token鉴权。
当网络配置为阿里专有云API网关时,支持修改API调用鉴权配置。
是否开启token鉴权调用
在API调用鉴权配置区域,单击修改按钮,选择是否开启token鉴权调用。
开启:支持获取应用的AppKey和AppSecret,依赖SDK的代码生成token,调用时使用token鉴权,增强数据安全性。
关闭:无需依赖SDK生成鉴权token,API调用时不做token鉴权,获取API的基本信息即可调用成功,数据安全性低,请谨慎操作。
单击保存,完成API调用鉴权配置。
API缓存数据存储位置
在API缓存数据存储位置区域,单击修改按钮,支持指定API缓存数据的存储位置。
系统Redis+应用内存:将缓存数据存储到系统公共的Redis中,将与其他模块共享存储空间,适用于缓存数据量较小的场景。
仅应用内存:缓存数据量较大时不建议使用,占用内存会影响系统的响应速度。适用于个别API需要开启缓存且数据量很少的场景
说明数据缓存时间将统一获取Dataphin应用部署时设置的内存数据缓存时间,创建API时定义的缓存时间将不生效。
指定redis实例:为保障稳定性及性能,推荐配置指定Redis实例。将缓存数据存储到指定的Redis,适用于大量API开启缓存,缓存数据量较大的场景。如需添加Redis实例,请参见创建Redis数据源。
重要请勿删除作为API缓存数据的Redis实例,否则缓存数据存储将失败且API开启的缓存将失效。
单击保存,完成API缓存数据存储位置的配置。
SQL注入校验
需要开启数据服务或标签在线服务功能。
注册API不支持SQL注入校验。
在SQL注入校验区域,单击修改按钮,选择开启或关闭SQL注入校验。
开启:开启后,在API调用时,对输入的SQL进行校验;若校验失败,则阻断API调用,您可以根据页面的错误码查看失败原因。
关闭:关闭后,在API调用时,不对输入的SQL进行校验。
单击保存,完成SQL注入校验的配置。
日志及运维统计设置
使用限制
目前采集日志的整个框架不保障完全高可用,在应用重启或接口调用失败时,会丢失或冗余小部分日志信息。
若网络配置为阿里公共云API网关(专享实例/共享实例)时,历史已发布的API的调用日志不含
requestid
信息,需重新发布API后才可采集日志。若网络配置为阿里公共云API网关-共享实例时,由于该网关不支持采集
requestQueryString,requestHeaders,requestBody,responseHeaders,responseBody
等信息,当网关侧出现认证、限流等失败时,调用日志无法获取请求参数、请求SQL等信息。当使用的API网关未开通日志采集时,网关的失败的调用次数不会计入调用统计,也无法采集调用失败的日志,强烈建议使用的网关配置日志采集以采集完整的日志信息。
当更新调用明细日志存储表后,将从新的日志存储表中查询调用明细日志,历史的日志存储表中的数据将不可查询;同样的统计日志表变更后,也将无法查询历史统计日志表中的数据。建议您提前规划,避免更新导致日志不可查看。
操作步骤
配置修改当天生效,超出存储时长的调用日志明细及其调用统计将会自动清除,保留时长设置过长会造成存储压力大,请谨慎配置。
在日志及运维统计设置区域,单击底部的修改按钮,可对API的调用明细日志和调用统计配置存储位置及存储时长。
调用明细日志:默认关闭,开启后,支持配置API调用明细成功和失败日志的存储位置及存储时长。
存储数据库:选择调用明细日志的存储位置,支持系统内置存储和外部数据源。
系统内置存储:支持分别存储成功和失败的调用明细日志50万条。成功日志支持存储3天,失败日志支持存储7天,不可修改。
外部数据源:支持分别存储成功和失败的调用明细日志1亿条。需选择日志存储的数据源类型、数据源和日志表名,可选择的存储时长为7天、14天、30天、自定义(1~9999天之间)、不存储和不限制。
数据源类型:仅支持PostgreSQL数据源。
数据源:选择归属该数据源类型的数据源实例。单击测试连通性,在OLTP应用中测试数据源的连通性。如需创建数据源,可单击前往创建,跳转至管理中心 > 数据源管理 > 新建数据源对话框创建数据源。
日志表名:选择存储日志的表。您也可以单击一键建表,在创建日志表对话框中,单击表名存在性校验,系统会为您创建日志表及相关索引表,日志表包含以下字段,详情如下。
字段名称
数据类型
字段描述
biz_code_describe
VARCHAR(1024)
API查询业务码描述
tenant_id
INT4
租户ID
status_code
VARCHAR(16)
API查询HTTP状态码
biz_code
VARCHAR(64)
API查询业务码
create_time
TIMESTAMP(3)
日志记录写入时间
api_no
INT4
API编号
ip
VARCHAR(32)
客户端IP
end_time
TIMESTAMP(3)
API查询结束时间
response_size
INT4
API响应大小(单位字节)
sql
TEXT
数据库SQL查询语句
start_time
TIMESTAMP(3)
API查询开始时间
app_key
INT4
应用Key
response_parameter
VARCHAR(4096)
API查询出参
status_describe
VARCHAR(1024)
API查询HTTP状态码描述
cost_time
INT4
API查询耗时(单位毫秒)
id
INT8
自增字段
request_size
INT4
API请求大小(单位字节)
result_count
INT4
API查询返回结果条数
request_id
VARCHAR(64)
API查询唯一ID
request_parameter
VARCHAR(4096)
API查询入参
successful
Boolean
API查询是否成功
说明成功和失败的日志存储在同一张表中,单个租户下表名唯一,您可以根据是否成功字段进行判断。
日志过期后,系统将在凌晨2:00开始删除。日志过期时间计算方式为:
当天日期 - 存储时长的日志 - 1 < 创建时间
。系统内置存储适用于存储时间较短的场景,如成功日志,可用于排查性能响应时间较长的API调用;外部数据源适用于存储时间较长的场景,如失败日志,可用于排查API的调用错误。
当独立部署环境(包括公共云独立部署和私有云独立部署)升级后,通过配置文件配置的明细日志,日志表名为
dataservice_api_log
,升级后表名将变更为dataservice_api_log_${tenantid}
,若您已配置该表的日志采集任务,需要在数据服务 > 管理 > 系统配置 > 调用明细日志 > 日志表名中更改配置。
调用统计:支持配置API的1分钟调用统计日志和5分钟调用统计日志的存储位置及存储时长。
存储数据库:选择调用统计日志的存储位置,支持系统内置存储和外部数据源。
系统内置存储:支持分别存储1分钟和5分钟的调用统计日志50万条。1分钟调用统计日志支持存储7天,5分钟调用统计日志支持存储183天,不可修改。
外部数据源:支持分别存储1分钟和5分钟的调用统计日志1亿条。需选择调用统计日志存储的数据源类型、数据源和表名,1分钟调用统计日志可选择的存储时长为7天、14天、30天、自定义(1~9999天之间);5分钟调用统计日志可选择的存储时长为183天、366天、2年、3年、自定义(1~9999天之间)。
数据源类型:仅支持PostgreSQL数据源。
数据源:选择归属该数据源类型的数据源实例。单击测试连通性,在OLTP应用中测试数据源的连通性。如需创建数据源,可单击前往创建,跳转至管理中心 > 数据源管理 > 新建数据源对话框创建数据源。
表名:选择存储调用统计日志的表。您也可以单击一键建表,在创建日志表对话框中,单击表名存在性校验,系统会为您创建日志表及相关索引表,日志表包含以下字段,详情如下。
字段名称
数据类型
字段描述
tenant_id
INT4
租户ID
client_ips
VARCHAR(256)
客户端IP汇总(最多10个)
biz_error_count
INT8
API查询业务错误的次数统计
create_time
TIMESTAMP(3)
日志记录创建时间
total_count
INT8
API查询总次数
api_no
INT4
API编号
total_time_cost
INT8
API查询总耗时(单位毫秒)
offline_count
INT8
API查询服务端失败的次数统计
total_succ_time_cost
INT8
API成功查询的总耗时(单位毫秒)
minute
VARCHAR(16)
时间统计窗口
update_time
TIMESTAMP(3)
日志记录更新时间
app_key
INT4
应用Key
client_fail_count
INT8
API查询客户端失败的次数统计
说明1分钟和5分钟的调用统计日志存储在不同的表中,同一个租户下表名唯一。
日志过期后,系统将在凌晨2:00开始删除。日志过期时间计算方式为:
当天日期 - 存储时长的日志 - 1 < 创建时间
。系统内置存储适用于存储时间较短的场景,如1分钟调用统计日志,可用于排查性能响应时间较长的API调用;外部数据源适用于存储时间较长的场景,如5分钟调用统计日志,可用于排查API的调用错误。
Dataphin元数据仓库共享模型数据服务调用次数统计表
dws_dataphin_service_api_mi
仅记录从内置存储采集的API调用统计日志;若日志存储为外部存储,该表无法采集到外部存储日志数据,您可以通过集成任务获取外部存储的日志数据。
单击保存,完成日志及运维统计配置。