| 
									
										
										
										
											2010-07-28 12:59:59 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  | if ($device['os'] != 'Snom') { | 
					
						
							|  |  |  |     echo ' IP'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // These are at the start of large trees that we don't want to walk the entirety of, so we snmp_get_multi them
 | 
					
						
							|  |  |  |     $oids = array( | 
					
						
							|  |  |  |         'ipForwDatagrams', | 
					
						
							|  |  |  |         'ipInDelivers', | 
					
						
							|  |  |  |         'ipInReceives', | 
					
						
							|  |  |  |         'ipOutRequests', | 
					
						
							|  |  |  |         'ipInDiscards', | 
					
						
							|  |  |  |         'ipOutDiscards', | 
					
						
							|  |  |  |         'ipOutNoRoutes', | 
					
						
							|  |  |  |         'ipReasmReqds', | 
					
						
							|  |  |  |         'ipReasmOKs', | 
					
						
							|  |  |  |         'ipReasmFails', | 
					
						
							|  |  |  |         'ipFragOKs', | 
					
						
							|  |  |  |         'ipFragFails', | 
					
						
							|  |  |  |         'ipFragCreates', | 
					
						
							|  |  |  |         'ipInUnknownProtos', | 
					
						
							|  |  |  |         'ipInHdrErrors', | 
					
						
							|  |  |  |         'ipInAddrErrors', | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-18 16:26:55 +00:00
										 |  |  |     unset($snmpstring, $fields, $snmpdata, $snmpdata_cmd, $rrd_create); | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  |     $rrd_file = $config['rrd_dir'].'/'.$device['hostname'].'/netstats-ip.rrd'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $rrd_create = $config['rrd_rra']; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     foreach ($oids as $oid) { | 
					
						
							|  |  |  |         $oid_ds          = truncate($oid, 19, ''); | 
					
						
							|  |  |  |         $rrd_create .= " DS:$oid_ds:COUNTER:600:U:100000000000"; | 
					
						
							|  |  |  |         $snmpstring .= ' IP-MIB::'.$oid.'.0'; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2010-07-28 12:59:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  |     $data = snmp_get_multi($device, $snmpstring, '-OQUs', 'IP-MIB'); | 
					
						
							| 
									
										
										
										
											2010-07-28 12:59:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-18 16:26:55 +00:00
										 |  |  |     $fields = array(); | 
					
						
							| 
									
										
										
										
											2010-07-28 12:59:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  |     foreach ($oids as $oid) { | 
					
						
							|  |  |  |         if (is_numeric($data[0][$oid])) { | 
					
						
							|  |  |  |             $value = $data[0][$oid]; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         else { | 
					
						
							|  |  |  |             $value = 'U'; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-08-18 16:26:55 +00:00
										 |  |  |         $fields[$oid] = $value; | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2010-07-28 12:59:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  |     if (isset($data[0]['ipOutRequests']) && isset($data[0]['ipInReceives'])) { | 
					
						
							|  |  |  |         if (!file_exists($rrd_file)) { | 
					
						
							|  |  |  |             rrdtool_create($rrd_file, $rrd_create); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2010-07-28 12:59:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-18 16:26:55 +00:00
										 |  |  |         rrdtool_update($rrd_file, $fields); | 
					
						
							| 
									
										
										
										
											2015-08-19 20:58:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         $tags = array(); | 
					
						
							|  |  |  |         influx_update($device,'netstats-ip',$tags,$fields); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  |         $graphs['netstat_ip']      = true; | 
					
						
							|  |  |  |         $graphs['netstat_ip_frag'] = true; | 
					
						
							| 
									
										
										
										
											2011-03-16 01:11:27 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-07-13 20:10:26 +02:00
										 |  |  | }//end if
 | 
					
						
							| 
									
										
										
										
											2011-03-16 01:11:27 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | unset($oids, $data, $data_array, $oid); |