Log de soluções de problemas

Use informações de diagnóstico e solução de problemas para identificar e tratar problemas comuns que podem ocorrer ao trabalhar com o serviço Logging.

Solução de Problemas do General Unified Monitoring Agent

Requisitos de Hardware

Dependendo dos seus requisitos de registro em log e configuração (número de logs, tipo de buffer e assim por diante), os requisitos de hardware e o desempenho do Agente de Monitoramento Unificado podem variar muito. Quando não houver nenhuma pressão operacional (menos de 1.000 eventos de log por minuto), o agente não deverá consumir mais de 200 MB de RAM e 20% de um núcleo de CPU. Os limites codificados do serviço Agente de Monitoramento Unificado são de 5 GB de RAM e 40% de núcleo. 1 GB de RAM também é recomendado.

Ativado o Monitoramento

O monitoramento pode ajudar na solução de problemas. Consulte Ativando o Monitoramento de Instâncias do Serviço Compute para obter mais informações sobre como ativar o monitoramento (métricas e registro em log) nas instâncias do Oracle Cloud Infrastructure Compute.

Agente de Monitoramento Unificado do Linux

Unidades systemd

O Agente de Monitoramento Unificado baseia-se em unidades systemd e é composto dos seguintes componentes:

  1. unified-monitoring-agent.service: O principal serviço do Agente de Monitoramento Unificado.
  2. unified-monitoring-agent_config_downloader.service: O serviço de atualização automática da configuração.
  3. unified-monitoring-agent_config_downloader.timer: A unidade do timer, que aciona o serviço de download automático nos intervalos especificados aleatórios.
  4. unified-monitoring-agent_restarter.path: A unidade de caminho, que aciona o recarregamento da configuração pelo Agente de Monitoramento Unificado, se uma alteração for detectada (por causa de uma nova configuração que está sendo submetida a download pelo serviço de atualização automático).
Observação

A maioria dos comandos systemctl ou journalctl deve ser executada com privilégios de superusuário (como root ou por meio do sudo).

Para verificar a operação correta dessas unidades systemd, você pode usar o comando systemctl da seguinte forma:

systemctl status <unit_name>

Em que <unit_name> deve ser substituído por um dos seguintes valores:

  1. unified-monitoring-agent.service
  2. unified-monitoring-agent_config_downloader.service
  3. unified-monitoring-agent_config_downloader.timer
  4. unified-monitoring-agent_restarter.path

Em geral, esses comandos systemctl mostram a saída semelhante à seguinte:

systemctl status unified-monitoring-agent.service
   unified-monitoring-agent.service - unified-monitoring-agent: Fluentd based data collector for Oracle Cloud Infrastructure
   Loaded: loaded (/usr/lib/systemd/system/unified-monitoring-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2020-09-29 13:54:03 UTC; 1min 37s ago
     Docs: https://docs.cloud.oracle.com/
  Process: 2337 ExecReload=/bin/kill -USR2 ${MAINPID} (code=exited, status=0/SUCCESS)
  Process: 2321 ExecStart=/opt/unified-monitoring-agent/embedded/bin/fluentd --log /var/log/unified-monitoring-agent/unified-monitoring-agent.log --daemon /var/run/unified-monitoring-agent/unified-monitoring-agent.pid --log-rotate-size 1048576 --log-rotate-age 10 $EXTRA_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2327 (fluentd)
   Memory: 66.3M (limit: 5.0G)
   CGroup: /system.slice/unified-monitoring-agent.service
           ├─2327 /opt/unified-monitoring-agent/embedded/bin/ruby /opt/unified-monitoring-agent/embedded/bin/fluentd --log /var/log/unified-monitoring-agent/unified-monitoring-agent.log --daemon /var/run/unif...
           └─2330 /opt/unified-monitoring-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/unified-monitoring-agent/embedded/bin/fluentd --log /var/log/unified-monitoring-agent/unified-monitoring-agent.lo...
systemctl status unified-monitoring-agent_config_downloader.service
  unified-monitoring-agent_config_downloader.service - unified-monitoring-agent Fluentd configuration downloader.
  Loaded: loaded (/usr/lib/systemd/system/unified-monitoring-agent_config_downloader.service; enabled; vendor preset: disabled)
  Active: inactive (dead) since Tue 2020-09-29 13:54:38 UTC; 1min 30s ago
 Process: 2333 ExecStart=/opt/unified-monitoring-agent/embedded/bin/ruby /opt/unified-monitoring-agent/embedded/bin/fluent_config_updater.rb -c /etc/unified-monitoring-agent/conf.d/ -b 10 (code=exited, status=0/SUCCESS)
Main PID: 2333 (code=exited, status=0/SUCCESS) 
systemctl status unified-monitoring-agent_config_downloader.timer
  unified-monitoring-agent_config_downloader.timer - Run unified-monitoring-agent configuration automatic updater.
   Loaded: loaded (/usr/lib/systemd/system/unified-monitoring-agent_config_downloader.timer; enabled; vendor preset: disabled)
   Active: active (waiting) since Tue 2020-09-29 13:54:03 UTC; 3min 57s ago 
systemctl status unified-monitoring-agent_restarter.path
  unified-monitoring-agent_restarter.path - "Monitor the /etc/unified-monitoring-agent/conf.d/ directory for changes"
   Loaded: loaded (/usr/lib/systemd/system/unified-monitoring-agent_restarter.path; enabled; vendor preset: disabled)
   Active: active (waiting) since Tue 2020-09-29 13:54:03 UTC; 4min 9s ago 

As partes mais importantes da saída do comando systemctl são os campos Loaded e Active. O campo Loaded tem o valor loaded para todas as unidades do sistema. O campo Active tem os seguintes valores:

  • active (running) para a unidade unified-monitoring-agent.service.
  • active (waiting) ou active (running) para as unidades unified-monitoring-agent_restarter.path e unified-monitoring-agent_config_downloader.timer.
  • active (running) ou inactive (dead) para a unidade unified-monitoring-agent_config_downloader.service. Para o último valor, o campo Main PID inclui o valor code=exited, status=0/SUCCESS).

