About PerfParse


About PerfParse

PerfParse is a open source software that facilitates the storage and analysis of binary performance data produced by Nagios and produces high-quality accurate graphs of live data from standard Nagios plugins. A permanent history of plugin results can then be viewed with advanced analysis tools.

This project is an Add-On for NagiosQuestion. Many thanks to Ethan Galstad.

PerfParse comprises a tool kit for analysis of Metrics produced by Nagios plugins. Each plugin provides Nagios with zero or more 'performance' variables, which is basically the value it measures. Disk space, CPU temperature, load, user count, latency timings, etc. Nagios does not analyze this data, but provides it to project like this for further analysis. PerfParse is the first, and the best, example of such a tool.


  • Storage of Nagios performance data in MySQL.
  • Fast access to periods of data for specific host/service/metric.
  • Access of data as Histogram Graph, Time-average Graph (CSV and XML are planned).
  • Dynamic graphs of high-quality and any size, able to be mounted in any web site.

PerfParse Mechanics

This section is somewhat out of date.

Nagios provides the data in two Log files. By default these are called serviceperf.log and hostperf.log and are located in /usr/local/nagios/var. (In fact, they must exist here in the current version, but this can be changed by editing config.h in the project.) The first part of PerfParse is the parser of the same name. This reads data from the logs, breaks it into binary, and files it correctly into a MySQL database.

Once in your MySQL database, the plugin data ('Metrics') are stored permanently for analysis by any program or person who can use SQL. As MySQL is client/server, the analysis can be completed on any machine. Further, several Nagios box's may contribute to the same database.

The main tools provided to analyse the data are 'perfgraph' and 'perfchart'. The first provides a CGI shell to select Metrics of interest to you, and the second which generates '.png' graphs of this data, once selected. The charts may be called independently once you are happy with them.

There is no restriction to use the provided tools to analyse the data in MySQL. You can in fact use your own, and I would encourage any person not finding a tool they like, to do exactly this. Then if they like, send it back to PerfParse to be included in the project. (As encouraged by the use of the GPL licence.)

Required to make this work is a Nagios box, onto which you install PerfParse. This will install the CGI next to Nagios' own CGI. Also required is a MySQL database. This may be on the same box, but will be faster on another. Please read the HOWTO, it contains some technical information on installing.

Please note: This is a very new project. You may find errors and things that do not work as you would expect. Please let us know and we will do our best to see that these are fixed for new versions.

This project is an Add-On
Many thanks to Ethan Galstad.

Contributors to this page: zackm , mauricejnk , redflo and TimW .
Page last modified on Thursday 29 of January, 2009 16:27:55 UTC by zackm.


redflo, 14:25 UTC, Sun 10 of Apr, 2005: No, lneuxyuhje, this shall write to a pipe not to a file and so ">" is o.k.
lneuxyuhje, 15:14 UTC, Thu 07 of Apr, 2005: is ">" meant to be ">>" in /usr/local/perfparse/bin/perfparse_nagios_pipe_command.pl ?
redflo, 08:35 UTC, Tue 05 of Apr, 2005: fhdplbvjipsld, it works now. Permissions were wrong.
fhdplbvjipsld, 14:42 UTC, Wed 30 of Mar, 2005: How to post to Forums->Help?
benclewett, 09:27 UTC, Thu 03 of Feb, 2005: Hi Jon! I hope you like our wiki site.