Rsyslog tem algumas das funcionalidades que você está descrevendo e o projeto também tem muita documentação sobre o encaminhamento confiável de mensagens .
Em suma, com o rsyslog você pode usar o protocolo RELP para encaminhamento confiável de mensagens syslog e não precisa se preocupar perda de mensagens. E você também tem a opção de configurar arquivos de spool locais, onde o rsyslog armazenará mensagens em buffer caso o servidor remoto esteja inativo. Quando o controle remoto voltar, seu agente irá recuperar o atraso.
Você também tem a opção de configurar o rsyslog para gravar em um banco de dados relacional e, em seguida, pode tornar o banco de dados tão redundante quanto desejar (eu pessoalmente acho um servidor syslog mais fácil de cluster).