Que tipo de serviço o svlogd do runit está esperando?

1

O manual do runit afirma que na configuração pode-se usar uma opção para enviar logs para:

ua.b.c.d[:port] tells svlogd to transmit the first len characters of selected log messages to the IP address a.b.c.d, port number port. If port isn’t set, the default port for syslog is used (514). len can be set through the -l option, see below. If svlogd has trouble sending udp packets, it writes error messages to the log directory. Attention: logging through udp is unreliable, and should be used in private networks only.

Eu sei que rsyslogd está executando a lista nesta porta. Então, isso poderia ser uma opção possível ...
Mas há algum outro?

    
por Oz123 14.11.2014 / 09:15

1 resposta

2

A pergunta é um pouco vaga, mas pelo que parece, você está perguntando se pode usar svlogd para enviar mensagens syslog para outro programa além de rsyslogd . A resposta é: qualquer programa que fornecesse um serviço de syslog seria suficiente. Há mais do que apenas rsyslogd que fornece um serviço de rede syslog.

No entanto, a maneira como o runit se destina a manipular o log "nativamente" provavelmente está atrasado em relação ao que você está pensando.

A idéia é que você tenha algum tipo de serviço, e esse serviço grava a saída por stdout ou stderr. O programa runsv exibirá svlogd e erigirá um canal entre seu serviço e svlogd ; tudo o que o seu serviço tem a fazer é enviar dados para o stdout / stderr, o svlogd irá gravar diretamente no disco, e a vida é boa. Como o pipe é mantido por runsv , deve haver problemas com o serviço sendo interrompido, a saída ainda é capturada e entregue em svlogd - portanto, em teoria , você não perde os dados de log devido a uma falha de serviço.

Existe outro programa do mesmo autor, socklog , que funciona como um front-end de syslog que canaliza para um% código%. Como há muitos programas que apenas assumem que svlogd está disponível, /dev/log fornece essa interface para que os dados do syslog possam ser capturados - ela atua como um serviço de syslog substituto. Isto é o oposto do que você está sugerindo.

Eu não estou dizendo que você não deveria usar o syslog, só estou dizendo que há mais de uma maneira de fazer isso. Se você realmente quiser desviar sua saída do svlogd de volta para o syslog, então sim, qualquer serviço syslog antigo funcionará bem, mas pode valer a pena considerar a opção "all native" e a exclusão de socklog , se sua instalação permitir isso.

    
por 17.12.2014 / 01:50

Tags