MicroStrategy ONE

Statistikintegrität bei parallelen Upgrades, Metadatenmigration oder Klonen beibehalten

Paralleles Upgrade oder Metadatenmigration mit Platform Analytics

Platform Analytics ist ein Telemetrietool, das die Telemetrieerfassung aus mehreren MicroStrategy-Bereitstellungen gleichzeitig unterstützt. Platform Analytics verfügt über eine einzigartige Möglichkeit, jede Metadatenverbindung zum Intelligence Server zu identifizieren.

Wenn ein Administrator den Intelligence Server mit einem anderen Metadaten-Backup neu konfiguriert, erkennt Platform Analytics die Änderung sofort und beginnt mit der Aufzeichnung einer neuen Telemetrie, die mit den neuen Metadaten verknüpft ist.

Abhängig von Ihrer Zielsetzung sind keine weiteren Maßnahmen erforderlich. Zum Beispiel, wenn Sie eine zweite Umgebung als Test- oder Sandbox-Umgebung erstellt haben. Wenn Sie weiterhin Telemetriedaten im selben Metadaten-Repository erfassen möchten, finden Sie weitere Informationen unten:

Wenn sich einer der folgenden Parameter ändert, betrachtet Platform Analytics Ihre Metadaten als neu und eine zusätzliche Zeile wird in angezeigt lu_metadata Tabelle:

  • metadata_guid Eine eindeutige Metadaten-GUID wird generiert und gespeichert, wenn mit dem Konfigurations-Assistenten neue Metadaten erstellt werden.
  • Host Der Server, der den Datenbankserver hostet.
  • -Port Der Port, an dem der Datenbankserver ausgeführt wird.
  • Datenbank Der Name der Metadaten-Datenbank.
  • uid/sid Dieses Feld wird nur für Oracle-Datenbanken verwendet.

Die oben aufgeführten Parameter werden basierend auf den Werten verarbeitet, die im Metadaten-DSN bereitgestellt werden. Der Metadaten-DSN befindet sich in Ihrem odbc.ini -Datei für Linux und die ODBC-Datenquellen-Administrator für Windows.

Führen Sie die folgenden Schritte aus, um die Telemetrie wiederherzustellen und optional sicherzustellen, dass die gesamte Telemetrie erfasst wird:

  1. Halten Sie Ihre Platform Analytics-Dienste betriebsbereit. Zum Beispiel Zookeeper, Kafka, PAconsumer, REDIS usw.
  2. Um optional sicherzustellen, dass Platform Analytics die Verarbeitung der vorhandenen Telemetrie abgeschlossen hat, bevor Konfigurationsänderungen vorgenommen werden, überprüfen Sie die Anzahl der Telemetrienachrichtenübereinstimmungen für Versatzthemen oder ob sie sich zwischen dem Telemetry Server (z. B. Kafka) und dem Platform Analytics Repository um einen vernachlässigbaren Betrag unterscheiden:
    1. MicroStrategy empfiehlt, dass Sie Nachrichten zu den folgenden Kernthemen oder Themenbereichen prüfen:
      1. IsReportStats
      2. IsDocumentStats
      3. IsSessionStats
    2. Um die Ergebnisse vom Telemetry Server abzurufen, wechseln Sie in das Installationsverzeichnis des Servers (z. B. opt/MicroStrategy/Messaging Services/Kafka/kafka xx.xxx/bin) und führen Sie die folgende Abfrage aus:
      Kopieren
      ./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <ip:port> --topic <topic> --time -1
    3. Um die Ergebnisse aus dem Platform-Analytics-Repository abzurufen, stellen Sie über das DB-Abfragetool oder einen anderen Abfrage-Editor eine Verbindung zum Repository her und führen Sie die folgende Abfrage aus:

      Kopieren
      select * from platform_analytics_wh.lu_topic_partition_offset where id like '%<topic>%'
  3. Konfigurieren Sie den Intelligence Server mit neuen Metadaten neu.

  4. Stellen Sie über das DB-Abfrage-Tool oder einen anderen Abfrage-Editor eine Verbindung zum Platform-Analytics-Repository her, und überprüfen Sie, ob der neue Eintrag in vorhanden ist lu_metadata Tabelle ist ausgefüllt.

  5. Stoppen Sie den Platform Analytics Consumer (PAconsumer)-Prozess.

  6. Tauschen Sie mithilfe des DB-Abfragetools die metadata_ids in der lu_metadata-Tabelle aus, indem Sie eine temporär geänderte metadata_id verwenden, um Primärschlüsselausnahmen zu vermeiden:

    Gliederung

    Kopieren
    UPDATE lu_metadata SET metadata_id = 'TEMPORARY_MD_ID' WHERE metadata_db_connection = 'OLD_MD_CONNECTION';
    UPDATE lu_metadata SET metadata_id = 'OLD_MD_ID' WHERE metadata_db_connection = 'NEW_MD_CONNECTION';
    UPDATE lu_metadata SET metadata_id = 'NEW_MD_ID' WHERE metadata_db_connection = 'OLD_MD_CONNECTION';

    Beispiel

    Kopieren
    UPDATE lu_metadata SET metadata_id = '7051653456108457985' WHERE metadata_db_connection = 'host=10.23.35.94;port=5432;database=platform_metadata;';
    UPDATE lu_metadata SET metadata_id = '7051653456108457984' WHERE metadata_db_connection = 'host=127.0.0.1;port=5432;database=platform_metadata;';
    UPDATE lu_metadata SET metadata_id = '7051946829721636864' WHERE metadata_db_connection = 'host=10.23.35.94;port=5432;database=platform_metadata;';
  7. Starten Sie den Platform Analytics Consumer.

  8. Bestätigen Sie mit der folgenden Abfrage, dass Transaktionen der richtigen Metadaten-ID zugeordnet sind. Die neuen Einträge sollten die alte metadata_id mit der neuen metdata_db_connection haben.

    Kopieren
    SELECT object_name, m.metadata_id, metadata_db_connection, tran_timestamp
    FROM access_transactions a
        JOIN lu_object o ON a.object_id = o.object_id
        JOIN lu_project p ON o.project_id = p.project_id
        JOIN lu_metadata m ON p.metadata_id = m.metadata_id
    WHERE tran_timestamp > NOW() - INTERVAL '5 MINUTE'
    ORDER BY tran_timestamp DESC;
  9. Bereinigen Sie das Platform Analytics Warehouse, um alle Objekte in den Metadaten mit der nicht verwendeten metadata_id mithilfe der folgenden Abfrage zu löschen:

    Kopieren
    doTestBeforePurge: true
    commandsToExecute:
    #  - commandName: DELETE_ALL_DELETED_OBJECTS

    #  - commandName: DELETE_ALL_DELETED_PROJECTS

      - commandName: DELETE_ALL_OBJECTS_IN_METADATA
        metadataList:
          - METADATA_ID_TO_BE_PURGED
    #      - metadataId_2