Monitoring Archiveopteryx

Archiveopteryx has a monitoring system that can be used to log or monitor system load, usage and general health.

You can use it with rrdtool (or similar systems) to record data in rrdtool databases and generate graphs showing what Archiveopteryx did, how quickly, etc.

You can also use it with nagios to monitor health, e.g. raising an alarm if there are too many login failures per minute.

Archiveopteryx exports this information via a very simple TCP-based protocol, and a nagios/rrdtool/… plugin connects to Archiveopteryx, retrieves everything and converts it to the desired format.


The use-statistics configuration variable has to be enabled to export monitoring data. It is disabled by default, so you have to change it.

statistics-address and statistics-port determine where Archiveopteryx listens for data requests. The defaults should be suitable for most use.

When you've enabled use-statistics, you need to configure the other end to use the data. See nagios and rrdtool for examples.

Data types

Archiveopteryx exports two kinds of data — numbers and counters. A number tracks a variable over time, such as the amount of memory used by Archiveopteryx. A counter counts events of some kind, such as login failures.

Both types have one-second resolution and retained in RAM for about 15 minutes.


Simple numbers (gauges):

Event counters:

Some other relevant numbers can be provided by simple database queries such as select count(*) from messages.

Design goals

The Archiveopteryx monitoring system provides useful data to dedicated monitoring systems. It's not designed to monitor Archiveopteryx, it's only a helper for tools like Nagios. We do not think it would be appropriate for us to duplicate the many features of e.g. Nagios inside Archiveopteryx.

Archiveopteryx stores monitoring data in RAM only, not in the database. If Archiveopteryx were to crash, you would lose a few minutes' worth of monitoring data. There are two reasons for this: First, storing all this data would add a considerable load on the database. Second, it's an entirely different type of data from mail, and it's reasonable to treat the two types differently, e.g. with respect to mirroring or backups.

Archiveopteryx supplies data at very high resolution, higher than most monitoring systems can use. There's no good reason to limit the output from Archiveopteryx — the interface to the receiving software can easily drop any unnecessary data.

In case of questions, please write to

Relevant links

About this page

Last modified: 2010-11-19