Verificar Processos em Execução

Outra forma de verificar ainda mais a operação correta do Agente de Monitoramento Unificado é verificar os processos em execução do sistema. Ao operar corretamente, o Agente de Monitoramento Unificado executa dois processos: um processo de supervisor e um processo de colaborador. Você pode verificar a existência deles executando o seguinte comando em um terminal (saída de amostra incluída):

ps aux | grep unified-monitoring-agen[t]
root      2327  0.0  2.3 307704 40864 ?        Sl   13:54   0:00 /opt/unified-monitoring-agent/embedded/bin/ruby /opt/unified-monitoring-agent/embedded/bin/fluentd --log /var/log/unified-monitoring-agent/unified-monitoring-agent.log --daemon /var/run/unified-monitoring-agent/unified-monitoring-agent.pid --log-rotate-size 1048576 --log-rotate-age 10
root      2330  0.2  2.1 297456 38192 ?        S    13:54   0:03 /opt/unified-monitoring-agent/embedded/bin/ruby -Eascii-8bit:ascii-8bit /opt/unified-monitoring-agent/embedded/bin/fluentd --log /var/log/unified-monitoring-agent/unified-monitoring-agent.log --daemon /var/run/unified-monitoring-agent/unified-monitoring-agent.pid --log-rotate-size 1048576 --log-rotate-age 10 --under-supervisor

Conforme mostrado na amostra anterior, há dois processos em execução, com os mesmos argumentos, exceto o –under-supervisor extra adicionado ao segundo. Isso denota o processo do colaborador, tornando o processo sem esse parâmetro o supervisor.

Localização do Log do Agente de Monitoramento Unificado

Observação

A maioria dos comandos systemctl ou journalctl deve ser executada com privilégios de superusuário (como root ou por meio do sudo).

Os logs do Agente de Monitoramento Unificado estão disponíveis em /var/log/unified-monitoring-agent/unified-monitoring-agent.log. Esse arquivo inclui logs do próprio Agente de Monitoramento Unificado.

Além dos logs do agente, que não contêm eventos relacionados ao sistema (por exemplo, início do serviço, interrupção do serviço etc.), você também pode exibir os logs do journald, serviço de registro em log do sistema do systemd. Para exibir os logs do sistema específicos de uma unidade, você pode usar o comando journalctl da seguinte forma:

journalctl -u <unit_name>

Em que <unit_name> deve ser substituído por um dos seguintes valores:

  1. unified-monitoring-agent.service
  2. unified-monitoring-agent_config_downloader.service
  3. unified-monitoring-agent_config_downloader.timer
  4. unified-monitoring-agent_restarter.path
Ao consultar logs journald por meio de journalctl, você também pode definir intervalos de tempo específicos:
journalctl --since "2020-12-30 00:00:01" --until "2020-12-31 23:59:59"
O formato de data usado é YYYY-MM-DD HH:MM:SS.
Você também pode personalizar os logs de lançamento adicionando o parâmetro -f:
journalctl -f

