ngraph sometimes not display graph

hendro budianto he_anton at yahoo.com
Thu May 24 02:59:55 CEST 2007


Dear all,

Thank's for your suggestion.

Best regards

Hendro B
--- Stijn Gruwier <sg at schaubroeck.be> wrote:

> Hello,
> Also ran into this, so I patched nagiosgraph to
> calculate the heartbeat 
> value on a per service basis (= 3 times the interval
> between the first 2 
> service checks). I tried to post this on the
> nagiosgraph forum but for 
> some strange reason I couldn't log in. Normally this
> patch works fine 
> but there might be situations where a wrong
> heartbeat gets calculated. 
> For example when a user reschedules a Nagios service
> check. The ideal 
> solution would be a Nagios macro/environment
> variable that tells us the 
> normal_check_interval for a service.
> I hope someone puts this into the official version
> of nagiosgraph.
> 
> Regards,
> Stijn
> 
> 
> 
> 
> Frost, Mark {PBG} schreef:
> > I had this same issue at first.  I later
> discovered that that's what 
> > the heartbeat parameter (really an RRD parameter)
> in the nagiosgraph 
> > config file is about.  I found the default value
> to be way too short 
> > for the variety of checks we ran.  I read about
> what it did and turned 
> > the interval up considerably and we've had nice
> graphs for everything 
> > we've got for many months now.
> >  
> > I do with there was some way with Nagiosgraph to
> define per-check-type 
> > heartbeat intervals rather than one interval for
> everything that runs 
> > in Nagiosgraph.
> >  
> > Mark
> >
> >    
>
------------------------------------------------------------------------
> >     *From:*
> nagios-users-bounces at lists.sourceforge.net
> >    
> [mailto:nagios-users-bounces at lists.sourceforge.net]
> *On Behalf Of
> >     *Jeffrey Lensen
> >     *Sent:* Monday, May 14, 2007 2:52 AM
> >     *To:* nagios-users
> >     *Subject:* Re: [Nagios-users] ngraph sometimes
> not display graph
> >
> >     My experience with having Nagios creating
> graphs, is the problem
> >     that checks don't manage to finish in time,
> which creates faulty
> >     data in the RRD database. RRD has to receive
> new data at a certain
> >     time-interval in order to create proper RRD
> files. Since the
> >     execution time of Nagios checks can be
> somewhat unpredictable at
> >     times, it tends to not be able to do this in
> time.
> >
> >     Ofcourse I don't know your Nagios setup, but
> that's my experience
> >     with a Nagios setup with over 150 hosts and
> 7000 checks ;)
> >
> >     -----------------------------------
> >     Jeffrey Lensen
> >     System Administrator Hyves
> >     hyves page: http://skyler.hyves.nl
> >     mail/msn:   jeffrey at hyves.nl
> >         
> >
> >
> >
> >     Hugo van der Kooij wrote:
> >>     On Thu, 10 May 2007, hendro budianto wrote:
> >>
> >>       
> >>>     I'have a problem with nagiosgraph display.
> >>>     Some times the graph is display (have a
> data) but
> >>>     after a  few minutes there are no data to
> display.It's
> >>>     something wrong with my nagios setting ?
> >>>     I've check the ngraph.log but everything is
> OK, the
> >>>     REGEX grub the result to rrd file.
> >>>     Any suggestions ?
> >>>         
> >>
> >>     Not much to go. So this question is
> unanswerable.
> >>
> >>     But about a year ago I wrote about a number
> of things which seem to have 
> >>     an impact on the proper working of ngraph.
> >>
> >>     Hugo.
> >>
> >>       
> >
> >
>
------------------------------------------------------------------------
> >
> >
>
-------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2
> express and take
> > control of your XML. No limits. Just data. Click
> to get it now.
> > http://sourceforge.net/powerbar/db2/
> >
>
------------------------------------------------------------------------
> >
> > _______________________________________________
> > Nagios-users mailing list
> > Nagios-users at lists.sourceforge.net
> >
>
https://lists.sourceforge.net/lists/listinfo/nagios-users
> > ::: Please include Nagios version, plugin version
> (-v) and OS when reporting any issue. 
> > ::: Messages without supporting info will risk
> being sent to /dev/null
> 
> 
>  **** DISCLAIMER ****
>  http://www.schaubroeck.be/maildisclaimer.htm
> > #!/usr/bin/perl
> 
> # File:    $Id: insert.pl,v 1.1.1.1 2007/05/14
> 11:46:51 sg Exp $
> # Author:  (c) Soren Dossing, 2005
> # License: OSI Artistic License
> #         
>
http://www.opensource.org/licenses/artistic-license.php
> 
> # Modification: instead of reading a fixed rrdfile
> heartbeat from configfile,
> # the heartbeat is calculated per service (= 3 times
> the interval between
> # the first 2 service checks)
> # -- Stijn Gruwier
> 
> use strict;
> use RRDs;
> 
> # Configuration
> my $configfile = '/etc/nagios/nagiosgraph.cfg';
> 
> # Main program - change nothing below
> 
> my %Config;
> 
> # Read in config file
> #
> sub readconfig {
>   die "config file not found" unless -r $configfile;
> 
>   # Read configuration data
>   open FH, $configfile;
>     while (<FH>) {
>       s/\s*#.*//;    # Strip comments
>       /^(\w+)\s*=\s*(.*?)\s*$/ and do {
>         $Config{$1} = $2;
>         debug(5, "INSERT Config $1:$2");
>       };
>     }
>   close FH;
> 
>   # Make sure log file can be written to
>   die "Log file $Config{logfile} not writable"
> unless -w $Config{logfile};
> 
>   # Make sure rrddir exist and is writable
>   unless ( -w $Config{rrddir} ) {
>     mkdir $Config{rrddir};
>     die "rrd dir $Config{rrddir} not writable"
> unless -w $Config{rrddir};
>   }
> }
> 
> # Parse performance data from input
> #
> sub parseinput {
>   my $data = shift;
>   #debug(5, "INSERT perfdata: $data");
>   my @d = split( /\|\|/, $data);
>   return ( lastcheck    => $d[0],
>            hostname     => $d[1],
>            servicedescr => $d[2],
>            output       => $d[3],
>            perfdata     => $d[4],
>          );
> }
> 
> # Write debug information to log file
> #
> sub debug { 
>   my($l, $text) = @_;
>   if ( $l <= $Config{debug} ) {
>     $l = qw(none critical error warn info
> debug)[$l];
>     $text =~ s/(\w+)/$1 $l:/;
>     open LOG, ">>$Config{logfile}";
>       print LOG scalar localtime;
>       print LOG " $text\n";
>     close LOG;
>   }
> }
> 
> # Dump to log the files read from Nagios
> #
> sub dumpperfdata {
>   my %P = @_;
>   for ( keys %P ) {
>     debug(4, "INSERT Input $_:$P{$_}");
>   }
> }
> 
> # URL encode a string
> #
> sub urlencode {
>   $_[0] =~ s/([\W])/"%" .
> uc(sprintf("%2.2x",ord($1)))/eg;
>   return $_[0];
> }
> 
> # Create new rrd databases if necessary
> #
> sub createrrd {
>   my($host,$service,$start,$labels) = @_;
>   my($f,$v,$t,$ds,$db);
>   my($RRA_1min, $RRA_6min, $RRA_24min, $RRA_288min);
> 
>   if ( defined $Config{RRA_1min} ) {
>     $RRA_1min = $Config{RRA_1min};
>   } else {
>     $RRA_1min = 600;
>   }
>   if ( defined $Config{RRA_6min} ) {
>     $RRA_6min = $Config{RRA_6min};
>   } else {
>     $RRA_6min = 700;
>   }
>   if ( defined $Config{RRA_24min} ) {
>     $RRA_24min = $Config{RRA_24min};
>   } else {
>     $RRA_24min = 775;
>   }
>   if ( defined $Config{RRA_288min} ) {
>     $RRA_288min = $Config{RRA_288min};
>   } else {
>     $RRA_288min = 797;
>   }
> 
>   $db = shift @$labels;
>   $f = urlencode("${host}_${service}_${db}") .
> '.rrd';
> 
>   # vars and file for calculating the rrd-DS
> heartbeat 
>   my($previous, $timefile);
>   $timefile = urlencode("${host}_${service}_${db}")
> . '.time';
> 
>   debug(5, "INSERT Checking $Config{rrddir}/$f");
>   unless ( -e "$Config{rrddir}/$f" ) {
>   # calculating the rrd-DS heartbeat 
>   if (-e "$Config{rrddir}/$timefile"){
>        open(FILE, "$Config{rrddir}/$timefile") or
> die "nagiosgraph - insert.pl: can't read from
> timefile $!\n";
> 	       $previous = <FILE>;
>        close FILE;
>        $Config{heartbeat} = ($start - $previous)*7;
>        unlink "$Config{rrddir}/$timefile"
>   }
>   else{
>        open(FILE, ">$Config{rrddir}/$timefile") or
> die "nagiosgraph - insert.pl: can't write to
> timefile $!\n";
> 	       print FILE "$start\n";
>        close FILE;
>        exit 0;
>   }
>     $ds = "$Config{rrddir}/$f --start $start";
>     for ( @$labels ) {
>       ($v,$t) = ($_->[0],$_->[1]);
>       my $u = $t eq 'DERIVE' ? '0' : 'U' ;
>       $ds .= " DS:$v:$t:$Config{heartbeat}:$u:U";
>     }
>     $ds .= " RRA:AVERAGE:0.5:1:" . $RRA_1min;
>     $ds .= " RRA:AVERAGE:0.5:6:" . $RRA_6min;
>     $ds .= " RRA:AVERAGE:0.5:24:" . $RRA_24min;
>     $ds .= " RRA:AVERAGE:0.5:288:" . $RRA_288min;
> debug(1, "DS = $ds");
> 
>     my @ds = split /\s+/, $ds;
>     debug(4, "INSERT RRDs::create $ds");
>     RRDs::create(@ds);
>     debug(2, "INSERT RRDs::create ERR " .
> RRDs::error) if RRDs::error;
>   }
>   return $f;
> }
> 
> # Use RRDs to update rrd file
> #
> sub rrdupdate {
>   my($file,$time,$values) = @_;
>   my($ds,$c);
> 
>   $ds = "$Config{rrddir}/$file $time";
>   for ( @$values ) {
>     $_->[2] ||= 0;
>     $ds .= ":$_->[2]";
>   }
> 
>   my @ds = split /\s+/, $ds;
>   debug(4, "INSERT RRDs::update ". join ' ', @ds);
>   RRDs::update(@ds);
>   debug(2, "INSERT RRDs::update ERR " . RRDs::error)
> if RRDs::error;
> }
> 
> # See if we can recognize any of the data we got
> #
> sub parseperfdata {
> 
=== message truncated ===>
-------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2
> express and take
> control of your XML. No limits. Just data. Click to
> get it now.
> http://sourceforge.net/powerbar/db2/>
_______________________________________________
> Nagios-users mailing list
> Nagios-users at lists.sourceforge.net
>
https://lists.sourceforge.net/lists/listinfo/nagios-users
> ::: Please include Nagios version, plugin version
> (-v) and OS when reporting any issue. 
> ::: Messages without supporting info will risk being
> sent to /dev/null



 
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list