疑難排解 直接存取閘道
本區段說明解決 直接存取閘道 的問題可執行的各種動作。
檢視和下載記錄檔案
記錄檔案提供關於 直接存取閘道 操作的資訊。Qlik 支援可能會請您提供記錄檔案以供故障排除。您可以在記錄檢視器中檢視或下載記錄檔案。在一般情況下,沒有理由要檢驗記錄檔案,但若您遇到重複故障或其他問題,記錄檔案通常有助於查明原因。
若要開啟記錄檢視器:
-
在 管理 活動中心內,前往資料閘道並找到 直接存取閘道。
-
按一下列末尾的
,並選取檢視記錄。
就會開啟記錄檢視器視窗。
-
從左上方的下拉式清單,選擇 Qlik 支援要求您檢視或下載的記錄類型。
下列記錄可用:
- 直接存取閘道 記錄 (DirectAccessAgent)
- DCaaS 記錄 (dcaas_logs)
- 以 ODBC 為基礎的連接器記錄 (odbc-connector_logs)
- SAP BW 連接器記錄 (QvSAPBwConnector-<date + timestamp>)
- SAP ODP 連接器記錄 (QvSapConnectorPackage-<process_id>)
- SAP SQL 連接器記錄 (QvSqlBwConnector-<date + timestamp>)
- 連接器代理程式記錄 (connector-agent_logs_<date>)
-
從鄰近的下拉式清單,選取您要檢視或下載的記錄。從最新 (目前作用中的記錄檔案) 到最舊排序記錄檔案。選取記錄檔案後,您可以使用
和
按鈕分別跳至記錄檔案的開始或結尾。
提示備註記錄檔檢視不會自動更新最新訊息。若要更新檢視,請按一下跳至記錄檔案的結尾,會以最新訊息更新。
-
若要下載記錄檔案,按一下下載。
檔案將會下載至您的電腦或將會提示您儲存,視您的瀏覽器設定而定。
在 直接存取閘道 機器上開啟 直接存取閘道 記錄
除了能夠從 管理 活動中心下載 直接存取閘道 (DirectAccessAgent) 記錄,您也可以直接從 直接存取閘道 機器開啟。在預設安裝下,這些記錄位於:
C:\Program Files\Qlik\ConnectorAgent\data\logs
變更記錄層級
您可以依下方所述變更 直接存取閘道 記錄的記錄層級。
變更連接器元件的記錄層級
出於疑難排解目的,您可能需要變更連接器元件記錄的記錄層級。
為此:
- 以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。
-
找到 <COMPONENT>_LOG_LEVEL 屬性,其中 COMPONENT 可以是下列一項:
- AGENT
- DCAAS
- ODBC
- SAPBW
- SAPSQL
- SAPPACKAGE
- FILE
- 將其設為下列一項:ERROR、WARN、INFO 或 DEBUG
-
儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
資訊備註從 直接存取閘道 1.7.1 開始,如果僅變更了 AGENT 元件,則不需要重新啟動 Qlik 資料閘道 - 直接存取 服務。
變更 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
更新註冊金鑰
在金鑰損毀這種不太可能發生的事件中,或者若您懷疑未獲授權的使用者存取資料閘道伺服器,可能有必要變更註冊金鑰。
若要更新註冊金鑰:
- 在直接存取閘道伺服器上,以管理員身分開啟命令提示字元並將工作目錄變更為 ConnectorAgent 子資料夾 (預設安裝為 C:\Program Files\Qlik\ConnectorAgent\ConnectorAgent)。
-
執行下列命令:
-
產生新的金鑰:
connectoragent qcs generate_keys
-
顯示金鑰:
connectoragent qcs get_registration
就會顯示金鑰:
-
-
複製整個金鑰,如上面範例所示。
-
在 管理 活動中心內,按一下相關列末尾的
按鈕並選取編輯,以開啟資料閘道設定。
-
在金鑰欄位中貼上金鑰 (取代目前金鑰) 並儲存設定。
-
返回直接存取閘道伺服器並重新啟動 Qlik 資料閘道 - 直接存取 服務,如 管理 Qlik 資料閘道 - 直接存取 服務 中的說明。
延長載入工作階段壽命
若 直接存取閘道 和 Qlik Cloud 之間的連線閒置 20 秒或更長時間,載入操作有時候可能會失敗,並有下列錯誤:
Invalid object name '#<TempTableName>' (indicating that the 直接存取閘道 temp tables are unavailable).
預設工作階段壽命為 20 秒,但若您經常遇到此錯誤,可以延長工作階段壽命,如下所示:
-
以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 這麼做,務必選取顯示隱藏的檔案、資料夾和磁碟機。
- 找到 ODBC_RELOAD_SESSION_LIFE 參數並按需求增加其值。
- 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
延長載入請求逾時
發生網路中斷時,載入可能會失敗並有下列錯誤:
Connector error: The session does not exist (DirectAccess-1509)
Connector error: The stream session expired for the load data request (DirectAccess-1012)
若您經常遇到上述錯誤,嘗試將 EXTEND_FIRST_REQUEST_TIMEOUT 參數設定為 5-10 分鐘。
要執行的操作:
-
以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 這麼做,務必選取顯示隱藏的檔案、資料夾和磁碟機。
- 找到 EXTEND_FIRST_REQUEST_TIMEOUT 參數並將其值增加為 5-10 分鐘。預設為 0。
- 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
遷移連接器在載入期間毀損
流程隔離允許可直接存取閘道伺服器作業系統的管理員控制每個連接器類型有多少處理程序可用於載入。在多個連接器處理程序上擴展載入會增加隔離程度,方法是減少每個連接器處理程序上同時執行的載入次數。若發生連接器毀損,這反過來可以改善整體 直接存取閘道 穩定性。
需要 直接存取閘道 1.6.1 或更高版本。
關閉處理序隔離
Qlik 支援可能會要求您關閉處理序隔離以進行疑難排解。
若要關閉處理序隔離:
- 開啟 C:\ProgramData\Qlik\Gateway\configuration.properties 檔案。若您透過 Windows Explorer 這麼做,務必選取顯示隱藏的檔案、資料夾和磁碟機。
-
將 [ODBC|SAPBW|SAPSQL|SAPPACKAGE]_PROCESS_ISOLATION_MODE (依條件為所有列著色) 設定為 None (特定列)。
- 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
開啟處理序隔離或變更並行載入數量
若要開啟處理序隔離或變更並行載入數量:
-
以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 這麼做,務必選取顯示隱藏的檔案、資料夾和磁碟機。
檔案包含對應至不同連接器類型的三個前置詞:ODBC_<property-name>、SAPBW_<property-name>、SAPSQL_<property-name> 和 SAPPACKAGE_<property-name>。
-
將 [ODBC|SAPBW|SAPSQL|SAPPACKAGE]_PROCESS_ISOLATION_MODE 設定為 Load 並將 [ODBC|SAPBW|SAPSQL|SAPPACKAGE]_MAX_PROCESS_COUNT 設定為 N。
其中:
N = 一個命令處理序 + 要配置的並行載入處理序數量。因此,例如,值 10 表示最多 9 個並行載入。
- 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
ODBC 連接器處理序隔離範例
下列 configuration.properties 檔案節錄顯示如何為最多 12 個載入啟用 ODBC 連接器處理序隔離:
ODBC_PROCESS_ISOLATION_MODE=Load
ODBC_MAX_PROCESS_COUNT=13
快取資料以便在出現問題時載入
對於每個載入操作,直接存取閘道 可以在記憶體中快取資料區塊,並卸載到磁碟 (若超出快取的分配大小)。若您不使用自動復原且頻繁遇到 4025、4020 和 4021 錯誤,這尤其實用。您可設定用於將資料區塊卸載到磁碟的快取大小閾值 (根據載入),以開啟此功能。達到指定的閾值時,閘道會將下一個加密區塊卸載到 直接存取閘道 機器的磁碟。
若要設定快取大小:
-
以管理員身分開啟 C:\ProgramData\Qlik\Gateway\configuration.properties。若您透過 Windows Explorer 這麼做,務必選取顯示隱藏的檔案、資料夾和磁碟機。
-
將 RELOAD_CACHE_MEMORY_MB 設定為 N (預設為 0,表示未啟用功能)。
其中:
N = 分配用於快取資料區塊的記憶體量 (每次載入)
資訊備註啟用此功能將會增加 直接存取閘道 機器上的記憶體取用,因此我們建議在啟用時監控對記憶體的影響。將 RELOAD_CACHE_MEMORY_MB 值設定為 100 應足以因應大部分的情境。 - 儲存 configuration.properties 檔案並重新啟動 Qlik 資料閘道 - 直接存取 服務。
覆寫預設的區塊快取目錄
對於每個載入操作,直接存取閘道 可以在記憶體中快取資料區塊,並卸載到磁碟 (若超出快取的分配大小)。如果系統磁碟機上沒有足夠的磁碟空間,您可以覆寫預設的區塊快取目錄 (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_mapping.json。若您透過 Windows Explorer 執行此操作,務必選取顯示 > 隱藏的項目。此檔案包含 Qlik Cloud 資料類型的來源範例。
-
新增區段,將有問題的資料類型對應到所需的 Qlik Cloud 資料類型。
在以下範例中 (包含在 custom_type_mapping.json 檔案中),客戶需要將 Qlik Cloud DateTime 資料類型的大小變更為 27。
{
"Identifier": "Amazon Athena ODBC (x64)",
"NativeDataType": "timestamp with time zone",
"QlikDataType": "DateTime",
"Size": 27,
"IsBit": false
}
- 儲存 custom_type_mapping.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 資料閘道 - 直接存取 服務。
增加連線至 ODBC 資料來源時錯誤訊息的詳細資訊
出於安全考慮,ODBC 驅動程式傳回的預設錯誤訊息包含最少的資訊。但是,在某些情況下,您可能需要更多資訊來解決特定問題。若要取得更詳細的錯誤訊息,請將 ShowErrorDetailMessage 屬性新增至連接器對話方塊中的進階區段並將其設為 True。解決問題後,為了獲得最佳安全性,強烈建議刪除該屬性或將其設為 False。