Corrigindo a severidade na interface web graylog2

2

Estou usando o logstash para coletar logs de um grupo de aplicativos da Web e enviá-los para o graylog2 para visualização centralizada.

Eu tenho o seguinte filtro para tokenizing:

 grok {
   type => "webapps"
   pattern => "^%{TIME:timestamp} \[%{NOTSPACE:thread}\]%{SPACE}%{WORD:loglevel}%{SPACE}%{JAVACLASS:class} - %{GREEDYDATA:short_message}"
   drop => false
   debug => "true"
   add_tag => [ "%{loglevel}" ]
 }

O nível de log será ao longo das linhas de TRACE, DEBUG, INFO, AVISO, ERRO, FATAL.

Inicialmente, tudo estava aparecendo como "Alerta" (que tem um valor numérico de 5 em ruby / graylog-server e é marcado nas fontes como "desconhecido").

Em seguida, adicionei uma série de filtros mutate, como estes:

 mutate {
   type => "webapps"
   tags => "INFO"
   add_tag => [ "ll_%{@level}", "mutated" ]
   replace => [ "@level", "6" ] # informational
 }

Isso me aproximou do nível de log / gravidade adequado exibido na interface web, mas todas as mensagens "INFO" estavam aparecendo como mensagens de depuração.

Eu escrevi um script para examinar os dados do elasticsearch e definir o campo de nível com base no que deveria ser.

  • Depurar: 7
  • Informativo: 6
  • Aviso: 4
  • Erro: 3
  • Crítico: 2

com os níveis 0, 1 e 5 não sendo usados, pois as fontes indicaram que estes eram reservados.

Mas esse script é caro em termos de recursos e não acho que funcionaria muito bem quando o conjunto de dados que está tentando atualizar está crescendo a uma taxa de centenas ou milhares de mensagens por segundo.

A outra coisa que notei é que quando eu uso algo como "@source" em uma tag, o valor apropriado aparece. Quando eu faço "@level", eu entendo isso como um literal, o que indica que não é um campo pré-definido que foi indicado.

Eu olhei as fontes um pouco, mas não exaustivamente, então é possível que eu tenha perdido isso.

A questão é, o que eu preciso mudar no meu filtro mutate para fazer "INFO" aparecer como "Informativo" na interface do graylog2?

    
por Lee Lowder 13.06.2012 / 20:23

1 resposta

0

Nada que eu tentei funcionou, e a lista de e-mails também não conseguiu ajudar.

O que acabei fazendo foi parar de usar o logstash para isso, e adicionar um jar do logback-gelf e adicionar à minha configuração de logback.

Funcionou como um encanto desde então.

    
por 06.07.2012 / 19:54