1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Welcome to site devoted to PgMonitor - a monitoring tool for PostgreSQL database. It's written in PHP, uses PostgreSQL to store the collected data (about PostgreSQL ;-) and it's very easy to set-up and use. PgMonitor is distributed under GNU General Public License v2.

What is PgMonitor?

Sometimes you need to find out what's going on in the database server - for example when performance issues suddenly hit your production system, or something like that. Then you need to find out who's responsible for it - is it admin of the server or one of the developers? Which database causes the troubles, and why (does it read too much data suddently, does it perform huge UPDATEs, etc.)?

You may do that at query level - log each executed query along with some interesting data (duration, etc) - but that tends to produce huge amounts of data (gigabytes per day in my case), and does not contain interesting information about checkpoints, amount of I/O required to execute the query, etc. I don't say it's not useful, but it has limitations.

There's yet another way to monitor a database - watch various stats about objects (databases, tables, indexes), not about single queries. PostgreSQL provides a very nice set of system catalogs (pg_stat_* and pg_statio_* views) for this purpose, but it has one serious drawback - absolutely no history. So for example you can see the amount of bytes read from a table, but you can't compare it to the amount observed 1 hour or 1 day ago, so you can't say if there's some issue with this table.

And that's why PgMonitor project started - it collects data about objects, stores them (in a PostgreSQL database :-) and then displays them using a web GUI if needed. A more detailed description of how it works may be found here.

News

This is a list of interesting recent improvements to the pgmonitor:

  • rev, [113], ..., [136] - implementation of an AJAX-based GUI (in a separate branch)
  • rev. [110] - change to the GUI layout (menu moved to the top)
  • rev. [93], [95], [96], [97], [98], [99] - implementation of correlation analysis
  • rev. [77] - support for settings in the GUI
  • rev. [76] - support for sequences in the GUI
  • rev. [66] - support for snapshots in the GUI
  • rev. [55] - support for paging in the GUI
  • rev. [43], [44] and [46] - improvements to the GUI (scaling of charts, normalization of the data, etc.)
  • rev. [38] - implementation of several PL/pgSQL procedures (SRF functions) for computing differences between snapshots
  • rev. [34] - a modification of the database structure, which makes tracking snapshots much easier

Screenshots

Just a few screenshots - I've taken them on a development machine, so there is not much data.

alpha-138:

list of database snapshots' title='list of database snapshots index details index differences for two snapshots table details list of tables list of warnings

alpha-71:

list of background writer data list of tables with the most recently collected data list of table stats list of table stats list of snapshots at the database level differences between two snapshots (table data)

Previous version:

detailed stats of a table list of tables with the most recently collected data detailed stats of an index' title='detailed stats of an index list of indexes with the most recently collected data stats of a background writer stats of a database

Install

If you are interested in this project, and you'd like to try it out, follow these simple steps:

  1. download the source code (either a prepared package, or from the SVN repository)
  2. unpack the downloaded package
  3. follow the instructions in the INSTALL file (quite simple - create database, modify the config file, etc.) or the installation guide on this wiki.

Current status

Currently the project is available in alpha version - there is a working package, but some features are not implemented yet, and I do expect some problems with it (for example performance problems when processing large amount of collected data), etc.

Links and contacts

  • PgMonitor uses TimeChart project to build the time series charts.
  • Before starting this SF.net project, I've posted several articles about this tool on my personal website.
  • If needed, you may contact me on tv@fuzzy.cz.

Samsung Galaxy S Duos manual Manual Guide PDF

Attachments