Log Nginx para syslog na porta TCP

6

Eu preciso redirecionar o acesso Nginx e os logs de erros para um servidor syslog remoto. De link , vi que posso fazer:

error_log syslog:server=192.168.1.1;

No entanto, preciso redirecionar para uma porta TCP específica (não UDP!) e tentei com:

error_log syslog:server=192.168.1.1:3000;

mas não passa. Como pode especificar para o Nginx que a porta deve ser TCP e não UDP?

Muito obrigado!

    
por int 2Eh 14.04.2016 / 13:09

1 resposta

0

Não há como enviar via TCP dessa maneira, o que é uma maneira bastante comum de enviar logs em uma rede, pois você deseja que a entrega da mensagem seja confiável (consulte o módulo RELP para obter evidências dessa necessidade).

Mas também, ser capaz de enviar logs via UDP é bastante comum, vários dispositivos de rede (switches ou roteadores, por exemplo) só são capazes de enviar por UDP, então enviar para um gateway syslog pode ser uma solução, se você não pode adicionar um ouvinte no servidor syslog na porta desejada. Isso receberia seus logs UDP e os enviaria para seu servidor central via TCP.

Eu procuraria coletar os logs no servidor nginx com o rsyslog e encaminhá-los para o servidor central, em vez de confiar no nginx para fazer todo o trabalho. Você pode escolher o protocolo e a porta para enviar para.

    
por 17.10.2018 / 19:52