使用解決方案中心部署 DPM
在此情況下,您的資料庫與 ThingWorx 會安裝在您的系統中,且您可以使用 Solution Central 將 DPM 部署至您的 ThingWorx 實例。
完成以下部份的步驟:
先決條件
部署 DPM 之前,請完成下列先決條件:
審核 DPM 系統需求,包括哪些版本的 ThingWorxDPM 相容。若需進一步資訊,可參閱 系統需求
審核相容 ThingWorx 版本的 ThingWorx 系統需求。如需詳細資訊,請參閱 ThingWorx 說明中心的系統需求
安裝相容的 ThingWorx 版本。如需詳細資訊,請參閱安裝 ThingWorx
配置 ThingWorx 以匯入延伸功能。如需詳細資訊,請參閱 ThingWorx 說明中心中的匯入延伸功能
請確保將 ThingWorx 伺服器時區設定為 UTC。如需詳細資訊,請參閱 ThingWorx 說明中心的安裝 Java、Apache Tomcat 與 ThingWorx
套用您的 DPM 授權。如需詳細資訊,請參閱 ThingWorx 說明中心中的 ThingWorx Platform 授權
取得解決方案中心的存取權。除了用來部署 DPM 以外,解決方案中心也是用來在 ThingWorx 環境之間移動部署與自訂的建議工具,例如從測試環境移動到生產環境。如需詳細資訊,請參閱 ThingWorx Solution Central Help Center
如果您要在 Linux 上安裝資料庫,請安裝 sqlcmd 工具。
安裝 Microsoft SQL Server Management Studio。如需詳細資訊,請參閱 https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
更新指令集逾時設定
欲更新指令集超時設定,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx 伺服器,導覽至 ThingWorxPlatform 資料夾。
2. 在文字編輯器中開啟 platform-settings.json 檔案。
3. 尋找並將 ScriptTimeout 的設定更新為 1200。
4. 儲存並關閉 platform-settings.json 檔案。
5. 重新啟動 ThingWorx 伺服器。
* 
如果您的指令集記錄檔中出現類似下列的訊息,請重複上述步驟來進一步增加 ScriptTimeout 設定:
[message: Execution of Script terminated after : 1200 seconds. Timeout configured for 1200 seconds.]
如需詳細資訊,請參閱 ThingWorx 說明中心中的「platform-settings.json 組態設定詳細資訊」
更新工作階段逾時設定
依預設,閒置使用者工作階段會在 30 分鐘後逾時。
欲變更會話超時設定,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx 中,導覽至「系統」 > 「子系統」
2. 在編輯模式下開啟 UserManagementSubsystem
3. 「組態」下,變更「閒置工作階段逾時 (以分計)」 設定。
4. 按一下「儲存」
5. 重新啟動 ThingWorx 伺服器。
安裝 MS SQL JDBC Driver
如果您的 ThingWorx 實例將 PostgreSQL 配置為持續性提供者,請完成下列步驟以安裝 MS SQL JDBC 驅動程式。如果您的 ThingWorx 實例將 MS SQL 配置為持續性提供者,請跳到下一部份。
2. 將 JDBC JAR 檔案複製到 Tomcat 安裝的 lib 目錄:(<TOMCAT_HOME>/lib)。
3. 重新啟動 Tomcat 伺服器以載入 JDBC Driver,使其可供 ThingWorx 使用。
建立您的 DPM 資料庫與資料庫使用者
完成下列步驟:
1. 在主資料庫中為您的 DPM 資料庫使用者建立登入與密碼。請遵循您資料庫的密碼複雜度建議。
針對 Windows,在 Microsoft SQL Server Management Studio 的查詢編輯器中使用 Transact-SQL 指令:
CREATE LOGIN <dpmadmin> WITH PASSWORD = '<password>';
在上述指令中,以您的 DPM 資料庫使用者的登入與密碼取代 <dpmadmin><password>
針對 Linux:
1. 在 Linux 用戶端開啟指令提示。
2. 使用下列指令來在 SQL Server 上建立登入:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <dpmadmin> with password = '<dpmadmin-password>'" \
GO; \
exit
在上述指令中,以您的資料庫伺服器名稱取代 <database-server-name>,以 SQL 管理員使用者名稱與密碼取代 <sql-administrator-username><sql-administrator-password>,並以 DPM 資料庫使用者的登入及密碼取代 <dpmadmin><dpmadmin-password>
2. 建立 DPM 將使用的 Microsoft SQL Server (MSSQL) 資料庫。
針對 Windows,在 Microsoft SQL Server Management Studio 的查詢編輯器中使用 Transact-SQL 指令:
CREATE DATABASE <dpmdb> COLLATE SQL_Latin1_General_CP1_CI_AS;
ALTER DATABASE <dpmdb> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <dpmdb> SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE <dpmdb> SET ARITHABORT ON;
在上述指令中,以您的資料庫名稱取代 <dpmdb>
針對 Linux:
1. 在 Linux 用戶端開啟指令提示。
2. 使用下列指令來建立 SQL Server 資料庫、將變數取代為資料庫伺服器名稱及 SQL 管理員使用者名稱與密碼:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create database <dpmdb> COLLATE SQL_Latin1_General_CP1_CI_AS; ALTER DATABASE <dpmdb> SET READ_COMMITTED_SNAPSHOT ON; ALTER DATABASE <dpmdb> SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE <dpmdb> SET ARITHABORT ON"
在上述指令中,以您的資料庫伺服器名稱取代 <database-server-name>,以 SQL 管理員使用者名稱與密碼取代 <sql-administrator-username><sql-administrator-password>,以您的資料庫名稱取代 <dpmdb>
3. 針對在步驟 1 中建立的登入建立資料庫使用者。針對用於登入的資料庫使用者使用相同的名稱。
針對 Windows,在為在步驟 2 中建立之資料庫開啟的 SQL Server Management Studio 查詢編輯器中使用 Transact-SQL 指令:
CREATE USER <dpmadmin> FOR LOGIN <dpmadmin>;
ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>;
在上述指令中,以在步驟 1 中建立的登入名稱取代 <dpmadmin>
針對 Linux:
1. 在 Linux 用戶端開啟指令提示。
2. 使用下列指令為您的 DPM資料庫建立資料庫使用者,將變數取代為資料庫伺服器名稱以及 SQL 管理員使用者名稱與密碼:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "use <dpmdb>; create user <dpmadmin> for login <dpmadmin>;ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>"
在上述指令中,以您的資料庫伺服器名稱取代 <database-server-name>,以 SQL 管理員使用者名稱與密碼取代 <sql-administrator-username><sql-administrator-password>,以您的資料庫名稱取代 <dpmdb>,並以在步驟 1 中建立的登入名稱取代 <dpmadmin>
使用 Solution Central 部署 DPM 解決方案
* 
如果您要在 ThingWorx HA 系統上部署 DPM,建議您將該叢集縮減至單一實例,安裝延伸功能,然後再重新擴展該叢集。這將會提高性能並防止最終一致性問題,因為每個伺服器會在啟動時載入新的延伸功能。如需詳細資訊,請參閱 ThingWorx 說明中心的管理 ThingWorx HA 中的 ThingWorx 延伸功能
欲使用 Solution Central 將 DPM 解決方案部署至您的 ThingWorx 實例,ThingWorx 管理員必須完成下列步驟:
1. 請確保在 ThingWorx Composer 中安裝了您的 DPM 授權。如需詳細資訊,請參閱 PTC 知識庫中的此技術支援文章
2. 設定 Solution Central。如需詳細資訊,請參閱 Solution Central 說明中心的 Getting Started with Using Solution Central
3. 在 Solution Central 註冊您的 ThingWorx 實例。如需詳細資訊,請參閱 Solution Central 說明中心的 Register Your ThingWorx Instance
4. ThingWorx Composer 中,導覽至「管理」 > Solution Central > 「PTC 解決方案」
5. 選取 Digital Performance Management 旁邊的核取方塊,然後按一下「一鍵部署」。會開啟一個視窗,列出要部署為 DPM 解決方案一部份的所有延伸功能。
6. 按一下「部署所有」
即會下載及安裝延伸功能。這可能需要幾分鐘的時間。當流程完成時,您將會收到通知。
如需詳細資訊,請參閱 ThingWorx Solution Central Help Center
執行 InitializeSolution 服務
執行 InitializeSolution 服務來配置要連接至 DPM 資料庫的資料庫物件、建立資料庫表格,並針對構成 DPM 的建構區塊註冊管理員物件。
欲執行此服務,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx Composer 中,導覽至 PTC.Base.Manager 物件。
2. 取得組態參數:
a. 「服務」下,尋找並執行 GetSolutionDeploymentConfigurationParameters 服務。服務輸出是包含 InitializeSolution 服務所需組態參數的 JSON,根據存在的建構區塊集進行動態化。服務輸出 JSON 如下所示:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"twxAdminUserName": {
"types": [
"STRING"
],
"description": "Thingworx Admin Username",
"optional": false
},
"overrideComponentDeploymentState": {
"types": [
"BOOLEAN"
],
"description": "If true, the current component deployment state is ignored and the DeployComponent service will be rerun.",
"optional": true
},
"twxAdminPassword": {
"types": [
"STRING"
],
"description": "Thingworx Admin Password",
"optional": false
},
"databasePassword": {
"types": [
"STRING"
],
"description": "Password of the database user used for DPM database Thing",
"optional": false
},
"twxURL": {
"types": [
"STRING"
],
"description": "Thingworx URL",
"optional": false
},
"databaseJDBCString": {
"types": [
"STRING"
],
"description": "JDBC Connection String for the DPM database Thing",
"optional": false
},
"databaseThing": {
"types": [
"STRING"
],
"description": "The default database thing (PTC.DBConnection.MSSQLDatabase)",
"optional": true
}
}
b. 複製在服務輸出中傳回的 JSON 並貼上至文字編輯器。
c. 編輯 JSON,將每個組態參數的大括弧之間的內容取代為您場地的特定值。
databaseUser - 具有系統管理權限的資料庫使用者的登入名稱。
twxAdminUserName - ThingWorx 管理員使用者的名稱。
twxAdminPassword - ThingWorx 管理員使用者的密碼。
databasePassword - 具有系統管理權限的資料庫使用者的登入密碼。
databaseJDBCString - DPM 資料庫的 JDBC 連接字串。
twxURL - 您的 ThingWorx 實例的 URL。
databaseThing - 預設資料庫物件 (PTC.DBConnection.MSSQLDatabase)。
以下是所編輯 JSON 的範例:
{
"databaseUser": "<dpmadmin>",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "<twxadminpassword>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<DPMdatabaseName>",
"twxURL": "http://<host>:<port>/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
以下是帶有實際值的已編輯 JSON 的範例:
{
"databaseUser": "DPMadmin",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "ThingWorx!DPM9876",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"twxURL": "http://MyCompany.com:8080/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
3. 「服務」下,使用在步驟 2.c 中編輯的 JSON 作為服務的 deploymentConfig 輸入參數,尋找並執行 InitializeSolution 服務。
當服務完成時,輸出會顯示一個資料負載,列出已部署的建構區塊及其組態狀況:ConfiguredNot ConfiguredError。如果任何建構區塊有 ErrorNot Configured 狀況,請完成下列疑難排解步驟:
a. 請確保在 JSON 中指定的資料庫認證與組態有效,然後再執行 InitializeSolution 服務。
b. 如果任何建構區塊在服務輸出中仍有 ErrorNot Configured 狀況,請審核 ThingWorx 應用程式與指令集錯誤記錄檔,並解決該處發現的任何錯誤。然後執行 InitializeSolution 服務。
c. 如果任何建構區塊在服務輸出中仍有 ErrorNot Configured 狀況,請更新 JSON 以包括下列專案並執行 InitializeSolution 服務:
"overrideComponentDeploymentState": true
這是否有幫助?