Alguém tem um formato de arquivo de log para o analisador de arquivos de log goaccess que funcione para os logs nginx produzidos pela instalação docker do Discourse? Estou tendo dificuldade em escrevê-lo.
Bem, respondendo à minha própria pergunta…
O formato do arquivo de log no contêiner do Docker é:
log_format log_discourse ‘[$time_local] "$http_host" $remote_addr "$request" "$http_user_agent" "$sent_http_x_discourse_route" $status $bytes_sent "$http_referer" $upstream_response_time $request_time "$upstream_http_x_discourse_username" "$upstream_http_x_discourse_trackview" "$upstream_http_x_queue_time" "$upstream_http_x_redis_calls" "$upstream_http_x_redis_time" "$upstream_http_x_sql_calls" "$upstream_http_x_sql_time"’;
Existe um script utilitário que pode analisar isso e produzir o formato de arquivo de log .goaccess no GitHub:
Aqui está a saída:
time-format %T
date-format %d/%b/%Y
log_format [%d:%t %^] "%v" %h "%r" "%u" "%^" %s %b "%R" %^ %T "%^" "%^" "%^" "%^" "%^" "%^" "%^"
É bem difícil escrever isso sozinho. Pensei que isso poderia ser útil para outros no futuro.
O programa goaccess é um analisador de arquivos de log muito bom.