MicroStrategy ONE

Problemi con i file core dump

Il core dumping funziona correttamente se il file core viene generato nella cartella di destinazione, ad esempio /<path_to_the_location>/core, durante un arresto anomalo del server. Di seguito sono descritti i passaggi per verificare questa funzionalità sul sistema operativo Linux.

  1. Ottiene l'ID processo di Intelligence Server mediante l'esecuzione ps -ef | grep -i mstrsvr. L'ID processo è 6837 nell'esempio seguente.
  2. Copia
    $ ps -ef | grep -i mstrsvr
    mstr      6837     1  2 12:15 ?        00:02:37 /opt/mstr/MicroStrategy/install/IntelligenceServer/bin/MSTRSvr -s -w /opt/mstr/MicroStrategy/IntelligenceServer -t status-iserver.xml /opt/mstr/MicroStrategy/install/lib/libMSTRSvr2.so -n CastorServer
    mstr     32481 32391  0 14:12 pts/0    00:00:00 grep --color=auto -i mstrsvr
  3. Simulare un arresto anomalo del server eseguendo a sudo kill -6 <server_process_id> comando.

  4. Verificare che venga generato un file core nella cartella di destinazione. Ad esempio, /<path_to_the_location>/core. La dimensione del file principale deve essere diversa da zero.

Se il file core non viene generato secondo la procedura sopra descritta, è necessario identificare la causa principale. Le possibili cause e i passaggi per risolverli sono descritti di seguito.

Configurazione del sistema operativo Linux non valida o mancante

Vedere Requisiti software e raccomandazioni per la corretta configurazione del sistema operativo per abilitare il core dumping. Assicurati di riavviare il server Intelligence dopo aver applicato le impostazioni.

Configurazione mancante quando Intelligence Server è registrato come servizio

Potrebbe essere necessario riavviare il computer Linux per applicare la configurazione del core dump a livello di sistema operativo. Se il core dumping è ancora disabilitato dopo il riavvio, il profilo utente predefinito potrebbe aver disabilitato la creazione dei file core per i processi avviati nella fase init (durante il riavvio della macchina). Per risolvere questo problema, applicare i passaggi seguenti.

  1. Utilizzando root autorizzazione, aprire il file /etc/init.d/mstr-<InstallName>-iserver-CastorServer script di inizializzazione. In genere, <InstallName> ha la forma di user@timestamp. Individua le seguenti righe.

    Copia
    start ()
    {
  2. Sotto le righe individuate, aggiungere il seguente comando per consentire l'avvio di Intelligence Server come servizio con il file core abilitato.

    Copia
    ulimit -c ulimited

Spazio sul disco insufficiente

È necessario assicurarsi che il disco in cui verrà scritto il file core disponga di spazio libero sufficiente. Si noti che il file principale viene scritto nella directory specificata per kernel.core_pattern (vedi Abilitazione del core dump per i dettagli), mentre le dimensioni previste per i file di base sono identiche al footprint di memoria di Intelligence Server al momento dell'arresto anomalo. Inoltre, assicurati che la creazione di file di grandi dimensioni (più di 2 GB) sia supportata quando il tuo computer utilizza Network File System (NFS).

Alternativa: elaborare i file principali utilizzando ABRT in RedHat Enterprise Linux 6 e versioni successive

RedHat Linux versione 6.x e successive viene fornito con uno strumento Automatic Bug Reporting Tool (ABRT) che raccoglie e archivia automaticamente i file core dump in /var/spool/abrt cartella. Se si preferisce questa opzione, sono necessari passaggi aggiuntivi per garantire che il core dumping del server Intelligence possa funzionare insieme ad ABRT. Per una spiegazione dettagliata, fare riferimento a spiegazione ufficiale in merito ad ABRT.

  1. Se sono stati seguiti i passaggi in Abilitazione del core dump, aggiungere un commento o rimuovere le seguenti righe da /etc/sysctl.conf.

    Copia
    kernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
    fs.suid_dumpable = 2
  2. Abilita la raccolta core dump per Intelligence Server, che non è firmato o confezionato da RedHat. A tale scopo, applica le seguenti righe a /etc/abrt/abrt-action-save-package-data.conf:

    Copia
    OpenGPGCheck = no
    ProcessUnpackaged = yes
  3. Configurare la cartella in cui verrà salvato il file principale aggiungendo il seguente parametro /etc/abrt/abrt.conf. Per impostazione predefinita, il parametro è commentato e ha un valore pari a /var/spool/abrt.

    Copia
    DumpLocation =/Your_desired/Path_to_generate/the_core_file
  4. Riavviare il servizio ABRT per applicare le impostazioni sopra menzionate. Assicurarsi di eseguire questi comandi come root.

    Copia
    # service abrtd restart
    # service abrt-ccpp start
  5. Attiva il core dumping e verifica che il file core possa essere creato eseguendo il comando seguente. È fondamentale eseguirlo da /IntelligenceServer cartella e prendere nota del percorso del file principale creato.

    Copia
    # gcore -o <file> <pid>

Diverse note importanti:

  1. Assicurarsi che il DumpLocation esiste ed è scrivibile dal processo ABRT.
  2. Se si personalizza il DumpLocation, assicurarsi che sia diversa dalla cartella specificata per WatchCrashdumpArchiveDir, un'altra impostazione in abrt.conf file.
  3. Se il file di base viene troncato o non ne viene ancora eseguito il dump, è possibile esaminare gli accessi dei messaggi di sistema /var/log/messages per indagare sul motivo per cui il core dumping ha esito negativo.