Estou tendo vários sites remotos (configurações de teste), cada um com vários dispositivos Linux, carregando seus diários remotamente para Raspberry Pis naquele site remoto. Estou tentando encaminhar esses diários via AutoSSH para meu escritório, onde tenho um servidor de diário central. A conexão dos sites remotos para o escritório é por dados de celular e não é confiável, há muitas reconexões.
A solução mais fácil é apenas estabelecer o encaminhamento de porta da porta 19532 do diário do Raspberry para o coletor de diário do escritório. Isso funciona bem, exceto quando os pipes AutoSSH estão sendo desconectados. Isso faz com que cada dispositivo perca sua conexão de upload de diário e seus serviços systemd-journal-remote precisem ser reiniciados. Isso acontece automaticamente, sem problemas. Mas isso faz com que vários segundos de dados de diário sejam perdidos.
Existe algum sistema de proxy de diário remoto que possa receber eventos de diário e encaminhá-los de forma confiável para outro host pelo túnel AutoSSH?
Estou usando o Zabbix para monitorar esses sites e dispositivos remotos lá. O Zabbix tem um zabbix-proxy muito inteligente, que roda em Raspberrys de sites remotos e lida muito bem com reconexões AutoSSH, nenhum dado é perdido. Funcionalidade semelhante para logs de diário seria o ideal.
A resposta depende se o seu "escritório" está no modo "ativo" e "puxando" dados do controle remoto, ou se o controle remoto está "enviando" dados para o serviço do escritório no modo "passivo".
No primeiro caso, você pode conseguir fazer algo usando o
Range: <cursor>
cabeçalho http na solicitação de reconexãoObtém o último cursor
journalctl --show-cursor --lines=1
no arquivo recebido até agora.No segundo caso, você deve simplesmente conseguir adicionar a opção
--save-state
aojournal-remote-upload
comando para salvar o último cursor. Não está claro na página do manual se, ao reiniciar, essa opção fará o programa ler o cursor salvo e continuar dali. Se não, você pode usar--after-cursor=....
o valor escrito no arquivo padrão/var/lib/systemd/journal-upload/state
.