Я пытаюсь выяснить, как фильтровать дреды журналов героику, используя awk, sed или какой-либо другой инструмент. Как вы можете видеть примеры ниже, команда фильтрует строки с grep
, относящимися только к router
. Но я не мог понять, как отфильтровать остальные.Как анализировать/фильтровать строку журнала с awk или sed
heroku logs -t | grep router |
???
2013-07-20T20: 44: 40,855998 + 00: 00 Heroku [маршрутизатор]: при = Информация = метод GET путь =/oauth2/обратного вызова ошибки = ACCESS_DENIED хост = app.herokuapp.com FWD =» 123.234.456.78 "dyno = web.5 connect = 1ms service = 55ms status = 302 bytes = 5
2013-07-20T20: 44: 40.855998 + 00: 00 heroku [router]: at = info method = GET path =/oauth2/callback/succesuser =% 7B% 22user% 3Aexample% 40example.com% 22% 2C% 22force% 22% 3Afalse% 7D host = app.herokuapp.com fwd = "123.234.456.78" dyno = web.5 connect = 1 мс обслуживание = 312 мс статус = 302 байта = 5
Вопрос 1) Есть часть, которая дает подробную информацию о времени обслуживания в строках журнала: (service=55ms
и service=312ms
из примеров) Предположим, я хочу видеть только те, у которых время обслуживания более 300 мс. Как я могу это достичь?
Дополнительный вопрос) Есть ли шанс, что я могу форматировать эти строки через запятую, как это: timestamp,path,service
Пример выходов для дополнительного вопроса:
2013-07-20 20:44 : 40,/oauth2/callback? Error = access_denied, 55`
2013-07-20 20: 44: 40,/oauth2/callback/succesuser =% 7B% 22user% 3Aexample% 40example.com% 22% 2C % 22force% 22% 3Afalse% 7D, 312`
@shelter, Хорошо, я отредактирую свое сообщение. –
отлично, спасибо за демо. Это помогает уточнить! Всем удачи. – shellter
Я думаю, что отфильтровать от 100 до 300. Если время обслуживания меньше 100 мс, то они все еще не отфильтрованы. – pars