Como configurar a política de armazenamento de logs por unidade com o journald?

8

Eu tenho um serviço específico que registra informações raras, mas importantes. Configurei alguns meses atrás e hoje executei journalctl -n 50 --unit=my-service apenas para descobrir que não há entradas.

Eu estou perfeitamente feliz com esse comportamento para a maioria das unidades - ou eu preciso de algo que aconteceu imediatamente (ou alguns dias atrás, no máximo), e eu não me preocupo com registros de meses de idade.

No entanto, existe uma maneira de dizer a journald para ter uma política independente de armazenamento e retenção para os registros de uma única unidade em particular? Eu quero persistir nesses registros em particular por, digamos, 5 anos - não importa o tamanho que levaria. Os registros das outras unidades não devem ser afetados por isso e manter o comportamento existente.

Eu meio que perdi o entendimento journald.conf(5) e não consigo descobrir quando a configuração por unidade é possível. Se for - apreciaria um breve exemplo concreto - qual arquivo devo editar / criar e o que devo escrever. Ou, se você tiver certeza, certamente não é possível - essa também seria uma boa resposta.

OBSERVAÇÃO: Meu caso particular envolve o host do Arch Linux, mas acho que isso não deve importar muito.

    
por drdaeman 17.07.2016 / 15:59

1 resposta

5

Parece que estou muito provavelmente sem sorte com o journald. A menos que eu descubra uma maneira de gerar um diário independente de "armazenamento de longo prazo" (como atualmente existem diferentes diários por usuário), mas não tenho certeza se é uma abordagem viável e sã. Eu acho, configurar um syslogd (e logrotate) seria mais fácil.

O recurso não estava presente no final de 2014 , conforme confirmado por O próprio Lennart.

E parece que ainda não está aqui. Pelo menos, a linha "journald: permitir tempos de retenção por prioridade e por serviço ao girar / aspirar" é ainda no arquivo TODO (link para revisão de 2016-07-11).

    
por 19.07.2016 / 14:21