-
Notifications
You must be signed in to change notification settings - Fork 0
/
saaqosmaker
107 lines (87 loc) · 3.73 KB
/
saaqosmaker
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/usr/bin/perl
#
#
#
#Generate MRTG configs for CPE QOS using SAA probes
# - tdcdf1 07/02/05
#
#
#Version 1.6 currently supports RTT, Packet Loss and Jitter operations
$version="1.16";
$router=$ARGV[0];
$community=$ARGV[1];
$OIDDESCS = ".1.3.6.1.4.1.9.9.42.1.2.1.1.3"; # Descriptions
$OIDRTTSD = ".1.3.6.1.4.1.9.9.42.1.5.2.1.2"; # RTT Source -> Destination
$OIDRTTDS = ".1.3.6.1.4.1.9.9.42.1.5.2.1.2"; # RTT Destination -> Source
$OIDPLSSD = ".1.3.6.1.4.1.9.9.42.1.5.2.1.26"; # Packet Loss Source -> Destination
$OIDPLSDS = ".1.3.6.1.4.1.9.9.42.1.5.2.1.27"; # Packet Loss Destination -> Source
$OIDPJTSD = ".1.3.6.1.4.1.9.9.42.1.5.2.1.7"; # Positive Jitter Source -> Destination
$OIDPJTDS = ".1.3.6.1.4.1.9.9.42.1.5.2.1.17"; # Positive Jitter Destination -> Source
$OIDNJTSD = ".1.3.6.1.4.1.9.9.42.1.5.2.1.12"; # Negative Jitter Source -> Destination
$OIDNJTDS = ".1.3.6.1.4.1.9.9.42.1.5.2.1.22"; # Negative Jitter Destination -> Source
unless ($community) {
print "$0 - Version $version\n";
print "Usage: $0 <router> <community> [-64(d)|-no64] [-drops(d)|-nodrops]\n";
exit;
}
$date = `date`;
print "############# Configuration below generated by SAA QoSMaker on $date\n\n";
$probesraw=`snmpwalk 2>/dev/null -v1 -c $community $router $OIDDESCS`;
@probes = split(/\n/,$probesraw);
foreach (@probes) {
if ($_ =~ m/^(.*)\.(\d+) = STRING: (.*)$/) {
$probeid = $2;
$probedesc = $3;
print <<EOM
# SAA RTT
Target[probe$probeid-rtt]: $OIDRTTSD.$probeid&$OIDRTTDS.$probeid:${community}\@${router}:::::2
Maxbytes[probe$probeid-rtt]: 10000
Title[probe$probeid-rtt]: $probedesc (RTT)
PageTop[probe$probeid-rtt]: <H1>$probedesc RTT</H1>
ShortLegend[probe$probeid-rtt]: ms
YLegend[probe$probeid-rtt]: miliseconds
Legend1[probe$probeid-rtt]: Latest RTT
Legend2[probe$probeid-rtt]: Latest RTT
LegendI[probe$probeid-rtt]: RTT:
LegendO[probe$probeid-rtt]: RTT:
Options[probe$probeid-rtt]: growright, gauge, nopercent
# SAA PACKET LOSS
Target[probe$probeid-pktloss]: $OIDPLSSD.$probeid&$OIDPLSDS.$probeid:${community}\@${router}:::::2
Maxbytes[probe$probeid-pktloss]: 10000
Title[probe$probeid-pktloss]: $probedesc (Packet Loss)
PageTop[probe$probeid-pktloss]: <H1>$probedesc (Packet Loss)</H1>
ShortLegend[probe$probeid-pktloss]: pkts
YLegend[probe$probeid-pktloss]: Packets
Legend1[probe$probeid-pktloss]: Packet loss SD
Legend2[probe$probeid-pktloss]: Packet loss DS
LegendI[probe$probeid-pktloss]: SD:
LegendO[probe$probeid-pktloss]: DS:
Options[probe$probeid-pktloss]: growright, gauge
# SAA POS JITTER
Target[probe$probeid-posjitter]: $OIDPJTSD.$probeid&$OIDPJTDS.$probeid:${community}\@${router}:::::2
Maxbytes[probe$probeid-posjitter]: 10000
Title[probe$probeid-posjitter]: $probedesc (MAX Positive jitter)
PageTop[probe$probeid-posjitter]: <H1>$probedesc (MAX Positive jitter)</H1>
ShortLegend[probe$probeid-posjitter]: ms
YLegend[probe$probeid-posjitter]: miliseconds
Legend1[probe$probeid-posjitter]: MAX Positive jitter SD
Legend2[probe$probeid-posjitter]: MAX Positive jitter DS
LegendI[probe$probeid-posjitter]: SD:
LegendO[probe$probeid-posjitter]: DS:
Options[probe$probeid-posjitter]: growright, gauge, nopercent
# SAA NEG JITTER
Target[probe$probeid-negjitter]: $OIDNJTSD.$probeid&$OIDNJTDS.$probeid:${community}\@${router}:::::2
Maxbytes[probe$probeid-negjitter]: 10000
Title[probe$probeid-negjitter]: $probedesc (MAX Negative Jitter)
PageTop[probe$probeid-negjitter]: <H1>$probedesc (MAX Negative jitter)</H1>
ShortLegend[probe$probeid-negjitter]: ms
YLegend[probe$probeid-negjitter]: miliseconds
Legend1[probe$probeid-negjitter]: MAX Negative jitter SD
Legend2[probe$probeid-negjitter]: MAX Negative jitter DS
LegendI[probe$probeid-negjitter]: SD:
LegendO[probe$probeid-negjitter]: DS:
Options[probe$probeid-negjitter]: growright, gauge, nopercent
EOM
;
}
}