作者Zichi (外表是最好的掩飾)
看板PHP
標題[請益] 利用PHP程式抓無線網路MIB Table並處理
時間Tue Jan 29 18:07:07 2008
大家好
請教大家如何利用PHP程式來做MIB裡的Table相加減
也就是說其實Table值是一直在變化的,而我抓回來的Table要減掉上次抓回的
以下程式跑了以後沒有抓到相減的值,請問是哪邊寫錯了呢?
這是利用SNMP抓值
<?php
$labTime = date("md-Hi", time()+8*3600);
$fileName = "C:\\temp\\$labTime.txt";
$period = 10; // seconds
$host="10.10.32.144";
$comm="1234";
$oidPrefix=".1.3.6.1.4.1.522.3.12.5.1";
$colIds = array(1,3,4,5,6,7,9,10,13,14);
//$Timeout = 5;
//$Retries = 3;
if (!$handle = fopen($fileName, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
$time1=time();
while (true) {
foreach ($colIds as $i) {
$cols[$i] = snmpwalk($host, $comm, "$oidPrefix.$i", 10);
for ($j=0; $j<count($cols[$i]);$j++)
if (strpos($cols[$i][$j],":"))
$cols[$i][$j]=trim(substr(strrchr($cols[$i][$j], ": "), 2 ));
}
$time2 = time()-$time1;
for ($j=0; $j<count($cols[1]);$j++) {
foreach ($colIds as $i) {
$record[$i] = $cols[$i][$j];
}
$mac = $record[1];
if (isset($val[$mac])) {
$TxShortRetries=$record[4];
$TxLongRetries=$record[5];
$LatestTxShortRetries=$record[6];
$LatestTxLongRetries=$record[7];
$record[4]=($record[4]-$val[$mac]["TxShortRetries"]+4294967295) %
4294967295;
$record[5]=($record[5]-$val[$mac]["TxLongRetries"]+4294967295) %
4294967295;
$record[6]=($record[6]-$val[$mac]["LatestTxShortRetries"]+4294967295) %
4294967295;
$record[7]=($record[7]-$val[$mac]["LatestTxLongRetries"]+4294967295) %
4294967295;
$val[$mac]["TxShortRetries"]=$TxShortRetries;
$val[$mac]["TxLongRetries"]=$TxLongRetries;
$val[$mac]["LatestTxShortRetries"]=$LatestTxShortRetries;
$val[$mac]["LatestTxLongRetries"]=$LatestTxLongRetries;
$recStr = $time2 . "\t". implode("\t", $record);
echo "$recStr\n";
fputs($handle, "$recStr\n");
}
else {
$val[$mac]["TxShortRetries"]=$record[4];
$val[$mac]["TxLongRetries"]=$record[5];
$val[$mac]["LatestTxShortRetries"]=$record[6];
$val[$mac]["LatestTxLongRetries"]=$record[7];
}
}
sleep($period);
}
fclose($handle);
?>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.32.200