summaryrefslogtreecommitdiff
path: root/mrtg-ip
blob: f9afa6dab042f768a8eb0f0f107963cf59b8fbb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl -wT

# (c) 2003 by Peter Palfrader
#
# mrtg memory and swap usage check

use strict;
use English;

my $IFACE = shift @ARGV;
die ("Usage: $PROGRAM_NAME <interface>") unless defined $IFACE;

$ENV{'PATH'} = '/bin:/usr/bin';
delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};

$UID=$EUID;

open(FOO, "/proc/net/dev") || die "$0: can't open /proc/net/dev: $!";
my @dev = <FOO>;
close FOO;

my $dev = join '', @dev;

my ($in, $out) = $dev =~ /^\s*$IFACE:\s*(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)/m;

defined $in or
	$in = 0,
	warn ("Incoming bytes not found for $IFACE\n");
defined $out or
	$out = 0,
	warn ("Outgoing bytes not found for $IFACE\n");

my $uptime=`/usr/bin/uptime`;
my $hostname=`/bin/hostname`;
print $in,"\n";
print $out,"\n";
printf "%s%s", $uptime, $hostname;