O Agente de Monitoramento Unificado não está Instalado

Para instâncias recém-criadas, pode levar até 25 minutos para a instalação automática do agente. Se não estiver instalado após este período, verifique o seguinte:

  1. A conectividade de rede da instância.
  2. Se o monitoramento está ativado na Console.

Você também pode verificar o arquivo de log /var/log/oracle-cloud-agent/plugins/unifiedmonitoring/unifiedmonitoring.log para obter informações sobre a instalação do Agente de Monitoramento Unificado pelo Oracle Cloud Agent.

O Agente de Monitoramento Unificado não está em Execução

Se o status não for carregado ou ativo, nem os processos de supervisor e colaborador estiverem em execução, reinicie o Agente de Monitoramento Unificado e verifique os logs para ver se há problemas:

systemctl restart unified-monitoring-agent

Configuração não submetida a download automaticamente

Certifique-se de ter seguido as etapas em Instalando o Agente e Verificar Instalação do Agente. Consulte o lançamento do serviço de atualização de configuração automática executando:

journalctl -u unified-monitoring-agent_config_downloader.service

Configuração Não Recarregada Automaticamente

Certifique-se de ter seguido as etapas em Instalando o Agente e Verificar Instalação do Agente. Consulte o lançamento de todas as unidades:

  1. A unidade do timer deve ter sido executada pelo menos uma vez.
  2. O serviço de download de configuração automática deve ser executado depois que a unidade de tempo relevante o acionar. Você pode verificar em seus logs se a configuração foi submetida a download e extraída para o diretório de configuração do Agente de Monitoramento Unificado. Você também pode verificar isso listando os arquivos nesse diretório: ls -lhatR /etc/unified-monitoring-agent.
  3. Verifique se a unidade do caminho está ativa verificando seu status: systemctl status unificado-monitoring-agent_restarter.path.
  4. Verifique se um sinal de recarregamento foi recebido pelo Agente de Monitoramento Unificado, inspecionando seu lançamento: journalctl -u unified-monitoring-agent_config_downloader.service. A mensagem "Reloading Unified-monitoring-agent" aparece na saída deste comando.

Testar Padrão de Parsing e Forçar Agente a Fazer Download Imediatamente da Configuração

Execute o seguinte comando:

systemctl restart unified-monitoring-agent_config_downloader
Observação

A atualização automática da configuração no lado do agente pode levar até 30 minutos.

Criar um Log Personalizado para Exibir o Conteúdo de um Log de Alerta de um Sistema de Banco de Dados Usando o OCI

O Agente de Monitoramento Unificado não suporta o sistema de banco de dados.

Coleta de Dados

Se você quiser abrir um ticket para que um engenheiro possa ajudá-lo com seu problema em relação ao Agente de Monitoramento Unificado, inclua a saída dos comandos a seguir. Privilégios de superusuário podem ser necessários para alguns deles.

yum info unified-monitoring-agent
rpm -ql unified-monitoring-agent |  xargs sha512sum
systemctl status --full unified-monitoring-agent.service
systemctl status --full unified-monitoring-agent_config_downloader.service
systemctl status --full unified-monitoring-agent_config_downloader.timer
systemctl status --full unified-monitoring-agent_restarter.path
journalctl -a --no-pager -u unified-monitoring-agent.service
journalctl -a --no-pager -u unified-monitoring-agent_config_downloader.service
journalctl -a --no-pager -u unified-monitoring-agent_config_downloader.timer
journalctl -a --no-pager -u unified-monitoring-agent_restarter.path

Para o Ubuntu, use um comando como o seguinte:

apt show unified-monitoring-agent
dpkg -L unified-monitoring-agent | xargs sha512sum

Inclua também um arquivo compactado dos arquivos em /var/log/unified-monitoring-agent/ e /var/log/oracle-cloud-agent/. É possível criar um arquivo compactado tar gzip desses diretórios com o comando:

tar cvzf agent_logs_$(date +%s).tar.gz /var/log/unified-monitoring-agent/ /var/log/oracle-cloud-agent/

Se o Agente de Monitoramento Unificado estiver em execução mas tiver comportamento errático, você também poderá incluir informações de rastreamento inverso e de perfil de memória, executando o comando a seguir e incluindo os arquivos /tmp/sigdump-<integer>.log no seu relatório (em que <integer> é um número inteiro com 1 a 6 dígitos, embora, em casos raros, possa ter mais que isso).

ps aux | grep unified-monitoring-agen[t] | grep ruby | awk '{print $2}' | xargs kill -SIGCONT

