Как использовать goaccess с приложением heroku rails

Я хочу сгенерировать результат панели управления goaccess из журналов heroku приложения rails. Я проверил, что в heroku нет файла production.rb.

Формат логов в героку такой

2020-07-16T17:18:54.972063+00:00 app[web.1]: I, [2020-07-16T17:18:54.971939 #10]  INFO -- : [2712edd9-bca1-4d23-9cfd-399e6dedfbdc] Started GET "/api/v1/articles" for 18.225.35.172 at 2020-07-16 17:18:54 +0000
2020-07-16T17:18:54.973433+00:00 app[web.1]: I, [2020-07-16T17:18:54.973345 #10]  INFO -- : [2712edd9-bca1-4d23-9cfd-399e6dedfbdc] Processing by Api::V1::ArticlesController#index as JSON
2020-07-16T17:18:54.973525+00:00 app[web.1]: I, [2020-07-16T17:18:54.973450 #10]  INFO -- : [2712edd9-bca1-4d23-9cfd-399e6dedfbdc]   Parameters: {"article"=>{}}
2020-07-16T17:18:55.082811+00:00 heroku[router]: at=info method=GET path="/api/v1/article" host=abc-1234.herokuapp.com request_id=2779d556-67fc-4602-a58b-60dbcb209833 fwd="18.225.35.172" dyno=web.1 connect=1ms service=41ms status=200 bytes=539 protocol=https

Я попытался установить goaccess на свой сервер heroku, но я не могу этого сделать, и я также не могу получить файл журнала. Мне нужно время ответа для каждого запроса в панели управления goaccess. У кого-нибудь есть идеи об этом??? Как я могу использовать goaccess + rails + heroku вместе?


person Puja Garg    schedule 16.07.2020    source источник


Ответы (1)


Попробуй это:

cat ./production.log | grep 'Started GET' | goaccess --log-format='I, "%^" "%r" %^ %h %^ %d %t %^' --date-format=%F --time-format=%T

Примечание: это будет работать только для строки вида:

2020-07-16T17:18:54.972063+00:00 app[web.1]: I, [2020-07-16T17:18:54.971939 #10]  INFO -- : [2712edd9-bca1-4d23-9cfd-399e6dedfbdc] Started GET "/api/v1/articles" for 18.225.35.172 at 2020-07-16 17:18:54 +0000

другие строки были проигнорированы grep, а именно:

2020-07-16T17:18:54.973433+00:00 app[web.1]: I, [2020-07-16T17:18:54.973345 #10]  INFO -- : [2712edd9-bca1-4d23-9cfd-399e6dedfbdc] Processing by Api::V1::ArticlesController#index as JSON
2020-07-16T17:18:54.973525+00:00 app[web.1]: I, [2020-07-16T17:18:54.973450 #10]  INFO -- : [2712edd9-bca1-4d23-9cfd-399e6dedfbdc]   Parameters: {"article"=>{}}
2020-07-16T17:18:55.082811+00:00 heroku[router]: at=info method=GET path="/api/v1/article" host=abc-1234.herokuapp.com request_id=2779d556-67fc-4602-a58b-60dbcb209833 fwd="18.225.35.172" dyno=web.1 connect=1ms service=41ms status=200 bytes=539 protocol=https

Мой первоначальный ответ был в вопросе goaccess, удачи!

person simo    schedule 19.08.2020