logger bootstrap realmente básico - (de preferência syslog, cascata para http / raw)

1

Eu tenho um script de shell de bootstrap que é executado como a primeira coisa quando um servidor Linux fresco é inicializado no modo multiusuário com rede.

Quando estiver completo, gostaria de relatar o status do erro para um servidor loghost central, que atualmente está executando o syslog-ng com a porta udp / tcp 514 e um servidor web na porta 80 (portanto, eu poderia usar php / perl para ouvir mensagens formatadas em http ...)

No entanto, não consigo instalar nenhum pacote, pois a compilação é especificada pelo cliente e também gostaria de não fazer nenhuma alteração nos arquivos de configuração. Portanto, o syslog é primitivo e, possivelmente, o wget / curl não está instalado.

Eu ia fazer algo assim:

exec 3<>/dev/tcp/www.google.com/80
echo -e “GET / HTTP/1.1\nhost: http://loghost.local/message\n\n” >&3

mas acontece que esses dispositivos estão desativados nas caixas do Debian.

Eu posso obviamente colocar em cascata as diferentes opções, por exemplo:

if [ -x wget ]; then
  echo "using wget to post message"
elif [ -x curl ]; then
  echo "using curl to post message"
elif [  ]; then
  exec 3<>/dev/tcp/loghost.local/80
  echo -e “GET / HTTP/1.1\nhost: http://loghost.local/message\n\n” >&3
else
  echo nc ## some netcat command so send stuff to udp 514...
fi
O logger

parece apenas suportar conexões locais e de socket, e presumivelmente sofre com a restrição debian

Parece que tenho muitas opções, pois posso configurar muitas coisas no serviço. Uma dessas idéia muito boba era configurar o servidor de nomes local para armazenar em cache os registros que faltavam em determinados domínios e fazer com que o script de inicialização fosse executado como

getent hosts logmessage.sourceserver.mydomain.com

e, presumivelmente, eu poderia analisar o status do arquivo de log nomeado ...; -)

obviamente, o netcat é uma opção se estiver instalado, no entanto, alguns dos servidores compilam de forma agressiva coisas como o netcat porque é muito flexível.

De qualquer forma, esse problema é mais para interesse informacional do que para propósitos práticos, porque eu posso trocar temporariamente o arquivo syslog.conf, mas seria interessante fazê-lo sem tocar no servidor de remoção ...

    
por Tom H 31.12.2011 / 01:51

0 respostas