Para mim, isso acabou sendo um problema de como o módulo imuxsock usado no rsyslog estava trabalhando com o systemd.
Na documentação do imuxsock, eles mostram como o módulo deve funcionar para o systemd. A Etapa 1 foi onde eu estava vendo problemas:
Etapa 1: Selecione o nome do soquete do sistema
Se o usuário não escolheu explicitamente definir SysSock.Use = "off", o nome do soquete do ouvinte padrão (também conhecido como “soquete de log do sistema” ou simplesmente “soquete do sistema”) é definido como / dev / log. Caso contrário, se o usuário tiver definido explicitamente SysSock.Use = "off", o rsyslog não escutará / dev / log OU qualquer soquete definido pelo parâmetro SysSock.Name e o restante desta seção não se aplicará.
Se o usuário especificou sysSock.Name = "/ path / to / custom / socket" (e não definir explicitamente SysSock.Use = "off"), o nome do soquete do ouvinte padrão será substituído por / path / to / custom / socket .
Caso contrário, se o rsyslog estiver sendo executado em systemd AND / run / systemd / journal / syslog ((E o usuário não tiver definido explicitamente SysSock.Use = "off"), o nome do soquete do ouvinte padrão será substituído por / run / systemd / journal / syslog.
O sistema deve ter caído na Etapa 3 e alterado o caminho padrão para "/ run / systemd / journal / syslog", mas permaneceu "/ var / log". Isso significava que o módulo imuxsock tentaria (e terá êxito às vezes) criar um soquete em / dev / log, onde deveria haver um link simbólico criado pelo systemd-journald-dev-log.socket. No caso de falha na criação do soquete real, o link simbólico ainda será removido.
Essa documentação foi o resultado desse problema relatado no rsyslog github. Se você quiser pular a discussão e pular direto para as alterações, consulte PR # 1 e PR # 2, respectivamente.
Minha solução foi apenas configurar o módulo imuxsock para usar o caminho systemd no meu /etc/rsyslog.conf:
module(load="imuxsock"
SysSock.Name="/run/systemd/journal/syslog")
Isso parece ter corrigido meu problema e parece uma boa solução aqui, pois explicaria por que o link simbólico pode desaparecer novamente depois que você o criou manualmente.
Se você procurar no seu sistema e "/ run / systemd / journal / syslog" não estiver presente, consulte o "syslog.socket" para ver se está iniciando com êxito, pois é o responsável pela criação do soquete.
systemctl status syslog.socket
Pode ser que sua versão do rsyslog.service não defina syslog.service como um alias necessário, pois o syslog.socket tenta ativar esse serviço. Também é possível que vários serviços de registro tentem alias syslog.service, caso em que o último a ser ativado vence.