Trabalhando Nativamente com Logs no Linux

A maioria das distribuições Linux já tem um controle nativo dos arquivos de logs, mas ele depende de como o sistema está configurado.
Veremos como isso funciona.

[ Hits: 137 ]

Por: Buckminster em 14/01/2026


Verificando e Configurando Logs



Faça o seguinte, primeiro veja quantos arquivos de logs tem no sistema:
$ ls /var/log | wc -l

52

Aqui deu 52 arquivos de logs.

Depois veja o tamanho (em -52 você pode colocar -10, -20, etc, depende de quantos arquivos você quer visualizar):

$ sudo du -sh /var/log/* | sort -hr | head -52

[sudo] senha para usuario: 309M /var/log/journal 17M /var/log/installer 644K /var/log/chrony 412K /var/log/apt 176K /var/log/wtmp 136K /var/log/dpkg.log.5.gz 120K /var/log/dpkg.log.1 108K /var/log/apache2 96K /var/log/dpkg.log.7.gz 88K /var/log/dpkg.log 80K /var/log/cups 44K /var/log/exim4 36K /var/log/lightdm 32K /var/log/Xorg.0.log.old 32K /var/log/Xorg.0.log 28K /var/log/Xorg.1.log 16K /var/log/dpkg.log.4.gz 12K /var/log/dpkg.log.3.gz 12K /var/log/dpkg.log.2.gz 12K /var/log/aptitude 8,0K /var/log/fontconfig.log 8,0K /var/log/dpkg.log.6.gz 8,0K /var/log/boot.log.7 8,0K /var/log/boot.log.6 8,0K /var/log/boot.log.5 8,0K /var/log/boot.log.4 8,0K /var/log/boot.log.3 8,0K /var/log/boot.log.2 8,0K /var/log/boot.log.1 8,0K /var/log/alternatives.log.7.gz 8,0K /var/log/alternatives.log.5.gz 4,0K /var/log/README 4,0K /var/log/lastlog 4,0K /var/log/aptitude.6.gz 4,0K /var/log/aptitude.5.gz 4,0K /var/log/aptitude.4.gz 4,0K /var/log/aptitude.3.gz 4,0K /var/log/aptitude.2.gz 4,0K /var/log/aptitude.1.gz 4,0K /var/log/alternatives.log.6.gz 4,0K /var/log/alternatives.log.4.gz 4,0K /var/log/alternatives.log.3.gz 4,0K /var/log/alternatives.log.2.gz 4,0K /var/log/alternatives.log.1 4,0K /var/log/alternatives.log 0 /var/log/speech-dispatcher 0 /var/log/runit 0 /var/log/private 0 /var/log/faillog 0 /var/log/btmp.1 0 /var/log/btmp 0 /var/log/boot.log

Repare que aqui, no Debian, essa instalação já tem mais de dois anos e nunca fiz controle nenhum dos logs. O maior log, com 309M, é /var/log/journal e não julgo ser exagerado.

Quer ver todos os logs, pelo menos os do sistema, execute:

$ cd /var/log

$ ls

alternatives.log aptitude.3.gz btmp.1 fontconfig.log alternatives.log.1 aptitude.4.gz chrony installer alternatives.log.2.gz aptitude.5.gz cups journal alternatives.log.3.gz aptitude.6.gz dpkg.log lastlog alternatives.log.4.gz boot.log dpkg.log.1 lightdm alternatives.log.5.gz boot.log.1 dpkg.log.2.gz private alternatives.log.6.gz boot.log.2 dpkg.log.3.gz README alternatives.log.7.gz boot.log.3 dpkg.log.4.gz runit apache2 boot.log.4 dpkg.log.5.gz speech-dispatcher apt boot.log.5 dpkg.log.6.gz wtmp aptitude boot.log.6 dpkg.log.7.gz Xorg.0.log aptitude.1.gz boot.log.7 exim4 Xorg.0.log.old aptitude.2.gz btmp faillog Xorg.1.log

Para ver quanto espaço em disco cada item dentro de /var/log está usando:

$ sudo du -sh /var/log/*

  • sudo - executa como administrador (necessário porque alguns logs só o root pode ler)
  • du (disk usage) → calcula o uso de disco
  • -s (summary) - mostra apenas o total de cada item, sem detalhar subpastas
  • -h (human-readable) - formata os tamanhos de forma legível (KB, MB, GB)
  • /var/log/* - todos os arquivos e diretórios dentro de /var/log

Para ver os 10 maiores ordenando do maior para o menor:

$ sudo du -sh /var/log/* | sort -hr | head -n 10

309M /var/log/journal 17M /var/log/installer 644K /var/log/chrony 412K /var/log/apt 176K /var/log/wtmp 136K /var/log/dpkg.log.5.gz 120K /var/log/dpkg.log.1 108K /var/log/apache2 96K /var/log/dpkg.log.7.gz 88K /var/log/dpkg.log

Lembrando que algum ou outro programa pode instalar seu log em outro lugar que não /var/log ou você mesmo durante a instalação manual pode ter colocado o arquivo de log em outro lugar. A maioria das distribuições Linux, não gera um número fixo de arquivos de log. Em vez disso, ele utiliza o diretório centralizado (/var/log) onde o sistema operacional, o kernel e os aplicativos instalados criam seus arquivos e o próprio sistema gerencia isso.

Caso tenha um crescimento exagerado e por "crescimento exagerado" estou falando de coisa de GBs para cima, então é por que tem algum problema no sistema e você terá de identificar qual o problema de o sistema aumentar exageradamente os logs ou um log em específico.

Por exemplo, no meu caso o maior dos logs é /var/log/journal. Nesse caso posso editar o arquivo de configuração:

$ sudo vim /etc/systemd/journald.conf

Usei o vim, use teu editor preferido. Veja as opções abaixo, que nem estão configuradas, mas, por exemplo, em "SystemMaxUse=" posso definir o tamanho máximo total para os logs (500M para 500MB, 1G para 1GB, etc).

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=0
#MaxFileSec=1month
#ForwardToSyslog=no
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#MaxLevelSocket=debug
#LineMax=48K
#ReadKMsg=yes
#Audit=yes

Depois de alterar o arquivos, salve e saia.

Reinicie o serviço:

$ sudo systemctl restart systemd-journald

Para ver quanto ele está usando:

$ journalctl --disk-usage

Hint: You are currently not seeing messages from other users and the system. Users in groups 'adm', 'systemd-journal' can see all messages. Pass -q to turn off this notice. Archived and active journals take up 59.5M in the file system.

Diz que está usando 59.5M, porém, com o comando "du" mostra 309M.

É que o comando "journalctl --disk-usage" mostra apenas o espaço que o journald considera válido e utilizável, enquanto que o comando "du" soma todo o espaço ocupado no disco pelo diretório incluindo arquivos .journal ativos, arquivos arquivados, arquivos já marcados como deletados mas ainda abertos pelo systemd-journald e overhead do filesystem (blocos alocados), etc.

O journalctl mostra o uso lógico, não o físico.

Reiniciando o journald, os valores ficarão praticamente iguais:

$ sudo systemctl restart systemd-journald

$ sudo du -sh /var/log/journal

309M /var/log/journal

$ sudo journalctl --disk-usage

Archived and active journals take up 308.4M in the file system.

$ journalctl --disk-usage

Hint: You are currently not seeing messages from other users and the system. Users in groups 'adm', 'systemd-journal' can see all messages. Pass -q to turn off this notice. Archived and active journals take up 59.5M in the file system.

Veja que, o comando journalctl com sudo mostra um valor (308.4M) e sem sudo mostra 59.5M.

Na saída sem o sudo está a explicação dizendo que não estamos vendo as mensagens dos outro usuários e do sistema. Para ver todo o tamanho é só usar sudo.

Para reduzir o tamanho para 100M:

$ sudo journalctl --vacuum-size=100M

Ou só últimos 7 dias:

$ sudo journalctl --vacuum-time=7d

Para mais opções:

$ man journalctl

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Verificando e Configurando Logs
   3. Configurando Logs
   4. Conclusão
Outros artigos deste autor

VMD no Debian - Instalação e configuração

Instalação do PostgreSQL com Apache 2, PHP 5, OpenSSL no Debian Wheezy 7.7 64 bits com systemd e chroot

Instalar certificado SSL/TLS digital válido gratuito no Linux

DHCP com controle de IP e compartilhamento no Debian Squeeze

Como utilizar de forma correta os repositórios e pacotes Backports

Leitura recomendada

Configurando o Roundcube Webmail

Instalação e configuração do RT (Resquest Tracker)

OpenLdap no Debian Squeeze

Configurando Nocat + Radius modo passive

Instalação do winmodem HSP56 Pctel no Slackware

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts