Pinboard — мониторим PHP в веб-проектах

от автора

Intaro PinboardСуществует полезный и нужный инструмент для мониторинга PHP под названием pinba. Он позволяет собирать статистику по выполнению PHP-скриптов вашего проекта. Мы реализовали небольшую систему, которая дополняет Pinba, и назвали ее Pinboard (Pinba board).

Суть работы

Pinba хранит исключительно realtime-данные за последние несколько минут, что очень круто, но не всегда удобно. Pinboard же периодически агрегирует эти данные в собственное хранилище и предоставляет простые средства просмотра и анализа этой информации, а в ближайшем будущем и средства простейшего мониторинга.

Возможности

Обзор выполнения PHP-скриптов

Для каждого хоста, к которому подключена pinba, можно посмотреть графики:

  • времени выполнения скриптов;
  • используемой памяти;
  • количества запросов в секунду;
  • и количества запросов с 5хх статусами.

При этом графики времени выполнения и используемой памяти строятся по перцентилям в виде 4-х кривых. Например, для времени выполнения это:

  • максимальное время выполнения 90% «самых быстрых» запросов
  • максимальное время выполнения 95% «самых быстрых» запросов
  • максимальное время выполнения 99% «самых быстрых» запросов
  • максимальное время всех запросов

Данные можно смотреть как для всего сайта, так и для отдельных серверов в случае, если сайт обслуживается несколькими серверами.

Мониторинг самых медленных и самых «тяжелых» скриптов

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

Также, как и в случае обзорной информации, отчеты можно смотреть как для всего сайта, так и для отдельно взятого сервера, обслуживающего сайт.

Мониторинг запросов с ошибками

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

Live-режим

В системе предусмотрен отдельный раздел, в котором Pinboard отображает realtime-данные из таблиц pinba. Можно видеть, кто и что в данный момент просматривает на сайте. По каждому запросу выводится информация по времени выполнения и использованной памяти.

В качестве итога

У себя мы подключили к Pinboard значительную часть проектов, которые разрабатываем и поддерживаем. На данный момент наш Pinboard фиксирует порядка 2 млн. запросов в сутки. Период хранения мы установили в месяц. За это время набирается порядка 2 Гб данных.

В ближайшем будущем мы хотим добавить 2 важные фичи:

  • уведомление на почту о страницах с ошибками;
  • поддержка тегов pinba

В целом мы будем рады пожеланиям, замечаниям и помощи в развитии системы. Проект опубликован по MIT лицензии.

Ссылки

Сайт проекта: http://intaro.github.io/pinboard/
Github: https://github.com/intaro/pinboard
Документация: https://github.com/intaro/pinboard/wiki

ссылка на оригинал статьи http://habrahabr.ru/post/183104/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *