Duplizieren von Umgebungen

Einleitung

Übersicht

WICHTIG

Wenn Sie keinen Zugriff auf den Server und die Datenbank (gehostete Umgebungen) haben, können Sie die unten beschriebenen Verfahren nicht durchführen. Bitte kontaktieren Sie die Adobe.

Die Verwendung von Adobe Campaign erfordert die Installation und Konfiguration einer oder mehrerer Umgebungen: Entwicklung, Tests, Vorproduktion, Produktion usw.

Jede Umgebung enthält eine Adobe Campaign-Instanz und jede Adobe Campaign-Instanz ist mit einer oder mehreren Datenbanken verknüpft. Der Anwendungsserver kann einen oder mehrere Prozesse ausführen: Fast alle haben direkten Zugriff auf die Instanzdatenbank.

In diesem Abschnitt werden die Prozesse beschrieben, die auf das Duplizieren einer Adobe Campaign-Umgebung angewendet werden sollen, d. h. um eine Quellumgebung in einer Zielumgebung wiederherzustellen, was zu zwei identischen Arbeitsumgebungen führt.

Gehen Sie hierzu wie folgt vor:

  1. Erstellen Sie eine Kopie der Datenbanken auf allen Instanzen in der Quellumgebung,

  2. Stellen Sie diese Kopien auf allen Instanzen der Zielumgebung wieder her,

  3. Führen Sie das Warnskript nms:freezeInstance.js in der Zielumgebung aus, bevor Sie es starten.

    Dieser Prozess hat keine Auswirkungen auf die Server und deren Konfiguration.

    HINWEIS

    Im Kontext von Adobe Campaign werden bei einer Bluterguss Aktionen kombiniert, die es ermöglichen, alle Prozesse zu stoppen, die mit der Außenwelt interagieren: Protokolle, Tracking, Sendungen, Kampagnen-Workflows usw.
    Dieser Schritt ist erforderlich, um zu verhindern, dass Nachrichten mehrmals gesendet werden (einmal in der nominalen Umgebung und einmal in der duplizierten Umgebung).

    WICHTIG

    Eine Umgebung kann mehrere Instanzen enthalten. Jede Adobe Campaign-Instanz unterliegt einem Lizenzvertrag. Überprüfen Sie Ihren Lizenzvertrag, um zu sehen, wie viele Umgebungen Sie nutzen können.
    Mit dem unten beschriebenen Verfahren können Sie eine Umgebung übertragen, ohne die Anzahl der installierten Umgebungen und Instanzen zu beeinträchtigen.

Vorbereitung

WICHTIG

Es wird dringend empfohlen, eine vollständige Sicherung der Datenbanken für alle Instanzen der Quell- und Zielumgebungen durchzuführen, bevor der Übertragungsprozess gestartet wird. Auf diese Weise können Sie, wenn ein Problem auftritt, die Backups wiederherstellen und zu Ihrer ursprünglichen Konfiguration zurückkehren.

Damit dieser Prozess funktioniert, müssen die Quell- und Zielumgebungen über dieselbe Anzahl von Instanzen, denselben Zweck (Marketing-Instanz, Versandinstanz) und ähnliche Konfigurationen verfügen. Die technische Konfiguration muss den Softwarevoraussetzungen entsprechen. Dieselben Komponenten müssen in beiden Umgebungen installiert sein.

Implementierung

Übermittlungsverfahren

In diesem Abschnitt erfahren Sie, wie Sie mithilfe einer Fallstudie eine Quellumgebung in eine Zielumgebung übertragen können: Unser Ziel besteht hier darin, eine Produktionsumgebung (prod Instanz) in einer Entwicklungsumgebung (dev Instanz) wiederherzustellen, um in einem Kontext zu arbeiten, der der "Live"-Plattform so nahe wie möglich ist.

Die folgenden Schritte müssen mit großer Sorgfalt ausgeführt werden: Einige Prozesse werden möglicherweise noch ausgeführt, wenn die Datenbanken der Quellumgebung kopiert werden. Durch die Vorsicht (Schritt 3 unten) wird verhindert, dass Nachrichten zweimal gesendet werden, und die Datenkonsistenz wird gewahrt.

