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:
- unified-monitoring-agent.service: O principal serviço do Agente de Monitoramento Unificado.
- unified-monitoring-agent_config_downloader.service: O serviço de atualização automática da configuração.
- unified-monitoring-agent_config_downloader.timer: A unidade do timer, que aciona o serviço de download automático nos intervalos especificados aleatórios.
- 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).
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:
unified-monitoring-agent.service
unified-monitoring-agent_config_downloader.service
unified-monitoring-agent_config_downloader.timer
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)
ouactive (running)
para as unidades unified-monitoring-agent_restarter.path e unified-monitoring-agent_config_downloader.timer.active (running)
ouinactive (dead)
para a unidade unified-monitoring-agent_config_downloader.service. Para o último valor, o campoMain PID
inclui o valorcode=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
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:
unified-monitoring-agent.service
unified-monitoring-agent_config_downloader.service
unified-monitoring-agent_config_downloader.timer
unified-monitoring-agent_restarter.path
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.-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:
- A conectividade de rede da instância.
- 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:
- A unidade do timer deve ter sido executada pelo menos uma vez.
- 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.
- Verifique se a unidade do caminho está ativa verificando seu status: systemctl status unificado-monitoring-agent_restarter.path.
- 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
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
- 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.
- 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.
- 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
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
- No menu Iniciar, digite Visualizador de Eventos e selecione-o.
- 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
- Abra o explorer.exe (ícone de arquivo na barra de tarefas)
- Vá para C:\oracle_unified_agent.
- Se houver apenas um arquivo, isso significa que não há um arquivo de configuração válido na máquina.
- 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.
- 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. - 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
- Verifique se o Agendador de Tarefas está sendo executado conforme esperado.
- No menu Iniciar, digite Agendador de Tarefas.
- Vá para Agendador de Tarefas (Local) e Biblioteca do Agendador de Tarefas. Localize a tarefa chamada UnifiedAgentConfigUpdater.
- 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.
- 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.
- 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:
- 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.
- 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:
- Interrompa todos os processos de msiexec e ruby no Gerenciador de Tarefas, Detalhes.
- Renomeie C:\oracle_unified_agent para C:\oracle_unified_agent_old.
- 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.