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: 135 ]

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

Permissões do Linux

Enviar mensagem ao usuário trabalhando com as opções do php.ini

Como um monte de letras de um código fonte transforma-se em voltagens?

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

Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

Leitura recomendada

Utilizando o PcManFm

Ubuntu-Tweak: Como instalar (Ubuntu Hardy Heron)

Instalando o Adminer, do jeito certo, no Debian

Window Maker 0.95.4 no Debian Testing - Instalação, configuração e dicas

OcoMon no CentOS - Instalação e configuração

  
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