Goaccess: Analisando JSON com GoAccess

Criado em 10 out. 2016  ·  3Comentários  ·  Fonte: allinurl/goaccess

Saudações, senhor. Você poderia me ajudar com a análise do arquivo de log json.
Exemplo de string de registro:

{"ip": "176.122.232.00", "host": "cdn.tv.com", "path": "/dtv/c_1199622700411804.ts", "status": "200", "user_agent": "YX_XY/1.0.1.0.3364", "length": 1392120, "date": "2016-10-09T20:00:00+03:00"}

Estou usando este formato:
goaccess -f access.log --log-format='%^: "%h", %^:%^, %^: "%R", %^: %s, %^: "%u",%^: %b, %^: "%dT%t+%^"' --date-format='%Y-%m-%d' > /report.html

E obtendo

Parsing... [1 734 743] [867 371/s]s]
GoAccess - version 0.8.5 - Dec  5 2014 06:36:01
Fatal error has occurred
Error occured at: goaccess.c - main - 832
Nothing valid to process

O que há de errado com meu formato de log?
Obrigado.

question

Comentários muito úteis

Para essas opções não reconhecidas, atualize para a versão mais recente.

Ótima pergunta, uma das partes mais importantes no formato de log é o caractere que segue %^ ou qualquer outro especificador. O analisador irá procurar por esse caractere, então, por exemplo, se eu tiver %^: , significa que eu quero que o analisador ignore tudo até que um : seja encontrado. Isso ajuda muito, então não preciso usar um monte de %^ para ignorar campos. A próxima versão irá lidar melhor com isso, exibindo quais tokens não correspondem ao formato de registro, o que deve tornar as coisas mais fáceis.

Para obter uma lista de especificadores de log disponíveis, dê uma olhada nisto .

Todos 3 comentários

Isso deve funcionar:

goaccess -f access.log --log-format='%^: "%h",%^: "%v",%^: "%U",%^: "%s",%^: "%u",%^: %b,%^: "%dT%t+%^"%^' --date-format='%Y-%m-%d' --time-format='%T' --http-protocol=no --http-method=no

Obrigado pela resposta,
Eu tenho esses erros
goaccess: unrecognized option '--time-format=%T' (provavelmente tenho uma nova versão)

Então, removi a opção formato de hora e consegui mais 2 erros.

goaccess: option '--http-protocol' doesn't allow an argument
goaccess: option '--http-method' doesn't allow an argument

Quando removi todas essas opções, finalmente recebi meu relatório.
A propósito, você poderia explicar este formato de log para as gerações futuras? :)

Para essas opções não reconhecidas, atualize para a versão mais recente.

Ótima pergunta, uma das partes mais importantes no formato de log é o caractere que segue %^ ou qualquer outro especificador. O analisador irá procurar por esse caractere, então, por exemplo, se eu tiver %^: , significa que eu quero que o analisador ignore tudo até que um : seja encontrado. Isso ajuda muito, então não preciso usar um monte de %^ para ignorar campos. A próxima versão irá lidar melhor com isso, exibindo quais tokens não correspondem ao formato de registro, o que deve tornar as coisas mais fáceis.

Para obter uma lista de especificadores de log disponíveis, dê uma olhada nisto .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

vivekkrish picture vivekkrish  ·  3Comentários

SerenaAi picture SerenaAi  ·  3Comentários

canepa picture canepa  ·  3Comentários

narayan1599 picture narayan1599  ·  3Comentários

Tassleh0ff picture Tassleh0ff  ·  4Comentários