Logs truncados / perdidos com systemd no Ubuntu 16.04

2

Estou usando o servidor Ubuntu 16.04, criei um script básico de nodejs e o empacotei em um serviço systemd simples.

Conteúdo do api.service em /lib/systemd/system/api.service :

[Unit]
Description=api
After=network.target

[Service]
WorkingDirectory=/var/node/api
ExecStart=/usr/bin/node index.js
Restart=always
RestartSec=5s
StartLimitInterval=60s
StartLimitBurst=5

[Install]
WantedBy=multi-user.target

Quando vejo os logs com journalctl -u api.service -n -f , parece que algumas das minhas linhas de saída de script não são registradas, especialmente quando o script produz muitas linhas de registro em um curto período de tempo.

Por exemplo, se o script nodejs for apenas um loop for simples que produza os primeiros 3000 inteiros, apenas cerca de 2.500 linhas parecem ser registradas nos logs.

Conteúdo do index.js em /var/node/api/index.js :

for (var i = 1; i <= 3000; i++) {
    console.log(i);
}
console.log("end of script");

Ao visualizar os registros com journalctl -u api.service -n -f , recebo apenas cerca de 2.500 linhas:

May 04 13:52:15 test systemd[1]: Stopping api...
May 04 13:52:15 test systemd[1]: Stopped api.
May 04 13:52:15 test systemd[1]: Started api.
May 04 13:52:15 test node[20993]: 1
May 04 13:52:15 test node[20993]: 2
May 04 13:52:15 test node[20993]: 3
May 04 13:52:15 test node[20993]: 4
May 04 13:52:15 test node[20993]: 5
May 04 13:52:15 test node[20993]: 6
...
...
...
May 04 13:52:16 test node[20993]: 2497
May 04 13:52:16 test node[20993]: 2498
May 04 13:52:16 test node[20993]: 2499
May 04 13:52:16 test node[20993]: 2500
May 04 13:52:16 test node[20993]: 2501

Também é importante notar que o "fim do script" também não é enviado, mesmo que eu o atrase com um setTimeout.

Alguma ideia do que está errado aqui?

    
por quentinadam 04.05.2016 / 15:56

1 resposta

4

Isso está acontecendo provavelmente por causa da limitação de taxa no journalctl conf. Verifique RateLimitInterval e RateLimitBurst no arquivo /etc/systemd/journald.conf .

    
por 21.06.2016 / 11:10