2 |
|
|
3 |
|
# |
4 |
|
# i-scream central monitoring system |
5 |
< |
# http://www.i-scream.org.uk |
5 |
> |
# http://www.i-scream.org |
6 |
|
# Copyright (C) 2000-2002 i-scream |
7 |
|
# |
8 |
|
# This program is free software; you can redistribute it and/or |
22 |
|
|
23 |
|
# ----------------------------------------------------------- |
24 |
|
# i-scream graph generation scripts |
25 |
< |
# http://www.i-scream.org.uk |
25 |
> |
# http://www.i-scream.org |
26 |
|
# |
27 |
|
# Generates rrd databases for i-scream data by connecting to |
28 |
|
# the i-scream server and collecting data. |
31 |
|
# $Id$ |
32 |
|
#------------------------------------------------------------ |
33 |
|
|
34 |
– |
BEGIN { |
35 |
– |
push (@INC, "/usr/local/packages/rrdtool/lib/perl5/site_perl/5.8.2/sun4-solaris"); |
36 |
– |
} |
37 |
– |
|
34 |
|
my($version) = '$Id$'; |
35 |
|
|
36 |
|
$| = 1; |
43 |
|
|
44 |
|
# define variables that will be read from the config |
45 |
|
# nb. keep this insync with the config file! |
46 |
< |
use vars qw{ |
47 |
< |
$imgdir $rrddir |
46 |
> |
use vars qw{ |
47 |
> |
$imgdir $rrddir |
48 |
|
$maxrrdage $maximgage $deleterrds $deleteimgs |
49 |
< |
$hex_slash $hex_underscore |
49 |
> |
$hex_slash $hex_underscore $hex_space $hex_colon $hex_bslash $hex_rbracket |
50 |
> |
$hex_lbracket $hex_plus |
51 |
|
$rrdstep $retry_wait |
52 |
|
$verbose $quiet |
53 |
|
}; |
257 |
|
); |
258 |
|
&updaterrd($machine, "cpu", $date, $rrdstep, \%xmlhash, @data); |
259 |
|
|
260 |
+ |
# uptime |
261 |
+ |
@data = ( "packet.os.uptime:uptime:GAUGE" ); |
262 |
+ |
&updaterrd($machine, "uptime", $date, $rrdstep, \%xmlhash, @data); |
263 |
+ |
|
264 |
|
# mem |
265 |
|
@data = ( "packet.memory.free:free:GAUGE", |
266 |
|
"packet.memory.total:total:GAUGE", |
307 |
|
my($mount) = $xmlhash{"packet.disk.p$i.attributes.mount"}; |
308 |
|
$mount =~ s/_/$hex_underscore/g; |
309 |
|
$mount =~ s/\//$hex_slash/g; |
310 |
+ |
$mount =~ s/\\/$hex_bslash/g; |
311 |
+ |
$mount =~ s/ /$hex_space/g; |
312 |
+ |
$mount =~ s/:/$hex_colon/g; |
313 |
|
@data = ( "packet.disk.p$i.attributes.total:total:GAUGE", |
314 |
|
"packet.disk.p$i.attributes.used:used:GAUGE", |
315 |
|
"packet.disk.p$i.attributes.totalinodes:totalinodes:GAUGE", |
323 |
|
$i = 0; |
324 |
|
while(defined $xmlhash{"packet.diskio.p$i.attributes.name"}) { |
325 |
|
my($name) = $xmlhash{"packet.diskio.p$i.attributes.name"}; |
326 |
+ |
$name =~ s/_/$hex_underscore/g; |
327 |
+ |
$name =~ s/\//$hex_slash/g; |
328 |
+ |
$name =~ s/\\/$hex_bslash/g; |
329 |
+ |
$name =~ s/ /$hex_space/g; |
330 |
+ |
$name =~ s/:/$hex_colon/g; |
331 |
|
@data = ( "packet.diskio.p$i.attributes.rbytes:rbytes:GAUGE", |
332 |
|
"packet.diskio.p$i.attributes.wbytes:wbytes:GAUGE", |
333 |
|
); |
339 |
|
$i = 0; |
340 |
|
while(defined $xmlhash{"packet.net.p$i.attributes.name"}) { |
341 |
|
my($name) = $xmlhash{"packet.net.p$i.attributes.name"}; |
342 |
+ |
$name =~ s/_/$hex_underscore/g; |
343 |
+ |
$name =~ s/\//$hex_slash/g; |
344 |
+ |
$name =~ s/\\/$hex_bslash/g; |
345 |
+ |
$name =~ s/ /$hex_space/g; |
346 |
+ |
$name =~ s/:/$hex_colon/g; |
347 |
+ |
$name =~ s/\(/$hex_lbracket/g; |
348 |
+ |
$name =~ s/\)/$hex_rbracket/g; |
349 |
+ |
$name =~ s/\+/$hex_plus/g; |
350 |
|
@data = ( "packet.net.p$i.attributes.rx:rx:GAUGE", |
351 |
|
"packet.net.p$i.attributes.tx:tx:GAUGE", |
352 |
|
); |
358 |
|
$i = 0; |
359 |
|
while(defined $xmlhash{"packet.mailq.p$i.attributes.name"}) { |
360 |
|
my($name) = $xmlhash{"packet.mailq.p$i.attributes.name"}; |
361 |
< |
$name =~ s/\s+//g; |
361 |
> |
$name =~ s/\s+//g; |
362 |
|
@data = ( "packet.mailq.p$i.attributes.size:size:GAUGE", |
363 |
|
); |
364 |
|
&updaterrd($machine, "mailq-$name", $date, $rrdstep, \%xmlhash, @data); |