Automatic graph based on RRD

By Nico Bagari, on 14-08-2008

Favoured : 35

Published in : Documentation, Architecture documentation

Copyright (c) 2008 Nico Bagari & Thomas Buffagni
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".

How automatic graph based on RRD works ?

When nagios module parse the nagios line and found some performance data, store it on database.

Periodically, if you have enabled a graph for a service, graph module examine performance data and create some statistics for every service data. The statistics are:

- number of checks

- check interval (average step)

When nagios graph gathered sufficient number of performance data value (the default is 5 value), create a graph definition  for every graph type (hourly, daily, weekly, monthly, yearly) and schedule when refresh it. If two or more performance data have different base UOM then graph module generate two or more graph definition for the same service and graph type.

The engine that plot graphs is based on a RRD  (Round Robin Database) so it generate an RRD definition on Brainy's database and a RRD archive for every host, service and base id. The directory where RRD archives are stored is $BRAINY_HOME/data/rrd/

Periodially, Graph Module refresh the graph image (created as png image) and store it in $BRAINY_HOME/data/graphs/<time interval>, where <time interval> is hourly, daily,monthly, weekly or yearly. The refresh interval is function of graph type and you can configure it in brainy.properties. In this file you can also personalize a lot of default properties used on graph generation like:

 - wich graphs type are available

- dimensions of graph images

- title prefix printed on graph image

- where store graph images

Example:

The service that you want graph is the PING service and this is the nagios line:

1218704170||Host_A||OK||4.075||PING||PING OK - Packet loss = 0%, RTA = 12.09 ms||

Nagios module found this performance data and store it.


name base UOM UOM value
losspct% % 0
rtamSec Sec 12.09

When graph module gathered five values for every performance data, create two graph definitions:

  • graph for losspct
  • graph for rta

Graph module detect that performance data losspct and rta have different base UOM so it generate two different graphs.

For any suggestion, please contact us.

Thank you.

 

Last update: 14-08-2008

User comments Favoured Print Send to friend Related articles
Automatic graph based on RRD
User Rating: / 0
PoorBest