URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 5201
[ Назад ]

Исходное сообщение
"mrtg, ucd, cuaa devices"

Отправлено Sanko , 17-Ноя-00 15:32 
Я тут скриптом обзавелся чтобы смотреть когда у меня cuaa девайсы заняты, но не работает почему то... в смысле графики не рисует.....
поделитесь своим мнением, кто сталкивался/решал такие задачи.

#!/usr/bin/perl
$up = 0;
for($i=15;$i<=24;$i++){
$Args = "snmpget jimmy public interfaces.ifTable.ifEntry.ifAdminStatus.$i >>io.data";
open(THIS,"|$Args");
close THIS;
}

$Args = "snmpget jimmy public System.SysUptime.0 >>io.uptime";
open(THIS,"|$Args");
close THIS;

$Args = "snmpget jimmy public System.SysName.0 >>io.uptime";
open(THIS,"|$Args");
close THIS;

open(THIS,"<io.data");
@data = <THIS>;
close THIS;
foreach $line (@data) {
if ($line =~ /up/) {$up++;}
}

open(THIS,"<io.uptime");
@data = <THIS>;
close THIS;

@uptime = split /\s/,$data[0];
$data[0] = "$uptime[4] $uptime[5] $uptime[6]";
@name = split /\s/,$data[1];
$data[1] = $name[2];

print $up."\n";
print "0\n";
print $data[0]."\n";
print $data[1]."\n";
unlink("io.data");
unlink("io.uptime");
exit;


Содержание

Сообщения в этом обсуждении
"RE: mrtg, ucd, cuaa devices"
Отправлено Walker , 17-Ноя-00 19:08 
А не проще SNMPD поставить ??

"странно....."
Отправлено Sanko , 20-Ноя-00 13:42 
А чем он лучше ucd-snmp? Мне надо знать статус PPP интерфейсов: когда и сколько up или down.
А скрипт для этого и написан. Дело  в том, что он работает с консоли, но не работает из крона, - правильно показывает только last updated. В логе mrtg
974705705 1 0
974705705 0 0 0 0
974705411 0 0 0 0
И все. На графике - 0.

"RE: mrtg, ucd, cuaa devices"
Отправлено Walker , 21-Ноя-00 16:14 
Насколько я помню mrtg показывает только после 5-ти записей в логе.

"Есть рецепты"
Отправлено Sanko , 22-Ноя-00 15:25 
как пофиксить что б заработало?

"RE: Есть рецепты"
Отправлено Walker , 22-Ноя-00 16:54 
А нифига фиксить не надо :) просто в cron пропиши
mrtg modem.cfg через каждые 5 мин :)

"блин!"
Отправлено Sanko , 23-Ноя-00 13:12 
Так он у меня так и прописан раз в пять минут....
А толка - 0

"RE: блин!"
Отправлено Walker , 23-Ноя-00 16:13 
Бред какойто .. у тебя в snmp модемы видно ??

"RE: блин!"
Отправлено Sanko , 24-Ноя-00 13:17 
конечно, у них статус меняется если посмотреть snmpget`ом.. .самое обидное, что этот скрипт нормально работает с командной строки... все как положено...

"RE: блин!"
Отправлено Walker , 24-Ноя-00 15:38 
гм..
==========
Target[ppp1]:4:public@localhost
MaxBytes[ppp1]:5500
Options[ppp1]:growright
========
вот вырезка из cfg , а ты эти модемы cfgmaker-ом находил ??

"мой .conf"
Отправлено Sanko , 25-Ноя-00 02:32 
cfgmaker тут не причем, он тут не поможет, ибо мне нужно знать сколько модемов из 10 заняты,  а через snmpget такое можно получить только
interfaces.ifTable.ifEntry.ifAdminStatus.15 = up(1)
interfaces.ifTable.ifEntry.ifAdminStatus.15 = down(2)
а дальше все это в скрипт, а он долден дать эот mrtg, или я что то путаю?
WorkDir: /usr/local/apache/www/page/htdocs/stat/mrtg/modems/
Target[modem]: ` /usr/home/mrtg/modem_t.pl`
Options[modem]: growright,absolute,integer
MaxBytes[modem]: 10
AbsMax[modem]: 10
YLegend[modem]: modems in use
LegendI[modem]: Busy 
ShortLegend[modem]: busy 
#Suppress[modem]: y
#IconDir: /images


"RE: мой .conf"
Отправлено Walker , 28-Ноя-00 16:34 
гм.. вот мой 2 конф для модемов
getmodem.pl
===============
#!/usr/bin/perl                              
#                                            
$Name="MODEM POOL";                          
$Uptime="0";                                
                                            
$pppd=`ps ax|grep pppd|grep -v grep|wc -l`;  
$pppd=~ s/\s*//;                            
chomp $pppd;                                
printf "$pppd\n";                            
printf "$pppd\n";                            
#printf "$pppd\n";                          
#printf "$pppd\n";                          
                                            
printf "$Uptime\n";                          
printf "$Name\n";                            
=================

"RE: мой .conf"
Отправлено Walker , 28-Ноя-00 16:35 
гм.. ладно вот мой 2 конф для модемов..
getmodem.pl
===============
#!/usr/bin/perl                              
#                                            
$Name="MODEM POOL";                          
$Uptime="0";                                
                                            
$pppd=`ps ax|grep pppd|grep -v grep|wc -l`;  
$pppd=~ s/\s*//;                            
chomp $pppd;                                
printf "$pppd\n";                            
printf "$pppd\n";                            
                                            
printf "$Uptime\n";                          
printf "$Name\n";                  
=====================