MicroStrategy ONE

Problemas do arquivo de despejo principal

O core dump está funcionando corretamente se o arquivo principal for gerado na pasta de destino, por exemplo, /<path_to_the_location>/core, durante uma falha no servidor. As etapas para verificar essa funcionalidade no sistema operacional (SO) Linux são descritas abaixo.

  1. Obtenha o ID do processo do Intelligence Server executando ps -ef | grep -i mstrsvr. O ID do processo é 6837 no exemplo abaixo.
  2. Copiar
    $ 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. Simule uma falha no servidor executando um sudo kill -6 <server_process_id> comando.

  4. Verifique se um arquivo principal foi gerado na pasta de destino. Por exemplo, /<path_to_the_location>/core. O tamanho do arquivo principal deve ser diferente de zero.

Se o arquivo principal não for gerado de acordo com o procedimento acima, você deverá identificar a causa raiz. As possíveis causas e etapas para corrigi-las são descritas abaixo.

Configuração do sistema operacional Linux inválida ou ausente

Ver Requisitos e recomendações de software para a configuração correta do sistema operacional para permitir o core dumping. Certifique-se de reiniciar o Intelligence Server após aplicar as configurações.

Configuração ausente quando o Intelligence Server é registrado como um serviço

Sua máquina Linux pode precisar de uma reinicialização para aplicar a configuração de core dump no nível do sistema operacional. Se o core dump ainda estiver desabilitado após a reinicialização, o perfil de usuário padrão pode ter desabilitado a criação de arquivos principais para processos iniciados na fase inicial (durante a reinicialização da máquina). Para corrigir isso, aplique as etapas abaixo.

  1. Usando o root permissão, abra o /etc/init.d/mstr-<InstallName>-iserver-CastorServer script de inicialização. Tipicamente, <InstallName> é da forma de user@timestamp. Localize as seguintes linhas.

    Copiar
    start ()
    {
  2. Abaixo das linhas localizadas, adicione o seguinte comando para permitir que o Intelligence Server seja iniciado como um serviço com o arquivo principal habilitado.

    Copiar
    ulimit -c ulimited

Espaço em disco insuficiente

Você deve garantir que o disco onde o arquivo principal será gravado tenha espaço livre suficiente. Observe que o arquivo principal é gravado no diretório especificado para kernel.core_pattern (ver Habilitando dump principal para obter detalhes), enquanto o tamanho esperado dos arquivos principais é idêntico ao consumo de memória do Intelligence Server quando ele travou. Além disso, certifique-se de que a criação de arquivos grandes (mais de 2 GB) seja suportada quando sua máquina usar Network File System (NFS).

Alternativa: Processar arquivos principais usando ABRT no RedHat Enterprise Linux 6 e mais recente

RedHat Linux versão 6.x e mais recente são fornecidos com uma Ferramenta Automática de Relatório de Bugs (ABRT) que coleta e armazena automaticamente arquivos de core dump no /var/spool/abrt pasta. Se preferir, serão necessárias etapas adicionais para garantir que o core dumping do Intelligence Server possa funcionar em conjunto com o ABRT. Para uma explicação detalhada, consulte o explicação oficial sobre ABRT.

  1. Se você seguiu as etapas em Habilitando dump principal, comente ou remova as seguintes linhas de /etc/sysctl.conf.

    Copiar
    kernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
    fs.suid_dumpable = 2
  2. Habilite a coleta de core dump para o Intelligence Server, que não é assinado ou empacotado pela RedHat. Faça isso aplicando as seguintes linhas em /etc/abrt/abrt-action-save-package-data.conf:

    Copiar
    OpenGPGCheck = no
    ProcessUnpackaged = yes
  3. Configure a pasta onde o arquivo principal será salvo, adicionando o seguinte parâmetro ao /etc/abrt/abrt.conf. Por padrão, o parâmetro é comentado e tem um valor de /var/spool/abrt .

    Copiar
    DumpLocation =/Your_desired/Path_to_generate/the_core_file
  4. Reinicie o serviço ABRT para aplicar as configurações mencionadas acima. Certifique-se de executar esses comandos como root.

    Copiar
    # service abrtd restart
    # service abrt-ccpp start
  5. Acione o core dump e verifique se o arquivo core pode ser criado executando o comando abaixo. É fundamental executar isso a partir do /IntelligenceServer pasta e anote a localização do arquivo principal criado.

    Copiar
    # gcore -o <file> <pid>

Várias notas importantes:

  1. Certifique-se de que o DumpLocation existe e pode ser gravado pelo processo ABRT.
  2. Se você personalizar o DumpLocation, certifique-se de que seja diferente da pasta especificada para WatchCrashdumpArchiveDir, que é outra configuração no abrt.conf arquivo.
  3. Se o arquivo principal estiver truncado ou ainda não estiver sendo despejado, você poderá revisar os logs de mensagens do sistema em /var/log/messages para investigar por que o core dumping falha.