[CISCO] как можно узнать кол-во занятых модемов в асинк-группе (cisco snmp statistic interface)
Ключевые слова: cisco, snmp, statistic, interface, (найти похожие документы)
Subj : [CISCO] как можно узнать кол-во занятых модемов в асинк-группе
vlad@irk.global-one.ru wrote:
> Подскажите, как можно узнать кол-во занятых модемов в асинк-группе на
> 2511, MIBа не нашел соответствующего,
> что же делать ?
Вот скриптик который нужно прикрутить к MRTG и соответсвенно
кусок cfg файла. (переделано из родных скриптов для 5200)
Можно либо так смотреть статистику или вытащить из них MIB
переменные и смастерить что-то свое.
Если интерестно кто сидит на линиях то загляни в месаги
с сабжектом "show user" из этой же конференции
--
*************************************************
* MAG-RIPE mag@ipc.ru http://www.ipc.ru/ *
* SysAdmin of IP Comminication +7 095 737 6683 *
*************************************************
--------------E1531E582C10F81734750F60
Content-Type: text/plain; charset=koi8-r;
name="get-c2511"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="get-c2511"
#!/usr/local/bin/perl
require 5.003;
use SNMP_Session "0.52";
use BER "0.50";
my($community,$router) = split /\@/, $ARGV[0];
my($port) = $ARGV[1];
my $portmax=$port+17;
my $up=0, $down=0, $status=0, $iup=0, $istatus=0, $Uptime=0, $sysName="";
while ($port < $portmax) {
($status) =
&snmpget($router,
$community,
'1.3.6.1.2.1.2.2.1.8.'. $port,
); # ifOperStatus
if ( $status == 1 )
{ $up ++; }
if ( ($status != 1) && ($status != 2) )
{ $down ++; }
$port ++;
}
($Uptime,$sysName) =
&snmpget($router,
$community,
'1.3.6.1.2.1.1.3.0', # sysUptime
'1.3.6.1.2.1.1.5.0' ); # sysName
print "$up\n$down\n$Uptime\n$sysName\n";
%snmpget::OIDS =
('sysDescr' => '1.3.6.1.2.1.1.1.0',
'sysContact' => '1.3.6.1.2.1.1.4.0',
'sysName' => '1.3.6.1.2.1.1.5.0',
'sysLocation' => '1.3.6.1.2.1.1.6.0',
'sysUptime' => '1.3.6.1.2.1.1.3.0',
'ifNumber' => '1.3.6.1.2.1.2.1.0',
###################################
# add the ifNumber ....
'ifDescr' => '1.3.6.1.2.1.2.2.1.2',
'ifType' => '1.3.6.1.2.1.2.2.1.3',
'ifIndex' => '1.3.6.1.2.1.2.2.1.1',
'ifInErrors' => '1.3.6.1.2.1.2.2.1.14',
'ifOutErrors' => '1.3.6.1.2.1.2.2.1.20',
'ifInOctets' => '1.3.6.1.2.1.2.2.1.10',
'ifOutOctets' => '1.3.6.1.2.1.2.2.1.16',
'ifInDiscards' => '1.3.6.1.2.1.2.2.1.13',
'ifOutDiscards' => '1.3.6.1.2.1.2.2.1.19',
'ifInUcastPkts' => '1.3.6.1.2.1.2.2.1.11',
'ifOutUcastPkts' => '1.3.6.1.2.1.2.2.1.17',
'ifInNUcastPkts' => '1.3.6.1.2.1.2.2.1.12',
'ifOutNUcastPkts' => '1.3.6.1.2.1.2.2.1.18',
'ifInUnknownProtos' => '1.3.6.1.2.1.2.2.1.15',
'ifOutQLen' => '1.3.6.1.2.1.2.2.1.21',
'ifSpeed' => '1.3.6.1.2.1.2.2.1.5',
# up 1, down 2, testing 3
'ifOperStatus' => '1.3.6.1.2.1.2.2.1.8',
'ifAdminStatus' => '1.3.6.1.2.1.2.2.1.7',
# up = 1 else 0;
'ifOperHack' => '1.3.6.1.2.1.2.2.1.8',
'ifAdminHack' => '1.3.6.1.2.1.2.2.1.7',
#frame relay stuff ... see the docs for explanations
'frInOctets' => '1.3.6.1.2.1.10.32.2.1.9',
'frOutOctets' => '1.3.6.1.2.1.10.32.2.1.7',
);
sub snmpget {
my($host,$community,@vars) = @_;
my(@enoid, $var,$response, $bindings, $binding, $value, $inoid,$outoid,
$upoid,$oid,@retvals);
foreach $var (@vars) {
if ($var =~ /^([a-z]+)/i) {
my $oid = $snmpget::OIDS{$1};
if ($oid) {
$var =~ s/$1/$oid/;
} else {
die "Unknown SNMP var $var\n"
}
}
push @enoid, encode_oid((split /\./, $var));
}
srand();
my $session;
$session = SNMP_Session->open($host,$community,161);
if (! defined($session)) {
warn "SNMPGET Problem for $community\@$host\n";
return (-1,-1);
}
if ($session->get_request_response(@enoid)) {
$response = $session->pdu_buffer;
($bindings) = $session->decode_get_response ($response);
$session->close ();
while ($bindings) {
($binding,$bindings) = decode_sequence ($bindings);
($oid,$value) = decode_by_template ($binding, "%O%@");
my $tempo = pretty_print($value);
$tempo=~s/\t/ /g;
$tempo=~s/\n/ /g;
$tempo=~s/^\s+//;
$tempo=~s/\s+$//;
push @retvals, $tempo;
}
return (@retvals);
} else {
return (-1,-1);
}
}
--------------E1531E582C10F81734750F60
Content-Type: text/html; charset=koi8-r;
name="ciscoall.cfg"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="ciscoall.cfg"
PageTop[allcisco]: <H1>Active Modems
<BR>Dialup Modem Cluster</H1>
<TABLE>
<TR><TD>IP:</TD><TD> Dialup Modem Cluster Activeti</TD></TR>
<TR><TD>Capability:</TD><TD>16 Analog Modems</TD></TR>
</TABLE>
Target[allcisco]: `/usr/local/bin/get-c2511`
Directory[allcisco]: cisco
WithPeak[allcisco]: wmy
Unscaled[allcisco]: my
Options[allcisco]: growright, nopercent, integer, absolute, gauge
MaxBytes[allcisco]: 16
Title[allcisco]: All modems monitor
Ylegend[allcisco]: Active Modems
ShortLegend[allcisco]: Modems
Legend1[allcisco]: Current Active Modems
Legend2[allcisco]: Current Inactive Modems
Legend3[allcisco]: 5 minute Average Active Modems
Legend4[allcisco]: 5 Minute Average Inactive Modems
LegendI[allcisco]: Active:
LegendO[allcisco]: Inactive: