DPM mithilfe von Solution Central bereitstellen
In diesem Szenario werden Ihre Datenbank und ThingWorx auf Ihrem System installiert, und Sie stellen DPM mit Solution Central auf Ihrer ThingWorx Instanz bereit.
Führen Sie die Schritte in den folgenden Abschnitten aus:
Voraussetzungen
Bevor Sie DPM bereitstellen, schließen Sie die folgenden Voraussetzungen ab:
Überprüfen Sie die DPM Systemanforderungen, einschließlich der Frage, welche Versionen von ThingWorx mit DPM kompatibel sind. Weitere Informationen finden Sie unter DPM Systemanforderungen.
Überprüfen Sie die ThingWorx Systemanforderungen für eine kompatible Version von ThingWorx. Weitere Informationen finden Sie unter Systemanforderungen im ThingWorx Hilfe-Center.
Installieren Sie eine kompatible Version von ThingWorx. Weitere Informationen finden Sie unter ThingWorx installieren.
Wenden Sie die entsprechende Lizenz für DPM an. Weitere Informationen finden Sie unter Lizenzierung für ThingWorx Platform im ThingWorx Hilfe-Center.
Konfigurieren Sie ThingWorx, um den Erweiterungsimport zu aktivieren. Weitere Informationen finden Sie unter Erweiterungen importieren im ThingWorx Hilfe-Center.
Stellen Sie sicher, dass die Zeitzone des ThingWorx Servers auf UTC festgelegt ist. Weitere Informationen finden Sie im ThingWorx Hilfe-Center unter Java, Apache Tomcat und ThingWorx installieren.
Erhalten Sie Zugriff auf Solution Central. Neben der Verwendung zum Bereitstellen von DPM ist Solution Central das empfohlene Tool zum Verschieben von Bereitstellungen und Anpassungen zwischen ThingWorx Umgebungen, z.B. von einer Testumgebung in eine Produktionsumgebung. Weitere Informationen finden Sie im englischen ThingWorx Solution Central Help Center.
Wenn Sie die Datenbank auf Linux installieren, installieren Sie das Tool sqlcmd.
Installieren Sie das Microsoft SQL Server Management Studio. Weitere Informationen finden Sie unter https://docs.microsoft.com/de-de/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15.
Skript-Timeout-Einstellung aktualisieren
Ein ThingWorx Administrator muss die folgenden Schritte ausführen, um die Skript-Timeout-Einstellung zu aktualisieren:
1. Navigieren Sie auf dem ThingWorx Server zum Ordner ThingWorxPlatform.
2. Öffnen Sie die Datei platform-settings.json in einem Texteditor.
3. Suchen Sie im Abschnitt BasicSettings die Einstellung für ScriptTimeout, und legen Sie diese auf 12000 fest.
Fügen Sie die Option, wenn sie nicht bereits vorhanden ist, dem Abschnitt BasicSettings wie folgt hinzu: "ScriptTimeout": 12000
4. Speichern und schließen Sie die Datei platform-settings.json.
5. Starten Sie den ThingWorx Server neu.
* 
Wenn eine Meldung ähnlich der folgenden in Ihrem Skriptprotokoll angezeigt wird, wiederholen Sie die obigen Schritte, um die Einstellung ScriptTimeout weiter zu erhöhen:
[message: Execution of Script terminated after : 12000 seconds. Timeout configured for 12000 seconds.]
Weitere Informationen finden Sie unter platform-settings.json – Konfigurationsdetails im ThingWorx Hilfe-Center.
Sitzungs-Timeout-Einstellung aktualisieren
Standardmäßig gibt es für Sitzungen mit inaktiven Benutzern nach 30 Minuten ein Timeout. Sie können diese Einstellung ändern, um die Anforderungen Ihres Systems zu erfüllen.
Ein ThingWorx Administrator muss die folgenden Schritte ausführen, um die Einstellung für das Sitzungs-Timeout zu ändern:
1. Navigieren Sie in ThingWorx zu Systeme > Untersysteme.
2. Öffnen Sie im Bearbeitungsmodus das UserManagementSubsystem.
3. Ändern Sie unter Konfiguration die Einstellung Leerlaufsitzungs-Timeout (Min.).
4. Klicken Sie auf Speichern.
5. Starten Sie den ThingWorx Server neu.
Weitere Informationen finden Sie unter Untersystem für Benutzerverwaltung im ThingWorx Hilfe-Center.
MS SQL JDBC-Treiber installieren
Wenn Ihre ThingWorx Instanz mit PostgreSQL als Persistenzanbieter konfiguriert ist, führen Sie die folgenden Schritte aus, um den MS SQL JDBC-Treiber zu installieren. Wenn Ihre ThingWorx Instanz mit MS SQL als Persistenzanbieter konfiguriert ist, fahren Sie mit dem nächsten Abschnitt fort.
1. Laden Sie die mit JRE11 kompatible Version des Microsoft JDBC-Treibers 7.4.1 für SQL Server über den folgenden Link herunter: https://docs.microsoft.com/de-de/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-ver15#sql-version-compatibility.
2. Kopieren Sie die JDBC-JAR-Datei in das Verzeichnis lib der Tomcat-Installation: (<TOMCAT_HOME>/lib).
3. Starten Sie den Tomcat-Server neu, um den JDBC-Treiber zu laden und ihn so für ThingWorx verfügbar zu machen.
DPM-Datenbank und Datenbankbenutzer erstellen
Führen Sie die folgenden Schritte aus:
1. Erstellen Sie die Anmeldung und das Passwort für den DPM Datenbankbenutzer in der Master-Datenbank. Befolgen Sie die Empfehlungen für die Komplexität des Passworts für Ihre Datenbank.
Für Windows mit dem Transact-SQL-Befehl im Abfrage-Editor von Microsoft SQL Server Management Studio:
CREATE LOGIN <dpmadmin> WITH PASSWORD = '<password>';
Ersetzen Sie im obigen Befehl <dpmadmin> und <password> durch die Anmeldung und das Passwort für Ihren DPM Datenbankbenutzer.
Für Linux:
1. Öffnen Sie die Eingabeaufforderung im Linux-Client.
2. Verwenden Sie die folgenden Befehle, um die Anmeldung auf dem SQL Server zu erstellen:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <dpmadmin> with password = '<dpmadmin-password>'" \
GO; \
exit
Ersetzen Sie in den obigen Befehlen <database-server-name> durch den Namen Ihres Datenbankservers, <sql-administrator-username> und <sql-administrator-password> durch den SQL Administrator-Benutzernamen und das Passwort und <dpmadmin> und <dpmadmin-password> durch die Anmeldung und das Passwort für Ihren DPM Datenbankbenutzer.
2. Erstellen Sie die Microsoft SQL Server-Datenbank (MSSQL), die DPM verwenden wird.
Für Windows mit den Transact-SQL-Befehlen im Abfrage-Editor von Microsoft SQL Server Management Studio:
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;
Ersetzen Sie in den obigen Befehlen <dpmdb> durch den Namen Ihrer Datenbank.
Für Linux:
1. Öffnen Sie die Eingabeaufforderung im Linux-Client.
2. Verwenden Sie die folgenden Befehle, um die SQL Server-Datenbank zu erstellen. Ersetzen Sie die Variablen durch den Namen des Datenbankservers und den SQL Administrator-Benutzernamen und das zugehörige Passwort:
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"
Ersetzen Sie im obigen Befehl <database-server-name> durch den Namen Ihres Datenbankservers, <sql-administrator-username> und <sql-administrator-password> durch den SQL Administrator-Benutzernamen und das Passwort und <dpmdb> durch den Namen Ihrer Datenbank.
3. Erstellen Sie einen Datenbankbenutzer für die Anmeldung, die in Schritt 1 erstellt wurde. Verwenden Sie den gleichen Namen für den Datenbankbenutzer wie für die Anmeldung.
Verwenden Sie für Windows den Transact-SQL-Befehl im Abfrage-Editor von SQL Server Management Studio, der für die Datenbank geöffnet ist, die in Schritt 2 erstellt wurde:
CREATE USER <dpmadmin> FOR LOGIN <dpmadmin>;
ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>;
Ersetzen Sie im obigen Befehl <dpmadmin> durch den Namen für die Anmeldung, die in Schritt 1 erstellt wurde.
Für Linux:
1. Öffnen Sie die Eingabeaufforderung im Linux-Client.
2. Verwenden Sie die folgenden Befehle, um einen Datenbankbenutzer für Ihre DPM Datenbank zu erstellen. Ersetzen Sie die Variablen durch den Namen des Datenbankservers und den SQL Administrator-Benutzernamen und das zugehörige Passwort:
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>"
Ersetzen Sie in den obigen Befehlen <database-server-name> durch den Namen Ihres Datenbankservers, <sql-administrator-username> und <sql-administrator-password> durch den SQL Administrator-Benutzernamen und das Passwort, <dpmdb> durch den Namen Ihrer Datenbank, <dpmadmin> durch den Namen für die Anmeldung, die in Schritt 1 erstellt wurde.
DPM Lösung mithilfe von Solution Central bereitstellen
* 
Wenn Sie DPM auf einem ThingWorx HA-System bereitstellen, wird empfohlen, den Cluster auf eine einzelne Instanz zu übertragen, die Erweiterungen zu installieren und anschließend den Cluster wieder zu skalieren. Dies ist leistungsfähiger und verhindert eventuelle Konsistenzprobleme, da die neuen Erweiterungen von jedem Server beim Start geladen werden. Weitere Informationen finden Sie unter ThingWorx Erweiterungen in ThingWorx HA verwalten im ThingWorx Hilfe-Center.
Ein ThingWorx Administrator muss die folgenden Schritte ausführen, um mithilfe von Solution Central die DPM Lösung für Ihre ThingWorx Instanz bereitzustellen:
1. Stellen Sie sicher, dass Ihre DPM Lizenzen in ThingWorx Composer installiert ist. Weitere Informationen finden Sie in diesem Artikel des technischen Supports in der PTC Wissensdatenbank.
2. Richten Sie Solution Central ein. Weitere Informationen finden Sie unter Getting Started with Using Solution Central im englischen Solution Central Help Center.
3. Registrieren Sie in Solution Central Ihre ThingWorx Instanz. Weitere Informationen finden Sie unter Register Your ThingWorx Instance im englischen Solution Central Help Center.
4. Navigieren Sie in ThingWorx Composer zu Verwalten > Solution Central > PTC Lösungen.
5. Aktivieren Sie das Kontrollkästchen neben Digital Performance Management, und klicken Sie auf Ein-Klick-Bereitstellung. Es wird ein Fenster geöffnet, in dem alle Erweiterungen aufgelistet werden, die als Teil der DPM Lösung bereitgestellt werden sollen.
6. Klicken Sie auf Alle bereitstellen.
Die Erweiterungen werden heruntergeladen und installiert. Dies dauert einige Minuten. Sie werden benachrichtigt, wenn der Prozess abgeschlossen ist.
Weitere Informationen finden Sie im englischen ThingWorx Solution Central Help Center.
Dienst "InitializeSolution" ausführen
Führen Sie den Dienst InitializeSolution aus, um das Datenbankding zu konfigurieren, um eine Verbindung zu Ihrer DPM Datenbank herzustellen, Datenbanktabellen zu erstellen und die Manager-Dinge für die Bausteine zu registrieren, aus denen sich DPM zusammensetzt.
Ein ThingWorx Administrator muss die folgenden Schritte ausführen, um den Dienst auszuführen:
1. Navigieren Sie in ThingWorx Composer zum Ding PTC.Base.Manager.
2. Rufen Sie die Konfigurationsparameter ab:
a. Suchen Sie unter Dienste nach dem Dienst GetSolutionDeploymentConfigurationParameters und führen Sie ihn aus. Der Dienst gibt eine JSON-Datei mit den Konfigurationsparametern aus, die für den Dienst InitializeSolution erforderlich sind. Dies erfolgt dynamisch basierend auf dem Satz von vorhandenen Bausteinen. Die vom Dienst ausgegebene JSON-Datei weist das folgende Format auf:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"overrideComponentDeploymentState": {
"types": [
"BOOLEAN"
],
"description": "If true, the current component deployment state is ignored and the DeployComponent service will be rerun.",
"optional": true
},
"databasePassword": {
"types": [
"STRING"
],
"description": "Password of the database user used for DPM database Thing",
"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.SQLThingDatabase)",
"optional": true
}
}
b. Kopieren Sie die in der Dienstausgabe zurückgegebene JSON, und fügen Sie sie in einen Texteditor ein.
c. Bearbeiten Sie die JSON und ersetzen Sie den Inhalt in den geschweiften Klammern für jeden Konfigurationsparameter durch den standortspezifischen Wert.
databaseUser – Der Anmeldename des Datenbankbenutzers mit Systemadministratorrechten
databasePassword – Das Anmeldungspasswort für den Datenbankbenutzer mit Systemadministratorrechten
databaseJDBCString – Die JDBC-Verbindungszeichenfolge für die DPM Datenbank
databaseThing – Das standardmäßige Datenbankding (PTC.DBConnection.SQLThingDatabase)
Nachfolgend ist ein Beispiel der bearbeiteten JSON:
{
"databaseUser": "<dpmadmin>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<DPMdatabaseName>",
"databaseThing": "PTC.DBConnection.SQLThingDatabase"
}
Nachstehend sehen Sie ein Beispiel für das bearbeitete JSON-Objekt mit den tatsächlichen Werten:
{
"databaseUser": "DPMadmin",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"databaseThing": "PTC.DBConnection.SQLThingDatabase"
}
3. Suchen und führen Sie unter Dienste den Dienst "InitializeSolution" aus, indem Sie die bearbeitete JSON aus Schritt 2.c als Eingabeparameter deploymentConfig für den Dienst verwenden.
Nachdem der Dienst abgeschlossen wurde, zeigt die Ausgabe eine Infotable an, die die bereitgestellten Bausteine und ihre Konfigurationsstatus auflistet: Configured, Not Configured oder Error. Wenn Bausteine den Status Error oder Not Configured aufweisen, führen Sie die folgenden Schritte zur Problembehandlung aus:
a. Stellen Sie sicher, dass die in der JSON-Datei angegebenen Datenbank-Anmeldeinformationen gültig sind. Führen Sie anschließend den Dienst InitializeSolution aus.
b. Wenn Bausteine in der Dienstausgabe weiterhin den Status Error oder Not Configured aufweisen, überprüfen Sie die ThingWorx Anwendungs- und Skriptfehlerprotokolle, und beheben Sie alle dort gefundenen Fehler. Führen Sie anschließend den Dienst InitializeSolution aus.
c. Wenn Bausteine in der Dienstausgabe weiterhin den Status Error oder Not Configured aufweisen, aktualisieren Sie die JSON-Datei mit Folgendem, und führen Sie anschließend den Dienst InitializeSolution aus:
"overrideComponentDeploymentState": true
War dies hilfreich?