本文為您介紹如何進行數據服務系統配置。
權限說明
僅超級管理員支持修改系統配置。
數據服務系統配置入口
在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調用統計日志;若日志存儲為外部存儲,該表無法采集到外部存儲日志數據,您可以通過集成任務獲取外部存儲的日志數據。
單擊保存,完成日志及運維統計配置。