Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use este artigo para diagnosticar e resolver problemas em que os eventos de syslog em uma VM do Linux não são coletados ou encaminhados para um workspace Log Analytics por Azure Monitor Agent.
Durante a instalação, o Azure Monitor Agent instala uma configuração de saída para o daemon syslog do sistema. Essa configuração define como encaminhar eventos do daemon para Azure Monitor Agent. Você pode encontrá-lo em:
-
/etc/rsyslog.d/10-azuremonitoragent-omfwd.confpara rsyslog (a maioria das distribuições do Linux) -
/etc/syslog-ng/conf.d/azuremonitoragent-tcp.confpara syslog-ng
O Agente do Azure Monitor escuta em uma porta TCP (registrada em /etc/opt/microsoft/azuremonitoragent/config-cache/syslog.port) para receber eventos de rsyslog ou syslog-ng. Ele filtra esses eventos com base em valores de facilidade ou severidade definidos na regra de coleta de dados (DCR) localizada em /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/. O agente descarta eventos que não correspondem à configuração do DCR.
Observação
Antes da versão 1.28, Azure Monitor Agent usava um soquete de domínio Unix em vez de uma porta TCP para receber eventos do rsyslog. O omfwd módulo de saída no rsyslog oferece mecanismos de spool e repetição para melhorar a confiabilidade.
Azure Monitor Agent analisa mensagens de syslog de entrada de acordo com RFC3164 e RFC5424 e também dá suporte a formatos other. Ele determina o endpoint de destino para cada evento do DCR e tenta carregar os eventos corretamente.
Observação
- Se o Azure Monitor Agent estiver inacessível ou enfrentando atrasos, o daemon syslog armazena temporariamente os eventos usando suas filas internas.
- Se Azure Monitor Agent não carregar eventos recebidos de rsyslog ou syslog-ng, ele os enfileira em
/var/opt/microsoft/azuremonitoragent/eventsusando seu mecanismo de persistência local.
Diagnosticar falhas de upload do syslog
Se Azure Monitor Agent receber com êxito eventos de syslog de rsyslog ou syslog-ng, mas os dados não aparecerem no workspace Log Analytics, as causas mais comuns estarão relacionadas à conectividade, configuração ou autenticação – não ao uso de disco local.
As causas mais comuns incluem:
A REGRA de Coleta de Dados (DCR) não está associada ao computador
Se você não associar um DCR (ou se associar o DCR errado), Azure Monitor Agent não saberá para onde enviar os dados.O DCR não inclui uma fonte de dados do syslog ou a instalação/gravidade não corresponde
Nesse caso, Azure Monitor Agent descarta os eventos depois de recebê-los.A máquina não pode alcançar os pontos de extremidade de ingestão do Azure Monitor
Essa condição geralmente é causada por:- Restrições de firewall de saída
- Má configuração de Proxy
- Ausência de tags de serviço ou de pontos de extremidade necessários em redes restritas
A configuração de TLS ou proxy impede conexões de saída
Se um proxy for necessário e não estiver configurado para Azure Monitor Agent, as tentativas de upload falharão.A identidade gerenciada ou credenciais de Azure usadas pelo agente não podem ser autenticadas
Essa condição pode ocorrer se a extensão do agente não for provisionada corretamente.
Para solucionar problemas de upload e conectividade, confira as seguintes diretrizes:
- Solucionar problemas do agente do Azure Monitor em máquinas virtuais do Linux e conjuntos de dimensionamento
- Como usar o solucionador de problemas do Agente de Monitoramento do Azure para Linux
- Pontos de extremidade de rede requeridos para Azure Monitor Agent
Se Azure Monitor Agent estiver recebendo eventos de syslog, mas não puder carregá-los, ele normalmente registrará erros relacionados à conectividade ou à autenticação em:
/var/opt/microsoft/azuremonitoragent/log/mdsd.err
Os dados do Rsyslog não são carregados devido ao espaço em disco completo
Sintoma
Os dados do Syslog não estão sendo carregados: Quando você inspeciona os logs de erros em /var/opt/microsoft/azuremonitoragent/log/mdsd.err, você vê entradas sobre erro ao inserir item no repositório persistente local... Sem espaço no dispositivo... semelhante ao seguinte trecho:
2021-11-23T18:15:10.9712760Z: Error while inserting item to Local persistent store syslog.error: IO error: No space left on device: While appending to file: /var/opt/microsoft/azuremonitoragent/events/syslog.error/000555.log: No space left on device
Causa
O Agente do Azure Monitor para Linux faz buffer de eventos para /var/opt/microsoft/azuremonitoragent/events antes da ingestão. Em uma instalação padrão Azure Monitor Agent para Linux, esse diretório leva cerca de 650 MB de espaço em disco em ocioso. O tamanho no disco aumenta quando ele está sob carga de registro sustentada. Ele é limpo a cada 60 segundos e reduz-se para aproximadamente 650 MB quando a carga retorna ao estado ocioso.
Confirmar o problema de disco cheio
O comando df mostra quase nenhum espaço disponível em /dev/sda1, conforme mostrado na saída a seguir. Você deve examinar o item de linha que se correlaciona ao diretório de log (por exemplo, /var/log, /varou /).
df -h
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 720K 13G 1% /run
/dev/sda1 29G 29G 481M 99% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda15 105M 4.4M 100M 5% /boot/efi
/dev/sdb1 251G 61M 239G 1% /mnt
tmpfs 13G 0 13G 0% /run/user/1000
Você pode usar o comando du para inspecionar o disco para determinar quais arquivos estão fazendo com que o disco esteja cheio. Por exemplo:
cd /var/log
du -h syslog*
6.7G syslog
18G syslog.1
Em alguns casos, du pode não relatar arquivos ou diretórios grandes. É possível que um arquivo marcado como (excluído) esteja ocupando o espaço. Essa situação pode acontecer quando um processo tenta excluir um arquivo, mas um processo diferente ainda tem o arquivo aberto.
Você pode usar o comando lsof para verificar tais arquivos. No exemplo a seguir, você verá que /var/log/syslog está marcado como excluído, mas ocupa 3,6 GB de espaço em disco. Ele não é excluído porque um processo com o PID 1484 ainda tem o arquivo aberto.
sudo lsof +L1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
none 849 root txt REG 0,1 8632 0 16764 / (deleted)
rsyslogd 1484 syslog 14w REG 8,1 3601566564 0 35280 /var/log/syslog (deleted)
A configuração padrão do rsyslog registra todas as instalações em /var/log/
Em algumas distribuições populares, como o Ubuntu 18.04 LTS, o rsyslog é fornecido com um arquivo de configuração padrão (/etc/rsyslog.d/50-default.conf). Essa configuração registra eventos de quase todas as instalações em disco em /var/log/syslog. Os eventos do Syslog da família RedHat são armazenados em /var/log/, mas em um arquivo diferente: /var/log/messages.
Azure Monitor Agent não depende dos eventos do Syslog que estão sendo registrados no /var/log/. Em vez disso, ele configura o serviço rsyslog para encaminhar eventos em uma porta TCP diretamente no processo de serviço de azuremonitoragent (mdsd).
Remover recursos de alto volume da configuração padrão do rsyslog
Se você estiver enviando um volume do log alto por meio do rsyslog e seu sistema estiver configurado para registrar eventos para essas instalações, considere modificar a configuração padrão do rsyslog para evitar o registro em log e armazená-lo em /var/log/. Os eventos para esta instalação ainda são encaminhados para o Agente do Azure Monitor porque o rsyslog usa uma configuração distinta para o encaminhamento colocado em /etc/rsyslog.d/10-azuremonitoragent-omfwd.conf.
Para evitar que os eventos
local4sejam registrados em/var/log/syslogou/var/log/messages, altere a linha no/etc/rsyslog.d/50-default.confa partir deste trecho:*.*;auth,authpriv.none -/var/log/syslogPara este trecho (adicione
local4.none;):*.*;local4.none;auth,authpriv.none -/var/log/syslogsudo systemctl restart rsyslog
Próximas Etapas
Se as etapas neste artigo não resolverem o problema, confira: