2009-09-07 11:07:59 +00:00
< ? php
2009-04-28 11:02:13 +00:00
2009-11-10 14:15:32 +00:00
echo ( " CISCO-MEMORY-POOL: " );
$query = " SELECT * FROM cmpMemPool WHERE device_id = ' " . $device [ 'device_id' ] . " ' " ;
2009-04-28 11:02:13 +00:00
$pool_data = mysql_query ( $query );
while ( $mempool = mysql_fetch_array ( $pool_data )) {
2009-11-10 14:15:32 +00:00
echo ( $mempool [ 'cmpName' ] . " " );
2009-04-28 11:02:13 +00:00
2009-11-10 14:15:32 +00:00
$oid = $mempool [ 'Index' ];
2009-04-28 11:02:13 +00:00
2009-11-10 14:15:32 +00:00
$pool_cmd = $config [ 'snmpget' ] . " -m CISCO-MEMORY-POOL-MIB -O Uqnv - " . $device [ 'snmpver' ] . " -c " . $device [ 'community' ] . " " . $device [ 'hostname' ] . " : " . $device [ 'port' ];
$pool_cmd .= " ciscoMemoryPoolUsed. $oid ciscoMemoryPoolFree. $oid ciscoMemoryPoolLargestFree. $oid " ;
2009-04-28 11:02:13 +00:00
$pool_cmd .= " | cut -f 1 -d ' ' " ;
$pool = shell_exec ( $pool_cmd );
2009-11-10 14:15:32 +00:00
list ( $cmpUsed , $cmpFree , $cmpLargestFree ) = explode ( " \n " , $pool );
2009-04-28 11:02:13 +00:00
2009-11-10 14:15:32 +00:00
echo ( round (( $cmpUsed / ( $cmpFree + $cmpUsed )) * 100 ) . " % " );
$poolrrd = $config [ 'rrd_dir' ] . " / " . $device [ 'hostname' ] . " /cmp- " . $mempool [ 'Index' ] . " .rrd " ;
2009-04-28 11:02:13 +00:00
if ( ! is_file ( $poolrrd )) {
2009-11-10 14:15:32 +00:00
shell_exec ( $config [ 'rrdtool' ] . " create $poolrrd \
2009-04-28 11:02:13 +00:00
-- step 300 \
DS : used : GAUGE : 600 : 0 : U \
DS : free : GAUGE : 600 :- 1 : U \
DS : largestfree : GAUGE : 600 : 0 : U \
RRA : AVERAGE : 0.5 : 1 : 2000 \
RRA : AVERAGE : 0.5 : 6 : 2000 \
RRA : AVERAGE : 0.5 : 24 : 2000 \
RRA : AVERAGE : 0.5 : 288 : 2000 \
RRA : MAX : 0.5 : 1 : 2000 \
RRA : MAX : 0.5 : 6 : 2000 \
RRA : MAX : 0.5 : 24 : 2000 \
2009-11-10 14:15:32 +00:00
RRA : MAX : 0.5 : 288 : 2000 " );
2009-04-28 11:02:13 +00:00
}
$pool = trim ( str_replace ( " \" " , " " , $pool ));
list ( $pool ) = split ( " " , $pool );
2009-11-10 14:15:32 +00:00
$updatecmd = $config [ 'rrdtool' ] . " update $poolrrd N: $cmpUsed : $cmpFree : $cmpLargestFree " ;
2009-04-28 11:02:13 +00:00
shell_exec ( $updatecmd );
2009-11-10 14:15:32 +00:00
$update_query = " UPDATE `cmpMemPool` SET cmpUsed=' $cmpUsed ', cmpFree=' $cmpFree ', cmpLargestFree=' $cmpLargestFree ' WHERE `cmp_id` = ' " . $mempool [ 'cmp_id' ] . " ' " ;
2009-04-28 11:02:13 +00:00
mysql_query ( $update_query );
}
2009-11-10 14:15:32 +00:00
echo ( " \n " );
2009-04-28 11:02:13 +00:00
?>