Анализатор логов log-analyzer. Консольное приложение, которое анализирует логи web-приложения на предмет отказов сервера. Имеется access-лог web-сервера. Файл со следующей структурой. 192.168.32.181 - - [14/06/2017:16:47:02 +1000] "PUT /rest/v1.4/documents?zone=default&_rid=6076537c HTTP/1.1" 200 2 44.510983 "-" "@list-item-updater" prio:0 192.168.32.181 - - [14/06/2017:16:47:02 +1000] "PUT /rest/v1.4/documents?zone=default&_rid=7ae28555 HTTP/1.1" 200 2 23.251219 "-" "@list-item-updater" prio:0 192.168.32.181 - - [14/06/2017:16:47:02 +1000] "PUT /rest/v1.4/documents?zone=default&_rid=e356713 HTTP/1.1" 200 2 30.164372 "-" "@list-item-updater" prio:0 У каждой записи есть HTTP-код ответа (9-е поле, в первом примере "200") и время обработки запроса в миллисекундах (11-е поле, в первом примере: "44.510983"). Отказом считается запрос завершившийся с любым 500-м кодом возврата (5xx) или обрабатываемый дольше чем указанный интервал времени. На входе программе дается: * поток данных из access-лог'а; * минимально допустимый уровень доступности (проценты. Например, "99.9") - консольный параметр -a * приемлемое время ответа (миллисекунды. Например, "45") - консольный параметр -t * флаг дебаг мода - консольный параметр -d Так же можно вызвать описание параметров передав консольный параметр -h На выходе программа предоставляет временные интервалы, в которые доля отказов системы превышала указанную границу, а также уровень доступности в этот интервал времени. Пример использования программы: Unix: $ cat access.log | java -jar log-analyzer.jar -a 95.0 -t 120 2017-06-14 16:47:04 2017-06-14 16:47:14 94.9 2017-06-14 16:47:14 2017-06-14 16:47:17 94.5 Windows: java -jar log-analyzer.jar -a 95.0 -t 120 < access.log 2017-06-14 16:47:04 2017-06-14 16:47:14 94.9 2017-06-14 16:47:14 2017-06-14 16:47:17 94.5