對 Qlik 資料閘道 - 直接存取 進行設定和疑難排解
本主題說明設定 直接存取閘道 和解決其問題可執行的各種動作。
從您的 Qlik Cloud 租用戶設定 直接存取閘道
雖然 直接存取閘道 預設設定適用於大部分的環境,但您可能需要覆寫預設值,以改善效能、解決問題 (透過記錄設定) 或克服各種連線問題。
-
從 1.7.2 或更高版本開始支援從 Qlik Cloud 設定 直接存取閘道,但建議升級到最新版本,以受益於整組設定選項。
-
雖然大部分的 直接存取閘道 設定可以在 Qlik Cloud 管理 活動中心進行設定,但某些設定只能透過直接在 直接存取閘道 機器上編輯設定檔,才能變更
為了能夠編輯 Qlik Cloud 中的設定,需要以下任一權限:
-
租用戶管理員和閘道空間擁有者
-
閘道空間中具有可以取用資料的租用戶成員
若要開啟閘道設定:
-
在您的 Qlik Cloud 租用戶中,前往 管理 > 資料閘道並找到您的 直接存取閘道。
-
按一下列末尾的
,並選取閘道設定。
<名稱> 的閘道設定對話方塊會開啟。
設定分為一般設定 (如下) 和連接器設定。請注意,變更設定可能也需要您重新啟動 直接存取閘道 服務。
一般設定
無論您使用哪種連接器,這些設定都與 直接存取閘道 的一般功能相關。
代理程式 ID
要搭配 直接存取閘道 公用 API 使用的代理程式 ID。
連接器代理程式連接埠
連線至連接器代理程式時使用的連接埠。無法變更此設定。
連接器代理程式健康失敗閾值
會對 直接存取閘道 元件執行定期健康檢查。健康檢查有時候一開始會失敗,之後才會成功。如果健康檢查在指定的閾值後持續失敗,將會重新啟動 直接存取閘道 服務。 您只能在 Qlik 支援要求時變更此設定。
載入請求逾時
發生網路中斷時,載入可能會失敗並有下列錯誤:
Connector error: The session does not exist (DirectAccess-1509)
Connector error: The stream session expired for the load data request (DirectAccess-1012)
若您經常遇到上述錯誤,嘗試將逾時延長為 5-10 分鐘。
連接器代理程式記錄層級
出於疑難排解目的,您可能需要變更連接器代理程式元件的記錄層級。 您只能在 Qlik 支援要求時變更此設定。
連接器代理程式記錄選項
若要解決特定連接器代理程式元件的問題,您可能需要選取其對應的記錄檔案。 您只能在 Qlik 支援要求時變更此設定。
快取資料區塊的記憶體
對於每個載入操作,直接存取閘道 可以在記憶體中快取資料區塊,並卸載到磁碟 (若超出快取的分配大小)。若您不使用自動復原,且頻繁遇到 4025、4020 和 4021 錯誤,這尤其實用。達到指定的閾值時,閘道會將下一個加密區塊卸載到 直接存取閘道 機器的磁碟。
區塊復原持續時間閾值
此為區塊復原持續時間的閾值 (以分鐘為單位)。如果在達到復原持續時間閾值時尚未恢復載入,則會失敗並顯示適當的訊息。
此選項對於長時間復原後可能超過三小時限制的載入很實用。例如,假設從資料庫擷取資料需要 90 分鐘,但是一旦開始載入,其中一個區塊就會變成損毀。在這種情況下,所有區塊都將儲存在快取中,並從快取傳送。在這種情況下,整個載入流程 (儲存在快取中 + 實際載入) 可能需要三個小時才能完成。
DCaaS 連接埠
連線至 DCaaS 時使用的連接埠。無法變更此設定。
DCaaS 記錄層級
出於疑難排解目的,您可能需要變更 DCaaS 記錄的記錄層級。 您只能在 Qlik 支援要求時變更此設定。
連接器設定
若要變更連接器設定,請選取左側的連接器類型,然後根據需要變更設定。
連接埠
連線至資料來源時使用的連接埠。無法變更此設定。
記錄層級
出於疑難排解目的,您可能需要變更連接器記錄的記錄層級。 您只能在 Qlik 支援要求時變更此設定。
處理序隔離
處理序隔離允許可存取 直接存取閘道 伺服器作業系統的管理員控制每個連接器類型有多少處理程序可用於載入。在多個連接器處理程序上擴展載入會增加隔離程度,方法是減少每個連接器處理程序上同時執行的載入次數。若發生連接器毀損,這反過來可以改善整體 直接存取閘道 穩定性。
透過清理安裝,依照預設會啟用處理序會隔離。每種連接器類型的預設並行載入數量為 9。您可以覆寫以下同時載入流程數量所述的預設。
需要 直接存取閘道 1.6.1 或更高版本。
停用處理序隔離
Qlik 支援可能會要求您停用處理序隔離以進行疑難排解。
若要關閉處理序隔離,選取停用。
同時載入流程數量
為連接器分配的同時載入流程數量,包括命令流程。因此,例如,值 30 表示最多 29 個並行載入。請注意,此設定僅在啟用處理序隔離時才相關。
載入工作階段壽命
若 直接存取閘道 和 Qlik Cloud 之間的連線閒置 20 秒或更長時間,載入操作有時候可能會失敗,並有下列錯誤:
Invalid object name '#<TempTableName>' (indicating that the 直接存取閘道 temp tables are unavailable).
預設工作階段壽命為 20 秒,但若您經常遇到此錯誤,可以根據需要延長工作階段壽命。
要卸載的表格數量上限
-
僅對 ODBC (透過 直接存取閘道) 連接器相關。
-
需要 直接存取閘道 1.7.1 或更高版本。
依照預設,最多可從資料庫卸擷取10,000 個表格。如果資料庫有超過 10,000 個表格,您可以覆寫預設值。
變更設定後重新啟動 直接存取閘道
某些設定只有在 直接存取閘道 服務重新啟動後才會套用。在這種情況下,當您儲存設定時,系統會提示您重新啟動服務。如果有作用中的載入,則在完成之前,您將無法重新啟動服務。若沒有作用中的載入,您可以隨時以下列方式重新啟動服務:
-
在您的 Qlik Cloud 租用戶中,前往 管理 > 資料閘道並找到您的 直接存取閘道。
-
按一下列末尾的
,並選取重新啟動服務。
您也可以直接在 直接存取閘道 機器上重新啟動服務,如 開始、停止或重新啟動服務 中所述
直接在 直接存取閘道 機器上設定 直接存取閘道
雖然大部分的 直接存取閘道 設定可以在 Qlik Cloud 進行設定,但某些設定只能透過直接在 直接存取閘道 機器上編輯設定檔,才能變更。
覆寫預設的區塊快取目錄
對於每個載入操作,直接存取閘道 可以在記憶體中快取資料區塊,並卸載到磁碟 (若超出快取的分配大小)。如果系統磁碟機上沒有足夠的磁碟空間,您可以覆寫預設的區塊快取目錄 (C:\ProgramData\Qlik\Gateway\tmp) 目錄。
要執行的操作:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
找到 OVERRIDE_CHUNKS_CACHE_DIR 屬性並將其設定為您選擇的目錄。
範例:
OVERRIDE_CHUNKS_CACHE_DIR=C:\tmp
資訊備註請勿將路徑括在引號中。 - 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
另請參見: 快取資料區塊的記憶體
使用 ODBC (透過 直接存取閘道) 連接器時覆寫預設的 Qlik Cloud 資料類型
有時候,由於廠商 ODBC 驅動程式處理來源資料類型時存在問題,載入期間會出現錯誤,或者會將不正確的資料載入到 Qlik Cloud。在這種情況下,您可以覆寫 Qlik Cloud 資料類型或其規格 (例如比例或精確度)。
要執行的操作:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\custom_type_mappings.json。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。此檔案包含 Qlik Cloud 資料類型的來源範例。
-
新增區段,將有問題的資料類型對應到所需的 Qlik Cloud 資料類型。
在以下範例中 (包含在 custom_type_mappings.json 檔案中),客戶需要將 Qlik Cloud DateTime 資料類型的大小變更為 27。
範例:
{ "Identifier": "Amazon Athena ODBC (x64)", "NativeDataType": "timestamp with time zone", "QlikDataType": "DateTime", "Size": 27, "IsBit": false } - 儲存 custom_type_mappings.json 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
- 重新載入資料。
強制 直接存取閘道 重新連線到 Qlik Cloud
預設情況下,如果 直接存取閘道 與 Qlik Cloud 中斷連線,則應在 45 秒後重新連線。如果您發現花費的時間明顯更長,您可以強制閘道盡快重新連線。
要執行的操作:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。此檔案包含 Qlik Cloud 資料類型的來源範例。
-
在檔案開頭的 # Connector Agent 區段新增 AGENT_PONG_TIMEOUT_SECONDS=<time-in-seconds>。
範例:
AGENT_PONG_TIMEOUT_SECONDS=30
資訊備註最短時間為 30 秒。 - 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
非同步執行載入資料請求
需要 直接存取閘道 1.7.5 或更高版本。
在代理程式上非同步執行載入資料請求可顯著縮短雲端服務需要等待代理程式回應的時間。
若要啟用非同步載入資料請求:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
如果檔案中尚不存在,請新增以下行:
OPTIONAL_CAPABILITIES=AsyncLoadDataRequest
如果 OPTIONAL_CAPABILITIES= 已與另一個參數 (例如,AsyncLoadSlotRequest) 存在,只需將其附加到現有參數,以逗號分隔,不含空格。
範例:
OPTIONAL_CAPABILITIES=AsyncLoadSlotRequest,AsyncLoadDataRequest
- 儲存 configuration.properties 檔案。
若要停用非同步載入資料請求:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
設定 OPTIONAL_CAPABILITIES=None,或如果還有其他 OPTIONAL_CAPABILITIES 參數,則直接刪除 AsyncLoadSlotRequest。
- 儲存 configuration.properties 檔案。
非同步請求載入插槽
需要 直接存取閘道 1.7.7 或更新版本。
非同步請求載入插槽可緩解在建立重新載入資料 WebSocket 到 Qlik Cloud 期間,到 直接存取閘道 的暫時命令管道壅塞。這在執行大量並行重新載入時可能很有用。
若要啟用非同步載入時段請求:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
如果檔案中尚不存在,請將下列行新增至檔案:
OPTIONAL_CAPABILITIES=AsyncLoadSlotRequest
如果 OPTIONAL_CAPABILITIES= 已與另一個參數 (例如 AsyncLoadDataRequest) 存在,只需將其附加到現有參數,以逗號分隔,不帶空格:
範例:
OPTIONAL_CAPABILITIES=AsyncLoadDataRequest,AsyncLoadSlotRequest
- 儲存 configuration.properties 檔案。
若要停用非同步載入時段請求:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
設定 OPTIONAL_CAPABILITIES=None,或者如果還有其他 OPTIONAL_CAPABILITIES 參數,則直接刪除 AsyncLoadSlotRequest。
- 儲存 configuration.properties 檔案。
設定連接器啟動
您可以增加連接器啟動的逾時值和嘗試次數。這在執行大量並行重新載入時可能很有用。增加這些參數將給予 直接存取閘道 更多時間和嘗試來執行連接器,然後才因失敗而退出並需要重新啟動。
需要 直接存取閘道 1.7.7 或更新版本。
若要調整連接器啟動參數:
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
將以下行新增至檔案:
# CONNECTOR STARTUP TIMEOUT between 30 and 120 seconds
CONNECTOR_STARTUP_TIMEOUT_SECONDS=your-value
# CONNECTOR STARTUP MAX ATTEMPTS between 1 and 5
CONNECTOR_STARTUP_MAX_ATTEMPTS=your-value
資訊備註 為防止命令管道壅塞,調整這些值需要啟用 AsyncLoadDataRequest,如上方 非同步請求載入插槽 中所述。These settings will revert to fixed legacy values of 30 and 3 respectively when AsyncLoadSlotRequest is disabled. - 儲存 configuration.properties 檔案。
Allowing connections to localhost using the REST (via 直接存取閘道) connector
Requires 直接存取閘道 1.7.6 or later.
You can allow the REST (via 直接存取閘道) connector to connect to localhost. This facilitates the use of local (to the gateway server) REST endpoints such as the connector-agent/ status endpoint to determine the active number of loads on an agent.
- 使用文字編輯器,以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
設定 REST_ALLOW_LOCALHOST_CONNECTION=true (設定為 false 以停用此功能)
- 儲存 configuration.properties 檔案。
增加連線至 ODBC 資料來源時錯誤訊息的詳細資訊
出於安全考慮,ODBC 驅動程式傳回的預設錯誤訊息包含最少的資訊。但是,在某些情況下,您可能需要更多資訊來解決特定問題。若要取得更詳細的錯誤訊息,請將 ShowErrorDetailMessage 屬性新增至連接器對話方塊中的進階區段並將其設為 True。解決問題後,為了獲得最佳安全性,強烈建議刪除該屬性或將其設為 False。
檢視和下載記錄檔案
記錄檔案提供關於 直接存取閘道 操作的資訊。Qlik 支援可能會請您提供記錄檔案以供故障排除。您可以在記錄檢視器中檢視或下載記錄檔案。在一般情況下,沒有理由要檢驗記錄檔案,但若您遇到重複故障或其他問題,記錄檔案通常有助於查明原因。
若要開啟記錄檢視器:
-
在 管理 活動中心內,前往資料閘道並找到 直接存取閘道。
-
按一下列末尾的
,並選取檢視記錄。
就會開啟記錄檢視器視窗。
-
從左上方的下拉式清單,選擇 Qlik 支援要求您檢視或下載的記錄類型。
下列記錄可用:
- 直接存取閘道 記錄 (DirectAccessAgent)
- DCaaS 記錄 (dcaas_logs)
- 以 ODBC 為基礎的連接器記錄 (odbc-connector_logs)
- SAP BW 連接器記錄 (QvSAPBwConnector-<date + timestamp>)
- SAP SQL 連接器記錄 (QvSqlBwConnector-<date + timestamp>)
-
連接器代理程式記錄 (connector-agent_logs_<date>)
-
SAP ODP 和 SAP 報表連接器記錄 (QvSapConnectorPackage-<process_id>)
-
REST 連接器記錄 (rest-connector_logs_ < timestamp>)
-
檔案連接器記錄 (file-connector_logs_<timestamp>)
資訊備註從 直接存取閘道 1.7.1 起,連接器啟動、退出和重新啟動事件將寫入 直接存取閘道(DirectAccessAgent) 記錄檔案。在先前的版本中,這寫入到連接器代理程式記錄 (connector-agent_logs_ < date>) 記錄檔案。 -
從鄰近的下拉式清單,選取您要檢視或下載的記錄。從最新 (目前作用中的記錄檔案) 到最舊排序記錄檔案。選取記錄檔案後,您可以使用
和
按鈕分別跳至記錄檔案的開始或結尾。
提示備註記錄檔檢視不會自動更新最新訊息。若要更新檢視,請按一下跳至記錄檔案的結尾,會以最新訊息更新。
-
若要下載記錄檔案,按一下下載。
檔案將會下載至您的電腦或將會提示您儲存,視您的瀏覽器設定而定。
在 直接存取閘道 機器上開啟 直接存取閘道 記錄
除了能夠從 管理 活動中心下載 直接存取閘道 (DirectAccessAgent) 記錄,您也可以直接從 直接存取閘道 機器開啟。在預設安裝下,這些記錄位於:
C:\Program Files\Qlik\ConnectorAgent\data\logs
變更 DirectAccessAgent 記錄層級
出於疑難排解目的,您可能需要變更 DirectAccessAgent 記錄的記錄層級。DirectAccessAgent 負責連線到 Qlik Cloud 服務。要檢視和變更 DirectAccessAgent 記錄的記錄詳細資訊層級,請從 ConnectorAgent 子資料夾 (預設安裝為 C:\Program Files\Qlik\ConnectorAgent\ConnectorAgent) 執行下列命令:
-
如要檢視目前的記錄層級,請執行:
connectoragent configuration getloggers -
如要將記錄層級設定為「追蹤」,請執行:
connectoragent configuration setloggers -l Root -v DEBUG -
如要將記錄層級設定為「詳細資訊」,請執行:
connectoragent configuration setloggers -l Root –v DETAILED_DEBUG
有關其他記錄選項,請參閱下面 Qlik Cloud 中的設定 直接存取閘道。
更新註冊金鑰
在金鑰損毀這種不太可能發生的事件中,或者若您懷疑未獲授權的使用者存取資料閘道伺服器,可能有必要變更註冊金鑰。
若要更新註冊金鑰:
- 在直接存取閘道伺服器上,以管理員身分開啟命令提示字元並將工作目錄變更為 ConnectorAgent 子資料夾 (預設安裝為 C:\Program Files\Qlik\ConnectorAgent\ConnectorAgent)。
-
執行下列命令:
-
產生新的金鑰:
connectoragent qcs generate_keys
-
顯示金鑰:
connectoragent qcs get_registration
就會顯示金鑰:
-
-
複製整個金鑰,如上面範例所示。
-
在 管理 活動中心內,按一下相關列末尾的
按鈕並選取編輯,以開啟資料閘道設定。
-
在金鑰欄位中貼上金鑰 (取代目前金鑰) 並儲存設定。
-
返回直接存取閘道伺服器並重新啟動 Qlik 資料閘道 - 直接存取 服務,如 管理 Qlik 資料閘道 - 直接存取 服務 中的說明。