< Systemd (Português)

systemd (Português)/Journal (Português)

systemd tem o seu próprio sistema de registro chamado de o journal e, portanto, a execução de uma daemon syslog não é mais necessário. Para ler o registro, utilize:

# journalctl

Status de tradução: Esse artigo é uma tradução de systemd/Journal. Data da última tradução: 2019-10-13. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

No Arch Linux, o diretório /var/log/journal/ faz parte do pacote systemd e o journal (quando Storage= está definido para auto em /etc/systemd/journald.conf) vai escrever para /var/log/journal/. Se você ou algum programa excluir esse diretório, systemd não vai recriá-lo automaticamente e, em vez disso,vai escrever seus logs em /run/systemd/journal em uma forma não persistente. Porém, a pasta será recriada quando você definir Storage=persistent e reiniciar systemd-journald.service (ou reinicializar o sistema).

O journal do systemd classifica mensagens por nível de prioridade e facilidade. A classificação de registro de logs corresponde ao clássico protocolo do Syslog (RFC 5424).

Nível de prioridade

Um código de severidade do syslog (em systemd chamado de prioridade) é usado para marcar a importância de uma mensagem RFC 5424 Seção 6.2.1.

ValorSeveridadePalavra-chaveDescriçãoExemplos
0EmergênciaemergSistema não está usávelBUG de kernel severo, núcleo do systemd despejado.
Esse nível não deve ser usado por aplicativos.
1AlertaalertDeve ser corrigido imediatamenteSubsistema vital parou de funcionar. Perda de dados.
.
2CríticocritCondições críticasTravamentos, despejos de núcleo. Como flash familiar:

Falha no aplicativo de sistema principal, como o X11.
3ErroerrCondições de erroErro não severo relatado:
kernel: usb 1-3: 3:1: cannot get freq at ep 0x84,
,
.
4AvisowarningPode indicar que um erro vai ocorrer se uma ação não for tomada.Um sistema de arquivos não raiz tem apenas 1GB livre.
org.freedesktop. Notifications[1860]: (process:5999): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale.
5NotanoticeEventos que são incomuns, mas não condições de erro.. .
6InformacionalinfoMensagens de operação normais que exigem nenhuma ação..
7DepuraçãodebugInformações úteis para desenvolvedores para depurar o aplicativo..

Se você não encontrar uma mensagem no nível de prioridade esperado, pesquise também alguns níveis acima e abaixo: essas regras são recomendações, e o desenvolvedor do aplicativo afetado pode ter uma percepção diferente da importância do problema.

Facilidade

Um código de facilidade syslog é usado para especificar o tipo de programa que está registrando a mensagem RFC 5424 Seção 6.2.1.

Código de facilidadePalavra-chaveDescriçãoInformação
0kernmensagens de kernel
1usermensagens de nível de usuário
2mailsistema de correioO POSIX arcaico ainda tem suporte e é por vezes usado (para mais )
3daemondaemons de sistemasTodos os daemons, incluindo systemd e seus subsistemas
4authmensagens de segurança/autorizaçãoTambém monitora a facilidade 10
5syslogmensagens geradas internamente pelo syslogdPadronizado para syslog, não sendo usado pelo systemd (veja facilidade 3)
6lprsubsistema de impressora de linha (subsistema arcaico)
7newssubsistema de notícias de rede (subsistema arcaico)
8uucpsubsistema UUCP (subsistema arcaico)
9daemon de relógiosystemd-timesyncd
10authprivmensagens de segurança/autorizaçãoTambém monitora a facilidade 4
11ftpdaemon FTP
12-subsistema NTP
13-auditoria de log
14-alerta de log
15crondaemon de agendamento
16local0uso local 0 (local0)
17local1uso local 1 (local1)
18local2uso local 2 (local2)
19local3uso local 3 (local3)
20local4uso local 4 (local4)
21local5uso local 5 (local5)
22local6uso local 6 (local6)
23local7uso local 7 (local7)

Então, facilidades que é útil monitorar: 0,1,3,4,9,10,15.

Filtrando saída

journalctl permite filtrar a saída por campos específicos. Esteja ciente de que, se houver muitas mensagens para exibir ou filtrar um grande intervalo de tempo, a saída desse comando poderá ser atrasada por algum tempo.

