Remetente do Logstash e servidor no samebox

1

Estou tentando configurar uma configuração central do logstash. No entanto, gostaria de enviar meus logs através do syslog-ng e não de terceiros. Isso significa que meu servidor logstash está aceitando via syslog-ng todos os logs dos agentes.

Eu então preciso instalar um processo logstash que irá ler / var / log / syslog-clients / * e pegar todos os arquivos de log que são enviados para o servidor de log central. Esses logs serão enviados para redis na mesma VM.

Em teoria eu preciso também configurar um segundo processo de logstash que irá ler os redis e começar a indexar os logs e enviá-los para o elasticsearch.

Minha pergunta:

Eu tenho que usar dois processos logstash diferentes (remetente e servidor), mesmo se eu estiver na mesma caixa (eu quero uma instância do servidor de log)? Existe alguma maneira de ter apenas uma configuração do logstash e ter o processo lido do syslog-ng --- > escrever para redis e também ler a partir de redis --- > saída para pesquisa elástica?

Diagrama da minha configuração:

[cliente] ------- syslog-ng --- > [servidor de log] --- syslog-ng < ---- logstash-shipper --- > redis < ---- logstash-server ---- > busca elástica < --- kibana

    
por keftes 30.06.2013 / 22:52

1 resposta

1

Não tenho certeza se entendi a pergunta corretamente, mas sei que o Syslog-NG pode ser enviado diretamente para o Logstash sem a necessidade de um remetente adicional como intermediário. Você poderia definir um destino no syslog-ng.conf similar a este exemplo:

destination d_logstash { 
  tcp("10.0.0.1" port(5514)); 
};

Em seguida, defina uma ação de log para enviar mensagens do Syslog de source s_src para destination :

log {
  source(s_src);
  destination(d_logstash);
};

Qual deve permitir a transmissão da mensagem. Não esqueça de reiniciar o serviço syslog-ng para aplicar as mudanças.

fonte: The Logstash Book

    
por 17.03.2014 / 19:04