本文為您介紹如何進行資料服務系統配置。
許可權說明
超級管理員和系統管理員支援修改系統配置。
資料服務系統配置入口
在Dataphin首頁的頂部功能表列,選擇服務 > 服務管理。
單擊左側導覽列的系統配置,進入系統配置頁面。
API調用鑒權配置
前提條件
若且唯若網關配置完成後,可進行API調用鑒權配置,如需配置網關,請參見資料服務設定。
使用限制
當網關環境為阿里公用Cloud API網關(專享執行個體、共用執行個體)和阿里專有Cloud API網關時,支援設定是否開啟token鑒權調用。
當網關環境為Dataphin自研網關時,支援配置是否開啟應用IP白名單。
當網路設定為阿里公用Cloud API網關-專享執行個體、阿里公用Cloud API網關-共用執行個體時,開啟API調用鑒權後,將隱藏API調用鑒權配置地區;歷史API需要重新發布,API調用時才可進行token鑒權。
當網路設定為阿里專有Cloud API網關時,支援修改API調用鑒權配置。
是否開啟token鑒權調用
在API調用鑒權配置地區,單擊修改按鈕,選擇是否開啟token鑒權調用。
開啟:支援擷取應用的AppKey和AppSecret,依賴SDK的代碼產生token,調用時使用token鑒權,增強資料安全性。
關閉:無需依賴SDK產生鑒權token,API調用時不做token鑒權,擷取API的基本資料即可調用成功,資料安全性低,請謹慎操作。
單擊儲存,完成API調用鑒權配置。
是否開啟應用IP白名單
在API調用鑒權配置地區,單擊修改按鈕,選擇是否開啟應用IP白名單。
開啟後可以在調用-應用管理頁面對應用配置IP白名單,應用調用API時,IP在白名單列表內則可實現免鑒權調用。
單擊儲存,完成API調用鑒權配置。
API快取資料儲存位置
開啟主鏈路、備鏈路資料緩衝需要滿足以下條件:
需要使用Dataphin自研網關,不支援其他網關類型,詳情請參見API Gateway配置。
需要開啟資料服務或標籤線上服務的高可用功能。
在API快取資料儲存位置地區,單擊修改按鈕,支援指定API快取資料的儲存位置。主鏈路和備鏈路的配置一致。
系統Redis+應用記憶體:將快取資料儲存到系統公用的Redis中,將與其他模組共用儲存空間,適用於快取資料量較小的情境。
說明備鏈路支援將快取資料儲存到Dataphin備鏈路的系統公用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注入校正的配置。
日誌及營運統計設定
前提條件
若且唯若網關配置完成後,可進行日誌及營運統計設定;若未配置網關日誌採集或配置後未開啟網關日誌採集,失敗的網關日誌將無法採集。如需配置網關,請參見資料服務設定。
使用限制
目前採集日誌的整個架構不保障完全高可用,在應用重啟或介面調用失敗時,會丟失或冗餘小部分日誌資訊。
當開啟資料服務高可用時,外部日誌儲存僅支援主鏈路測試資料來源的連通性;僅當主鏈路和備鏈路與日誌儲存的資料庫連接暢通,主備鏈路的日誌採集才不受影響。
若網路設定為阿里公用Cloud API網關(專享執行個體/共用執行個體)時,歷史發行的API的調用日誌不含
requestid資訊,需重新發布API後才可採集日誌。若網路設定為阿里公用Cloud API網關-共用執行個體時,由於該網關不支援採集
requestQueryString,requestHeaders,requestBody,responseHeaders,responseBody等資訊,當網關側出現認證、限流等失敗時,調用日誌無法擷取請求參數、請求SQL等資訊。當使用的API Gateway未開通日誌採集時,網關的失敗的調用次數不會計入調用統計,也無法採集調用失敗的日誌,強烈建議使用的網關配置日誌採集以採集完整的日誌資訊。
當更新調用明細日誌儲存表後,將從新的日誌儲存表中查詢調用明細日誌,歷史的日誌儲存表中的資料將不可查詢;同樣的統計日誌表變更後,也將無法查詢歷史統計日誌表中的資料。建議您提前規劃,避免更新導致日誌不可查看。
操作步驟
配置修改當天生效,超出儲存時間長度的調用日誌明細及其調用統計將會自動清除,保留時間長度設定過長會造成儲存壓力大,請謹慎配置。
在日誌及營運統計設定地區,單擊底部的修改按鈕,可對API的調用明細日誌和調用統計配置儲存位置及儲存時間長度。
調用明細日誌:預設關閉,開啟後,支援配置API調用明細成功和失敗日誌的儲存位置及儲存時間長度。
儲存資料庫:選擇調用明細日誌的儲存位置,支援系統內建儲存和外部資料源。
系統內建儲存:支援分別儲存成功和失敗的調用明細日誌50萬條。可選擇的儲存時間長度為3天、7天、14天、自訂(1~9999天之間)、不儲存和不限制。
外部資料源:支援分別儲存成功和失敗的調用明細日誌1億條。需選擇日誌儲存的資料來源類型、資料來源和日誌表名,可選擇的儲存時間長度為7天、14天、30天、自訂(1~9999天之間)、不儲存和不限制。
資料來源類型:僅支援PostgreSQL資料來源。
資料來源:選擇歸屬該資料來源類型的資料來源執行個體。單擊測試連通性,在OLTP應用中測試資料來源的連通性。如需建立資料來源,可單擊前往建立,跳轉至管理中心 > 資料來源管理 > 建立資料來源對話方塊建立資料來源。
日誌表名-主表:選擇儲存API調用日誌資訊的表。您也可以單擊一鍵建表,在建立日誌表對話方塊中,單擊表名存在性校正,系統會為您建立日誌表及相關索引表。
日誌表包含以下欄位,欄位長度不超過10240個字元,詳情如下。
欄位名稱
資料類型
欄位描述
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
TEXT
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
TEXT
API查詢入參
successful
Boolean
API查詢是否成功
job_id
VARCHAR(64)
API非同步呼叫任務ID
execute_mode
INT2
API調用執行模式
execute_cost_time
INT4
API非同步呼叫SQL執行時間長度(單位:毫秒)
補充資訊表:用於儲存非同步呼叫模式下,調用對應公用API的日誌資訊。您也可以單擊一鍵建表,在建立日誌表對話方塊中,單擊表名存在性校正,系統會為您建立補充明細表(公用API調用明細日誌表)。
補充明細表包含以下欄位,詳情如下。
欄位名稱
資料類型
欄位描述
id
INT8
自增序號
api_no
INT4
API編號
job_id
VARCHAR(64)
API非同步呼叫任務ID
ext_content
TEXT
公用API調用結果
create_time
TIMESTAMP(3)
日誌記錄寫入時間
update_time
TIMESTAMP(3)
日誌記錄更新時間
tenant_id
INT4
租戶ID
說明成功和失敗的日誌儲存在同一張表中,單個租戶下表名唯一,您可以根據是否成功欄位進行判斷。
日誌到期後,系統將在淩晨2:00開始刪除。日誌到期時間計算方式為:
當天日期 - 儲存時間長度的日誌 - 1 < 建立時間。系統內建儲存適用於儲存時間較短的情境,如成功日誌,可用於排查效能回應時間較長的API調用;外部資料源適用於儲存時間較長的情境,如失敗日誌,可用於排查API的調用錯誤。
當獨立部署環境(包括公用雲獨立部署和私人雲端獨立部署)升級後,通過設定檔配置的明細日誌,日誌表名為
dataservice_api_log,升級後表名將變更為dataservice_api_log_${tenantid},若您已配置該表的日誌採集任務,需要在資料服務 > 管理 > 系統配置 > 調用明細日誌 > 日誌表名中更改配置。
調用統計:支援配置API的1分鐘調用統計日誌和5分鐘調用統計日誌的儲存位置及儲存時間長度。
儲存資料庫:選擇調用統計日誌的儲存位置,支援系統內建儲存和外部資料源。
系統內建儲存:支援分別儲存1分鐘和5分鐘的調用統計日誌50萬條。可選擇的儲存時間長度為7天、14天、30天、自訂(1~9999天之間)。
外部資料源:支援分別儲存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查詢用戶端失敗的次數統計
execute_mode
INT2
API調用執行模式
說明1分鐘和5分鐘的調用統計日誌儲存在不同的表中,同一個租戶下表名唯一。
日誌到期後,系統將在淩晨2:00開始刪除。日誌到期時間計算方式為:
當天日期 - 儲存時間長度的日誌 - 1 < 建立時間。系統內建儲存適用於儲存時間較短的情境,如1分鐘調用統計日誌,可用於排查效能回應時間較長的API調用;外部資料源適用於儲存時間較長的情境,如5分鐘調用統計日誌,可用於排查API的調用錯誤。
Dataphin中繼資料倉程式庫共用模型資料服務調用次數統計表
dws_dataphin_service_api_mi僅記錄從內建儲存採集的API調用統計日誌;若日誌儲存為外部儲存,該表無法採集到外部儲存日誌資料,您可以通過整合任務擷取外部儲存的日誌資料。
單擊儲存,完成日誌及營運統計配置。