Exemplos:

  • Mostrar todas mensagens desta inicialização: No entanto, muitas vezes, alguém está interessado em mensagens que não são da atual, mas da inicialização anterior (por exemplo, se uma falha irrecuperável de sistema ocorrer). Isso é possível através do parâmetro de deslocamento opcional da opção -b: mostra mensagens da inicialização atual, journalctl -b -1 da inicialização anterior, da segunda anterior e por aí vai – você pode ver a lista de inicializações com seus números usando . Veja para descrição completa, a semântica é muito mais poderosa.
  • Mostrar todas as mensagens da data (e hora opcional):
  • Mostrar todas as mensagens desde 20 minutos atrás:
  • Seguir novas mensagens:
  • Mostrar novas mensagens por um executável específico:
  • Mostrar todas as mensagens por um processo específico:
  • Mostrar todas as mensagens por uma unit específica:
  • Mostrar o ring buffer do kernel:
    # journalctl -k
  • Mostrar apenas mensagens de prioridade de erro, crítico e alerta
    # journalctl -p err..alert
    Números também podem ser usados, . Se somente um número/uma palavra-chave usado(a), - todos os níveis de prioridade maiores também são incluídos.
  • Mostrar equivalente a auth.log filtrando na facilidade do syslog:
  • Se o diretório do journal (por padrão, localizado sob ) contém quantidade imensa de dados de log, então pode levar vários minutos filtrando a saída. Você pode acelerar significativamente usando a opção para forçar o a procurar apenas no journal mais recente:

Veja , ou a publicação de blogue do Lennart para detalhes.

Dica: Por padrão, journalctl trunca linhas maiores que a largura da tela, mas em alguns casos pode ser melhor habilitar wrapping em vez de trucamento'. Isso pode ser controlado pela variável de ambiente SYSTEMD_LESS, que contém opções passadas ao less (o paginador padrão) e usa como padrão FRSXMK (veja less(1) e journalctl(1) para detalhes).

Ao omitir a opção S, a saída estará sob wrap em vez de truncamento. Por exemplo, inicie journalctl da seguinte forma:

$ SYSTEMD_LESS=FRXMK journalctl
Se você quiser definir esse comportamento como padrão, exporte a variável a partir de ~/.bashrc ou ~/.zshrc.

Limite no tamanho do journal

Se o journal é persistente (não volátil), seu tamanho limite é definido para um valor padrão de 10% do tamanho do respectivo sistema de arquivos, mas limitado a 4 GB. Por exemplo, com o localizado em uma partição de 20 GB, o journal pode usar até 2 GB. Em uma partição de 50 GB, ela usaria no máximo até 4 GB.

O tamanho máximo do journal persistente pode ser controlado removendo o comentário e alterando o seguinte:

Também é possível usar o mecanismo de substituição de configuração de snippets de drop-in, em vez de editar o arquivo de configuração global. Neste caso, não esqueça de colocar as sobrescrições no cabeçalho :

/etc/systemd/journald.conf.d/00-journal-size.conf
[Journal]
SystemMaxUse=50M

Reinicie o systemd-journald.service após alterar essa configuração para aplicar imediatamente o novo limite.

Veja para mais informações.

Limpar arquivos de journal manualmente

Os arquivos de journal podem ser removidos globalmente de /var/log/journal/ usando, por exemplo, ou podem ser aparados de acordo com vários critérios usando . Exemplos:

  • Remova arquivos de journal armazenados até que o espaço em disco que eles usam fique abaixo de 100 MB:
  • Faça com que todos os arquivos de diário não contenham dados com mais de 2 semanas.

Veja para mais informações.

Journald em conjunto com o syslog

Compatibilidade com uma implementação clássica, sem journald, do syslog pode ser fornecida deixando o systemd encaminhar todas as mensagens pelo soquete . Para fazer funcionar o daemon do syslog com o journal, ele tem que associar a este soquete em vez de (anúncio oficial).

O journald.conf padrão para encaminhar para o soquete é para evitar sobrecarga de sistema, porque rsyslog ou syslog-ng obtêm as mensagens do journal eles mesmo.

Veja Syslog-ng#Overview e Syslog-ng#syslog-ng and systemd journal e rsyslog, para detalhes sobre a configuração.

Encaminhar journald para /dev/tty12

Crie um diretório de drop-in e crie um arquivo fw-tty12.conf nele:

Então, reinicie systemd-journald.service.

Especificar um journal diferente para ver

Pode ser necessário verificar os logs de outro sistema que esteja inativo na água, como a inicialização de um sistema ativo para recuperar um sistema de produção. Nesse caso, pode-se montar o disco em, p. ex., e especificar o caminho do journal via /, assim:

$ journalctl -D /mnt/var/log/journal -xe
gollark: 11622, apparently.
gollark: Also, where are you getting these datas?
gollark: What's my message count?
gollark: I was going to star "i cant hear you, you've been blocked for like a month or something because of being an attention whore", but alas.
gollark: Hmm, apparently you cannot react to messages sent by users who have blocked you. Interesting. This allows testing for blockedness.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.