Yandex Metrika
sanches.free

Установка Pinba server на CentOS 6: плагин MySQL и настройка

Что такое Pinba и зачем она админу

Pinba — система сбора статистики по времени выполнения PHP-скриптов и запросам к СУБД. Клиентская часть — расширение для PHP; серверная — storage engine для MySQL, который подключается как плагин. Ниже описан типичный путь установки на устаревшем, но ещё встречающемся стеке CentOS 6 с классическим mysqld: исходники движка нужно собрать в связке с той же мажорной версией MySQL, что установлена на сервере.

Исходники pinba_engine и зависимости Yum

Скачайте архив с официального сайта; для сборки понадобятся Judy, protobuf, libevent и их заголовки:

wget http://pinba.org/files/pinba_engine-1.1.0.tar.gz
tar xzvf pinba_engine-1.1.0.tar.gz
cd pinba_engine-1.1.0

sudo yum install cmake \
  Judy.x86_64 protobuf.x86_64 libevent.x86_64 \
  Judy-devel.x86_64 protobuf-devel.x86_64 libevent-devel.x86_64

Версия MySQL и подготовка дерева исходников

Уточните версию демона: mysql -V. С архива MySQL загрузите исходники той же версии, что в продакшене, распакуйте так же, как в примере ориентировочной пятой ветки, и в корне этого дерева выполните первичную генерацию файлов сборки через cmake . Если CMake ругается на отсутствующие библиотеки (частый пример — curses), доустановите ncurses-devel, удалите CMakeCache.txt и повторите cmake ..

Сборка и установка pinba_engine

Из общего родительского каталога (рядом с распакованным деревом MySQL) запустите configure: путь после --with-mysql — это каталог именно ваших исходников СУБД; --libdir указывает на каталог плагинов mysqld под вашу архитектуру.

cd ..
./configure --with-mysql=./mysql-5.5.44 --with-judy=/usr --with-protobuf=/usr \
  --libdir=/usr/lib64/mysql/plugin/
make install

Имя каталога mysql-5.5.44 замените на свой — оно должно совпасть с распакованным архивом той версии MySQL, с которой вы собираете движок.

Плагин, база и таблицы

В клиенте mysql под администратором выполните INSTALL PLUGIN pinba SONAME 'libpinba_engine.so';, затем CREATE DATABASE pinba; и выйдите из сессии. После этого из оболочки ОС выполните mysql -D pinba < default_tables.sql — файл default_tables.sql идёт в комплекте исходников pinba_engine.

Настройка в my.cnf и перезапуск

В секции сервера /etc/my.cnf задают параметры движка, например:

pinba_port=3300
pinba_stats_gathering_period=10000
pinba_stats_history=900
pinba_temp_pool_size=10000
pinba_request_pool_size=1000000

Затем service mysqld restart. Дальнейшие шаги по клиенту PHP и интерпретации статистики — в документации pinba_engine. CentOS 6 уже вне официальной поддержки; на новых площадках разумнее вынести мониторинг на актуальный дистрибутив или поддерживаемую связку СУБД и сборки движка.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии