Пользовательские отчеты

Пример настройки пользовательских отчетов (для CentOS/Redhat/Fedora) поставляемых с исходным кодом модуля:

  • mkdir ~/tmp
  • cd ~/tmp
  • wget https://github.com/bayrepo/mod_performance/archive/master.zip –no-check-certificate -O mod_performance.zip
  • unzip mod_performance.zip
  • cd mod_performance-master/
  • mkdir -p /opt/performance/
  • chown apache:apache /opt/performance/
  • chmod 755 /opt/performance/
  • cp custom.tpl /opt/performance/
  • добавить в mod_performance.conf параметр PerformanceCustomReports /opt/performance/custom.tpl
  • service httpd restart

Список пользовательских отчетов доступных по-умолчанию:

  1. Show site average usage in different time period – показать среднюю нагрузку создаваемую сайтом в различные временные периоды
  2. Show most popular script by site – показать наиболее часто вызываемый скрипт по каждому сайту
  3. Show CPU load range by site – показать распределение нагрузки CPU по каждому сайту
  4. Show Memory Usage range by site — показать распределение использования памяти по каждому сайту
  5. Show Max CPU load in different time periods by site – показать максимальную нагрузку CPU в различные временные периоды по каждому сайту
  6. Show Max Memory Usage in different time periods by site — показать максимальное использование памяти в различные временные периоды по каждому сайту
  7. Show Max IO Usage in different time periods by site — показать максимальную IO нагрузку в различные временные периоды по каждому сайту

Для создания пользовательского отчета используется следующий синтаксис в файле custom.tpl:

[название отчета]
header=Fld 1|Fld 2|Fld 3;
ssql=запрос в синтаксисе SQLite;
msql=запрос в синтаксисе MySQL;
psql=запрос в синтаксисе PostgerSQL;
sort=1,2;

В квадратных скобках пишется название отчета.

  • Header – название и список выводимых полей по порядку в select разделенные знаком «|». В примере, первое подхваченное поле из select будет выведено в столбце Fld 1, второе в столбце Fld 2 и т.д.
  • Ssql, msql, psql – запросы к базе. Рекомендую использовать не прямые названия полей таблицы, а их псевдонимы. Отчет отображается, если для текущей конфигурации БД есть запрос(SSQL,MSQL,PSQL)

Соответствие поля таблицы и псевдонима:

  • id :ITEMNUMBER: – идентификатор записи
  • dateadd :DATEADD: — дата добавления записи
  • host :FORHOST: — хост, к которому осуществлялся запрос
  • uri :REQUESTURI: — URI запроса
  • script :CALLEDSCRIPT: — вызываемый скрипт
  • cpu :CPUUSAGE: — CPU в %
  • memory :MEMUSAGEINPRCT: — память в %
  • exc_time :EXECUTIONTIME: — время исполнения запроса
  • cpu_sec :CPUUSAGEINSEC:
  • memory_mb :MEMUSAGEINMB: — память в Mb
  • bytes_read :BYTESREAD:- байт прочитано
  • bytes_write :BYTESWRITE: — ,fqn pfgbcfyj
  • hostnm :HOSTNAME: — запрос осуществлялся на сервере …

Поля для фильтра:

  • :FILTER: — учитывать поля фильтра
  • :PERIOD: — учитывать введенный период
  • performance — :TBL: – псевдоним таблицы

Пример:

select count(*) as t1, sum(:CPUUSAGE:)/count(*) as t2, sum(:MEMUSAGEINPRC
T:)/count(*) as t3, sum(:BYTESREAD:+:BYTESWRITE:)/count(*) as t4,  :CALLEDSCRIPT:, :FORHOST: from :TBL: where :FILTER: and :PERIOD: group by :CALLEDSCRIPT:,:
FORHOST:

Полное описание