---
title: "debian wheezy PHP monitoring pinba engine setup and pinboard"
date: "2013-06-24"
path: "/148-debian-wheezy-php-monitoring-pinba-engine-setup-and-pinboard.html"
section: "/ramblings"
aliases:
  - "/148"
  - "/148-debian-wheezy-php-monitoring-pinba-engine-setup-and-pinboard"
  - "/148.html"
  - "/ramblings/148-debian-wheezy-php-monitoring-pinba-engine-setup-and-pinboard.html"
---

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:

![](/images/pinba-mysql-phpmyadmin.png)

## 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](http://intaro.ru/). 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](https://github.com/intaro/pinboard/wiki/Installation) 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 setting `date_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):

![](/images/pinba-mysql-pinboard.png)

## References/Notes:

1. <http://www.dotdeb.org/2012/08/17/pinba-engine-1-0-0/>
2. <http://www.dotdeb.org/2011/01/31/lets-monitor-your-php-applications-with-pinba/>
3. <http://pinba.org/>
4. <http://intaro.github.io/pinboard/>
5. <http://www.webappers.com/2013/06/19/a-realtime-monitoring-system-for-php-using-mysql/>