WICHTIG
  • Das folgende Verfahren ist in der Sprache PostgreSQL gültig. Wenn die SQL-Sprache unterschiedlich ist (z. B. Oracle), müssen die SQL-Abfragen angepasst werden.
  • Die folgenden Befehle gelten im Kontext einer prod-Instanz und einer dev-Instanz unter PostgreSQL.

Schritt 1: Erstellen einer Sicherungskopie der Quellumgebungsdaten (prod)

Datenbanken kopieren

Kopieren Sie zunächst alle Quellumgebungsdatenbanken. Der Vorgang hängt von der Datenbank-Engine ab und liegt in der Verantwortung des Datenbankadministrators.

Unter PostgreSQL lautet der Befehl:

pg_dump mydatabase > mydatabase.sql

Schritt 2: Exportieren der Zielumgebungskonfiguration (dev)

Die meisten Konfigurationselemente unterscheiden sich für jede Umgebung: externe Konten (Mid-Sourcing, Routing usw.), technische Optionen (Plattformname, DatabaseId, E-Mail-Adressen und Standard-URLs usw.).

Vor dem Speichern der Quelldatenbank in der Zieldatenbank müssen Sie die Konfiguration der Zielumgebung (dev) exportieren. Exportieren Sie dazu den Inhalt dieser beiden Tabellen: xtkoption und nmsextaccount.

Mit diesem Export können Sie die Entwicklungskonfiguration beibehalten und nur Entwicklungsdaten (Workflows, Vorlagen, Webanwendungen, Empfänger usw.) aktualisieren.

Führen Sie dazu einen Package-Export für die folgenden beiden Elemente durch:

  • Exportieren Sie die Tabelle xtk:option in eine Datei "options_dev.xml", ohne dass die Datensätze die folgenden internen Namen aufweisen: 'WdbcTimeZone', 'NmsServer_LastPostUpgrade' und 'NmsBroadcast_RegexRules'.
  • Exportieren Sie in einer Datei "extaccount_dev.xml"die Tabelle nms:extAccount für alle Datensätze, deren Kennung nicht 0 ist (@id <> 0).

Überprüfen Sie, ob die Anzahl der exportierten Optionen/Konten der Anzahl der Zeilen entspricht, die in jeder Datei exportiert werden sollen.

HINWEIS

Die Anzahl der zu exportierenden Zeilen in einem Package-Export beträgt 1000 Zeilen. Bei mehr als 1000 Optionen oder externen Konten müssen mehrere Exporte durchgeführt werden.

Weiterführende Informationen hierzu finden Sie in diesem Abschnitt.

HINWEIS

Beim Exportieren der nmsextaccount -Tabelle werden Kennwörter, die sich auf externe Konten beziehen (z. B. Kennwörter für Mid-Sourcing, Message Center Execution, SMPP, IMS und andere externe Konten), nicht exportiert. Vergewissern Sie sich im Voraus, dass Sie Zugriff auf die richtigen Passwörter haben, da diese möglicherweise erneut eingegeben werden müssen, nachdem die externen Konten wieder in die Umgebung importiert wurden.

Schritt 3: Beenden der Zielumgebung (dev)

Sie müssen Adobe Campaign-Prozesse auf allen Zielumgebungsservern stoppen. Dieser Vorgang hängt von Ihrem Betriebssystem ab.

Sie können alle Prozesse stoppen, oder nur die Prozesse, die in die Datenbank schreiben.

Verwenden Sie die folgenden Befehle, um alle Prozesse zu beenden:

  • Windows:

    net stop nlserver6
    
  • Unter Linux:

    /etc/init.d/nlserver6 stop
    

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob alle Prozesse beendet wurden:

nlserver pdump
HINWEIS

Unter Windows kann der Prozess webmdl weiterhin aktiv sein, ohne andere Vorgänge zu beeinträchtigen.

Sie können auch überprüfen, ob noch keine Systemprozesse ausgeführt werden.

Gehen Sie dazu wie folgt vor:

  • Windows: Öffnen Sie den Task Manager und überprüfen Sie, ob keine nlserver.exe-Prozesse vorhanden sind.
  • Unter Linux: Führen Sie die ps-aux aus. | grep nlserver Befehl und vergewissern Sie sich, dass keine nlserver-Prozesse vorhanden sind.

Schritt 4: Wiederherstellen der Datenbanken in der Zielumgebung (dev)

Verwenden Sie den folgenden Befehl, um die Quelldatenbanken in der Zielumgebung wiederherzustellen:

psql mydatabase < mydatabase.sql

Schritt 5: Vorsicht bei der Zielumgebung (dev)

Um Fehlfunktionen zu vermeiden, dürfen Prozesse im Zusammenhang mit dem Versand und der Ausführung des Workflows bei der Aktivierung der Zielumgebung nicht automatisch ausgeführt werden.

Führen Sie dazu den folgenden Befehl aus:

nlserver javascript nms:freezeInstance.js -instance:<dev> -arg:run

6. Schritt - Vorsicht überprüfen

  1. Vergewissern Sie sich, dass der einzige Versandabschnitt derjenige ist, dessen Kennung auf 0 gesetzt ist:

    SELECT * FROM neolane.nmsdeliverypart;
    
  2. Vergewissern Sie sich, dass die Versandstatus-Aktualisierung korrekt ist:

    SELECT iState, count(*) FROM neolane.nmsdelivery GROUP BY iState;
    
  3. Vergewissern Sie sich, dass die Workflow-Status-Aktualisierung korrekt ist:

    SELECT iState, count(*) FROM neolane.xtkworkflow GROUP BY iState;
    SELECT iStatus, count(*) FROM neolane.xtkworkflow GROUP BY iStatus;
    

Schritt 7: Starten Sie den Webprozess der Zielumgebung neu (dev)

Starten Sie in der Zielumgebung die Adobe Campaign-Prozesse für alle Server neu.

HINWEIS

Bevor Sie Adobe Campaign in der dev-Umgebung neu starten, können Sie ein zusätzliches Sicherheitsverfahren anwenden: Starten Sie nur das Modul web .

Bearbeiten Sie dazu die Konfigurationsdatei Ihrer Instanz (config-dev.xml) und fügen Sie dann das Zeichen "_"vor den Optionen autoStart="true" für jedes Modul (mta, stat usw.) hinzu.

Führen Sie den folgenden Befehl aus, um den Webprozess zu starten:

nlserver start web

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob nur der Webprozess gestartet wurde:

nlserver pdump

Überprüfen Sie, ob der Zugriff auf die Clientkonsole funktioniert.

Schritt 8: Importieren von Optionen und externen Konten in die Zielumgebung (dev)

WICHTIG

In diesem Schritt sollte nur der Webprozess gestartet werden. Ist dies nicht der Fall, beenden Sie andere laufende Prozesse, bevor Sie fortfahren

Überprüfen Sie vor allem die Werte mehrerer Zeilen der Dateien, bevor Sie importieren (z. B.: 'NmsTracking_Pointer' für die Optionstabelle und die Versand- oder Mid-Sourcing-Konten für die Tabelle des externen Kontos)

So importieren Sie die Konfiguration aus der Zielumgebungsdatenbank (dev):

  1. Öffnen Sie die Admin Console der Datenbank und bereinigen Sie die externen Konten (Tabelle nms:extAccount), deren Kennung nicht 0 (@id <> 0) ist.

  2. Importieren Sie in der Adobe Campaign-Konsole das Package options_dev.xml , das Sie zuvor über die Package-Import-Funktion erstellt haben.

    Überprüfen Sie, ob die Optionen tatsächlich im Knoten Administration > Plattform > Optionen aktualisiert wurden.

  3. Importieren Sie in der Adobe Campaign-Konsole die zuvor über die Import-Paketfunktion erstellte Datei "extaccount_dev.xml".

    Überprüfen Sie, ob externe Datenbanken tatsächlich in Administration > Plattform > Externe Konten importiert wurden.

Schritt 9: Alle Prozesse neu starten und Benutzer ändern (dev)

Verwenden Sie die folgenden Befehle, um die Adobe Campaign-Prozesse zu starten:

  • Windows:

    net start nlserver6
    
  • Unter Linux:

    /etc/init.d/nlserver6 start
    

Verwenden Sie den folgenden Befehl, um zu überprüfen, ob die Prozesse gestartet wurden:

nlserver pdump

Ändern Sie Benutzer, um die Benutzer zu finden, die bereits auf der Entwicklungsplattform vorhanden waren.

Auf dieser Seite