MicroStrategy ONE

Mantieni l'integrità delle statistiche durante gli aggiornamenti in parallelo, la migrazione dei metadati o la clonazione

Aggiornamento in parallelo o migrazione dei metadati con Platform Analytics

Platform Analytics è uno strumento di telemetria che supporta l'acquisizione di telemetria da più distribuzioni MicroStrategy contemporaneamente. Platform Analytics dispone di un modo univoco per identificare ogni connessione metadati a Intelligence Server.

Quando un amministratore riconfigura Intelligence Server con un backup dei metadati diverso, Platform Analytics riconosce immediatamente la modifica e inizia a registrare una nuova telemetria associata ai nuovi metadati.

A seconda dell'obiettivo, non sono necessarie altre azioni. Ad esempio, se è stato creato un secondo ambiente come ambiente di test o sandbox. Se si desidera continuare ad acquisire i dati di telemetria nello stesso repository di metadati, vedere di seguito:

Se uno dei seguenti parametri cambia, Platform Analytics considera i metadati nuovi e viene visualizzata una riga aggiuntiva in lu_metadata tabella:

  • metadata_guid Un GUID per metadati univoco viene generato e archiviato quando vengono creati nuovi metadati tramite la configurazione guidata.
  • host Il server che ospita il server di database.
  • port La porta su cui viene eseguito il server di database.
  • database Il nome del database di metadati.
  • uid/sid Questo campo è utilizzato solo per database Oracle.

I parametri sopra elencati vengono elaborati in base ai valori forniti nel DSN dei metadati. Il DSN dei metadati si trova in odbc.ini per Linux e il file ODBC Amministratore origine dati per Windows.

Per ripristinare i dati di telemetria e garantire l'acquisizione di tutti i dati di telemetria, attenersi alla seguente procedura:

  1. Mantieni operativi i servizi di Platform Analytics. Ad esempio, Zookeeper, Kafka, PAconsumer, REDIS, ecc.
  2. Per garantire che Platform Analytics abbia completato l'elaborazione della telemetria esistente prima di apportare modifiche alla configurazione, controllare il numero di corrispondenze dei messaggi di telemetria per verificare la presenza di argomenti di scarto o se differiscono in modo trascurabile tra il server di telemetria (ad esempio, Kafka) e il repository di Platform Analytics:
    1. MicroStrategy consiglia di controllare i messaggi provenienti dai seguenti argomenti o aree tematiche principali:
      1. IsReportStats
      2. IsDocumentStats
      3. IsSessionStats
    2. Per ottenere il risultato dal server di telemetria, accedere alla relativa directory di installazione (ad esempio, opt/ MicroStrategy/Messaging Services/Kafka/kafka xx.xxx/bin) ed eseguire la seguente query:
      Copia
      ./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list <ip:port> --topic <topic> --time -1
    3. Per ottenere il risultato da Platform Analytics Repository, connettersi al repository tramite DB Query Tool o un altro editor di query ed eseguire la query seguente:

      Copia
      select * from platform_analytics_wh.lu_topic_partition_offset where id like '%<topic>%'
  3. Riconfigurare Intelligence Server con nuovi metadati.

  4. Effettuare la connessione a Platform Analytics Repository tramite lo strumento Query database o un altro editor di query e verificare che la nuova voce in lu_metadata la tabella è popolata.

  5. Arrestare il processo Platform Analytics Consumer (PAconsumer).

  6. Utilizzando lo strumento Query database, invertire metadata_id nella tabella lu_metadata utilizzando un metadata_id temporaneamente modificato per evitare eccezioni di chiave primaria:

    Contorno

    Copia
    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';

    Esempio

    Copia
    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. Avviare il consumatore Platform Analytics.

  8. Confermare che le transazioni sono mappate al metadata_id corretto utilizzando la query seguente. Le nuove voci dovrebbero avere il precedente metadata_id con la nuova metadata_db_connection.

    Copia
    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. Eliminare Platform Analytics Warehouse per eliminare tutti gli oggetti nei metadati con metadata_id inutilizzato, utilizzando la seguente query:

    Copia
    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