debian wheezy PHP monitoring pinba engine setup and pinboard
Add the following dotdeb repos to your source.list, although you need to be ok with running the dotdeb version of potentially other packages such as PHP itself.
nano /etc/apt/sources.list deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all deb http://php53.dotdeb.org stable all deb-src http://php53.dotdeb.org stable all
Add the dotdeb key:
wget -O- -q http://www.dotdeb.org/dotdeb.gpg | apt-key add -
Run the update for the repos:
apt-get update
My wheezy apt could not find the packages as previously mentioned "pinba-mysql-5.5" so I needed to search on the apt cache to find the actual name:
# apt-cache search pinba collectd-core - statistics collection and monitoring daemon (core system) php5-pinba - pinba module for php5 pinba-engine-mysql-5.5 - realtime statistics server for PHP using MySQL as a read-only interface
And a quick install of the engine, adding passwords for root user where applicable:
apt-get install pinba-engine-mysql-5.5
Now install the PHP module:
apt-get install php5-pinba
Make sure that in the PHP module config for Pinba you have the correct setting to enable its use: nano /etc/php5/mods-available/pinba.ini
:
; configuration for php pinba module ; priority=20 extension=pinba.so pinba.enabled = 1 pinba.server = 127.0.0.1
Checking though phpmyadmin shows that its installed and operational:
Pinba Pinboard Setup
The best tool that I know of *so far* for collating and presenting the results collected by Pinba is a PHP tool called "Pinboard" created by a Russian development firm called Intaro. It provides aggregated statistics and also realtime view of collected data. It's clever enough to separate results by requests so you can see multiple sites collated independently so that you can concentrate on application required.
Installation was a simple as following the instructions on the GitHub page and after a few mistakes of my own it was operational on a new virtualmin host having modified the vhost's DocumentRoot
to use the applications web
version, all was working.
I spotted spot a couple of oddities on my setup (fcgid and suexec) where the following needed setting for the CRON to function as it should:
- The path to the CRON job for the aggregation of statistics was incorrect
/home/pinboard/src/Pinboard/Command/console aggregate
and it should have been/home/pinboard/console aggregate
in my guess. - The
src/init.php
needed PHP timezone settingdate_default_timezone_set('Europe/London');
Once the items above were implemented and fixed, data regarding PHP usage was being populated (based on the intervals defined in the CRON):