Страница 1 из 1

php, snmp

Добавлено: 2010-08-30 6:43:10
Гость
написан маленький скриптик для опроса snmp-устройств, подскажите корректно ли написан:

Код: Выделить всё

    $mac=1;
    $sum=1;
    $sum_of=1;
    $i=1;
    while($mac)
    {
    $mac=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.2.".$i);
    $ip=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.3.".$i);
    $snr=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.13.".$i);
    $pow=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.6.".$i);
    $statusonline=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.19.".$i);
    $dhcpstatus=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.20.".$i);
    $int=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.5.".$i);

    $vhod=strrpos($ip,": ");
    $ip=substr($ip,$vhod+2);
    $vhod=strrpos($mac,": ");
    $mac1=substr($mac,$vhod+1);
    $mac1=trim($mac1);
    $mac1=str_replace(" ","",$mac1);
    error_reporting(0);
    $mac=snmpget("10.....","....","SNMPv2-SMI::transmission.127.1.3.3.1.2.".($i+1));
    error_reporting(E_ALL);
    $vhod=strrpos($snr,": ");
    $snr=substr($snr,$vhod+1);
    $snr=$snr/10;
    $vhod=strrpos($pow,": ");
    $pow=substr($pow,$vhod+1);
    $vhod=strrpos($statusonline,": ");
    $statusonline=substr($statusonline,$vhod+1);
    $vhod=strrpos($dhcpstatus,": ");
    $dhcpstatus=substr($dhcpstatus,$vhod+1);
    $vhod=strrpos($int,": ");
    $int=substr($int,$vhod+8);
    $int=$int/4-2;
$time=time();
$date = date("Y-m-d H:i:s",$time);
$i++;
......
сейчас вроде норм он отрабатывает, последовательно опрашиваются все устройства, но все равно смущает как он сделан, как правильно опросить все устройства, не зная как сколько $i может быть?

Re: php, snmp

Добавлено: 2010-09-01 0:47:32
ProFTP
а что нужно сделать? зачем опрос?

если работает - значит правильно...