O que esse comando faz é encontrar os PIDs do processo do Agente de Monitoramento Unificado e enviá-los ao sinal SIGCONT, o que faz com que um dump seja gerado no /tmp/sigdump-<integer>.log.

Desinstalar e Reinstalar

Você pode remover o Agente de Monitoramento Unificado, sem remover a configuração do agente, executando o seguinte comando:

yum -y remove unified-monitoring-agent

Para o Ubuntu:

apt -y remove unified-monitoring-agent

A configuração do agente permanece no diretório /etc/unified-monitoring-agent/. Se você não deseja manter a configuração para uma reinstalação futura do pacote do Agente de Monitoramento Unificado, será necessário removê-la manualmente:

# use the following command to print the contents of the agent's configuration directory
find /etc/unified-monitoring-agent/
# use the following command to remove the directory and all of its contents (this step cannot be undone)
rm -rf /etc/unified-monitoring-agent/

O agente é reinstalado automaticamente pelo Oracle Cloud Agent em, no máximo, 25 minutos. É preciso que o monitoramento esteja ativado para a sua instância na Console para que isso ocorra. Consulte Oracle Cloud Agent para obter mais informações.

Agente de Monitoramento Unificado do Windows

Para verificar o status do serviço

  1. O agente é executado como parte de um serviço do Windows, para ver seu status, abra o menu inicial e digite Services.msc e abra-o. Vá para o serviço Oracle Cloud Unified Monitoring Service para ver o status.
  2. Clique com o botão direito do mouse no serviço e selecione Propriedades para obter mais informações. Iniciar/interromper/reiniciar estão disponíveis aqui.
  3. No tipo de menu Iniciar cmd, clique com o botão direito do mouse em Prompt de Comando e selecione Executar como Administrador. Execute os comandos a seguir:
  • Para exibir o status do serviço Agente de Monitoramento Unificado:
    sc query unified-monitoring-agent
  • Reinicie o serviço Agente de Monitoramento Unificado:
    sc stop unified-monitoring-agent
    sc start unified-monitoring-agent
Observação

Os comandos anteriores não funcionam no PowerShell; portanto, você deve usar o Prompt de Comando do Windows.

Para Localizar Erros do Serviço Windows

  1. No menu Iniciar, digite Visualizador de Eventos e selecione-o.
  2. Abra Logs do Windows e, em seguida, Sistema. Toda vez que um serviço é iniciado ou interrompido, falha na execução de ambas as ações ou falha de repente, um registro é feito aqui.
    Observação

    Na maioria das máquinas Windows, há um limite para quantos eventos podem estar no visualizador de eventos. Como resultado, se um evento tiver acontecido há muito tempo, os logs podem não estar disponíveis.

Para Exibir Logs Fluentd

  1. Abra o explorer.exe (ícone de arquivo na barra de tarefas)
  2. Vá para C:\oracle_unified_agent.
  3. Se houver apenas um arquivo, isso significa que não há um arquivo de configuração válido na máquina.
  4. Se houver dois arquivos, haverá um log do supervisor que terá todos os logs de configuração/inicialização e um log do colaborador com todos os logs de parsing/saída. O nome do arquivo de configuração será unified-monitoring-agent.conf, se ele tiver sido submetido a download corretamente.
  5. Execute o Fluentd manualmente. Tente executar as etapas anteriores para identificar o problema, mas, se necessário, você poderá depurar um problema executando o Fluentd manualmente.
    Observação

    A execução do Fluentd é feita manualmente no serviço Windows, que interrompe a execução do serviço normal e é um comportamento diferente do que acontece no Linux.
  6. Use o comando a seguir para executar o Fluentd manualmente. É possível executá-lo no PowerShell ou no Prompt de Comando, mas é preciso que seja executado como Administrador:
    C:\oracle_unified_agent\unified-monitoring-agent\embedded\bin\fluentd -c C:\oracle_unified_agent\unified-monitoring-agent.conf -vv

Etapas de Atualização Automática de Configuração

  1. Verifique se o Agendador de Tarefas está sendo executado conforme esperado.
  2. No menu Iniciar, digite Agendador de Tarefas.
  3. Vá para Agendador de Tarefas (Local) e Biblioteca do Agendador de Tarefas. Localize a tarefa chamada UnifiedAgentConfigUpdater.
  4. Verifique o Horário da Última Execução. Se estiver em uma data inválida ou disser que não foi executado, o horário da Próxima Execução será quando ele deverá ser executado pela primeira vez. Para depuração, selecione a tarefa e selecione Executar se precisar que ela seja executada imediatamente.
  5. Resultado da Última Execução especifica o resultado do download da configuração do plano de controle. Se houver um resultado de erro, será necessário executá-lo manualmente para determinar o que aconteceu. O Agendador de Tarefas não mantém logs de saída.
  6. Execute o atualizador de configuração manualmente.
    Observação

    Execute o atualizador no PowerShell como Administrador para obter a melhor experiência.
    C:\oracle_unified_agent\unified-monitoring-agent\embedded\bin\ruby.exe C:\oracle_unified_agent\unified-monitoring-agent\embedded\lib\ruby\gems\2.6.0\gems\fluent-public-config-updater*\lib\fluent_config_updater.rb -c C:\oracle_unified_agent -b 10

Verificar Logs do Oracle Cloud Agent

Para o Windows Server 2012r2 ou 2016, os locais do arquivo de log são:

  • C:\Users\OCA\AppData\Local\Local\OracleCloudAgent\agent.log
  • C:\Users\OCAUM\AppData\Local\OracleCloudAgent\plugins\unifiedmonitoring\unifiedmonitoring.log (logs de runtime)
  • C:\Users\OCAUM\AppData\Local\OracleCloudAgent\plugins\unifiedmonitoring\unifiedmonitoring_msi.log (logs de instalação)
  • C:\oracle_unified_agent\unified-monitoring-agent-0.log (log do colaborador do agente, que pode não existir dependendo do estado)
  • C:\oracle_unified_agent\unified-monitoring-agent-supervisor-0.log (log do supervisor do agente, que pode não existir dependendo do estado)

Locais do arquivo de log do Windows Server 2019/2022:

  • C:\Windows\ServiceProfiles\OCA\AppData\Local\OracleCloudAgent\agent.log
  • C:\Windows\ServiceProfiles\OCAUM\AppData\Local\OracleCloudAgent\plugins\unifiedmonitoring\unifiedmonitoring.log (logs de runtime)
  • C:\Windows\ServiceProfiles\OCAUM\AppData\Local\OracleCloudAgent\plugins\unifiedmonitoring\unifiedmonitoring_msi.log (logs de instalação)
  • C:\oracle_unified_agent\unified-monitoring-agent-0.log (log do colaborador do agente, que pode não existir dependendo do estado)
  • C:\oracle_unified_agent\unified-monitoring-agent-supervisor-0.log (log do supervisor do agente, que pode não existir dependendo do estado)

Falha Intermitente na Instalação do MSI

Uma falha intermitente na instalação do MSI pode ocorrer por um de dois motivos:

  1. Uma instalação do MSI foi interrompida (reinicialização do sistema, interrupção do processo e assim por diante) e, na segunda execução, o processo msiexec.exe ainda está mantendo um identificador de arquivo em uma pasta que ele criou.
  2. Durante um upgrade em que o MSI não obtém acesso à pasta principal do agente, porque o Ruby.exe não termina como deveria (um problema de Fluentd). Isso faz com que o MSI falhe e limpe o sistema, removendo grande parte do agente (mas não os arquivos de posição ou de buffer).

Em ambos os casos, uma segunda instalação ou permissão para que o Oracle Cloud Agent execute a instalação uma segunda vez resolve esse problema. Se ainda permanecer nesse estado, faça o seguinte:

  1. Interrompa todos os processos de msiexec e ruby no Gerenciador de Tarefas, Detalhes.
  2. Renomeie C:\oracle_unified_agent para C:\oracle_unified_agent_old.
  3. Instale o agente novamente ou aguarde até que o Oracle Cloud Agent o instale.

Caminhos Genéricos não Trabalhando com a Configuração do Agente

Use uma barra (/) ao configurar caminhos para a configuração do agente do Windows. Uma barra invertida (\) com um asterisco (*) não funciona no Windows devido a limitações internas. Para evitar isso, não use um caminho como C:\\path\\to\\*\\foo.log. Em vez disso, use o seguinte método de barra:

path C:/path/to/*/foo.log

Os seguintes caminhos são os exemplos de caminho de trabalho genérico suportados para Windows:

  • C:/logs/*
  • C:/logs/t2*.txt
  • C:/logs/a*b.txt
  • C:/logs/abc*
  • C:/logs/*.txt
  • C:/logs/*/abc*
  • C:/logs/*/a.txt
  • C:/logs/*/a*b.txt
  • C:/logs*/*.txt

No entanto, o caminho genérico C:/logs/*log.txt não funciona para o Windows.