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.
- Obtenha o ID do processo do Intelligence Server executando
ps -ef | grep -i mstrsvr
. O ID do processo é 6837 no exemplo abaixo. -
Simule uma falha no servidor executando um
sudo kill -6 <server_process_id>
comando. - 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.
$ 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
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.
-
Usando o
root
permissão, abra o/etc/init.d/mstr-<InstallName>-iserver-CastorServer
script de inicialização. Tipicamente,<InstallName>
é da forma deuser@timestamp
. Localize as seguintes linhas.Copiarstart ()
{ -
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.
Copiarulimit -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.
-
Se você seguiu as etapas em Habilitando dump principal, comente ou remova as seguintes linhas de
/etc/sysctl.conf
.Copiarkernel.core_pattern = /<path_to_the_location>/core/core.%e.%p.%h.%t
fs.suid_dumpable = 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
:CopiarOpenGPGCheck = no
ProcessUnpackaged = yes -
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
.CopiarDumpLocation =/Your_desired/Path_to_generate/the_core_file
-
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 -
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:
- Certifique-se de que o
DumpLocation
existe e pode ser gravado pelo processo ABRT. - Se você personalizar o
DumpLocation
, certifique-se de que seja diferente da pasta especificada paraWatchCrashdumpArchiveDir
, que é outra configuração noabrt.conf
arquivo. - 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.