andrey-tech/nginx-unit-log-analyzer-php

Tool to analyze NGINX Unit log file in console

1.0.4 2024-11-16 12:31 UTC

This package is auto-updated.

Last update: 2024-11-16 12:40:15 UTC


README

NGINX Unit log analyzer logo

Latest Stable Version PHP Version Require Total Downloads License

NGINX Unit log analyzer — это утилита для анализа лог-файлов сервера приложений NGINX Unit. Утилита анализирует продолжительность исполнения процессов NGINX Unit для запущенных приложений с точностью в одну секунду и формирует в консоли отчёты различных типов в табличной или графической форме.

Содержание

Установка

NGINX Unit log analyzer требует:

composer require --dev andrey-tech/nginx-unit-log-analyzer-php

Установка GNU Plot с помощью APT (Advanced Package Tool):

apt install gnuplot

Аргументы и опции командной строки

./vendor/bin/nginx-unit-log-analyzer <NGINX Unit log file> [OPTIONS]

где:

  • [OPTIONS] — опции командной строки,
  • <NGINX Unit log file> — путь к лог-файлу NGINX Unit, содержащему информацию о запущенных процессах приложений вида:
2024/06/13 13:31:06 [info] 657#657 "application-3" application started
2024/06/13 13:32:14 [notice] 151#151 app process 657 exited with code 0

Опции командной строки

Типы формируемых отчётов

Утилита NGINX Unit log analyzer может формировать отчёты трех типов (--report-type):

  1. day — продолжительность исполнения процессов NGINX Unit для запущенных приложений с усреднением за один час и разбиением по дням;
  2. top — топ-лист наиболее и наименее продолжительных процессов NGINX Unit для запущенных приложений с разбиением по дням;
  3. graph (по умолчанию) — графики продолжительности исполнения процессов NGINX Unit для запущенных приложений с усреднением за один час.

Отчёты типа day и top формируется в консоли в табличной форме.

Отчёт типа graph формируется в графическом файле формата PNG и требует для своего создания утилиту GNU Plot.

Отчёт типа graph может включать следующие виды графиков (--graph-types):

  • quantity (по умолчанию) — график количества процессов NGINX Unit для запущенных приложений с усреднением за один час;
  • average (по умолчанию) — график среднеарифметической продолжительности исполнения процессов NGINX Unit для запущенных приложений с усреднением за один час;
  • median — график медианной продолжительности исполнения процессов NGINX Unit для запущенных приложений с усреднением за один час;
  • maximum — график максимальной продолжительности исполнения процессов NGINX Unit для запущенных приложений с усреднением за один час;
  • minimum — график минимальной продолжительности исполнения процессов NGINX Unit для запущенных приложений с усреднением за один час.

Отчёт типа day

Пример фрагмента отчёта типа day для одного дня:

NGINX Unit log analyzer. Report type day

В таблице отчёта:

  • DATE — анализируемая дата с указанием часового пояса;
  • APP — список имён приложений, которые были запущены за анализируемую дату;
  • Processes — информация о запущенных процессах NGINX Unit:
    • Start — анализируемый интервал времени, часы (от-до);
    • Amount — количество процессов, которые были запущены в течение интервала времени (+n — число незавершённых процессов);
  • Duration — информация о продолжительности исполнения процессов в течение временного интервала:

Формат значений продолжительности исполнения процессов NGINX Unit в таблице имеет вид: d h m s, где: d — дни, h — часы, m — минуты, s — секунды.

Отчёт типа top

Пример фрагмента отчёта типа top для одного дня:

NGINX Unit log analyzer. Report type top

В таблице отчёта:

  • DATE — анализируемая дата с указанием часового пояса;
  • APP — список имён приложений, которые были запущены за анализируемую дату;
  • Duration — продолжительность исполнения процесса;
  • App name — имя приложения;
  • Start time — дата и время запуска процесса;
  • Exit time — дата и время завершения процесса;
  • Start — номер строки в лог-файле NGINX Unit, в которой был зафиксирован запуск процесса;
  • End — номер строки в лог-файле NGINX Unit, в которой было зафиксировано завершение процесса;
  • Idидентификатор процесса в NGINХ Unit.

В верхней части таблицы содержится список из 20 наиболее продолжительных процессов, которые были зафиксированы за анализируемую дату.

В нижней части таблицы содержится список из 5 наименее продолжительных процессов, которые были зафиксированы за анализируемую дату.

Списки отсортированы по убыванию продолжительности.

Отчёт типа graph

Пример отчёта типа graph, включающий 2 графика:

  • график количества процессов NGINX Unit для запущенных приложений с усреднением за один час;
  • график медианной продолжительности исполнения процессов.

NGINX Unit log analyzer. Report type graph

Формат значений продолжительности исполнения процессов NGINX Unit на графике имеет вид: H:MM:SS, где: H — часы, MM — минуты, SS — секунды.

Авторы

© 2024 andrey-tech

Лицензия

Данная библиотека распространяется на условиях лицензии MIT.