mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	* Add CISCO-IF-EXTENSION polling and graph * Added test data * Code style * Move CISCO-IF-EXTENSION-MIB to cisco mib dir * Test data? * Recollect test data again * ios-xe variant 'ports' with ports test data * Removed unnecessary test data
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * This program is free software: you can redistribute it and/or modify it
 | 
						|
 * under the terms of the GNU General Public License as published by the
 | 
						|
 * Free Software Foundation, either version 3 of the License, or (at your
 | 
						|
 * option) any later version.  Please see LICENSE.txt at the top level of
 | 
						|
 * the source code distribution for details.
 | 
						|
 *
 | 
						|
 * @package    LibreNMS
 | 
						|
 * @subpackage polling
 | 
						|
 * @link       http://librenms.org
 | 
						|
 * @copyright  2019 LibreNMS
 | 
						|
 * @author     Pavle Obradovic <pobradovic08@gmail.com>
 | 
						|
 */
 | 
						|
 | 
						|
use LibreNMS\RRD\RrdDefinition;
 | 
						|
 | 
						|
/*
 | 
						|
 * Check if port has one of the counters ('cieIfInRuntsErrs') from CISCO-IF-EXTENSION MIB
 | 
						|
 */
 | 
						|
if (isset($this_port['cieIfInRuntsErrs'])) {
 | 
						|
    /*
 | 
						|
     * Build interface RRD with filename in format of:
 | 
						|
     * port-id<ifIndex>-cie.rrd
 | 
						|
     */
 | 
						|
    $rrd_name = getPortRrdName($port_id, 'cie');
 | 
						|
    $rrdfile = rrd_name($device['hostname'], $rrd_name);
 | 
						|
    $rrd_def = RrdDefinition::make()
 | 
						|
        ->addDataset('InRuntsErrs', 'DERIVE', 0)
 | 
						|
        ->addDataset('InGiantsErrs', 'DERIVE', 0)
 | 
						|
        ->addDataset('InFramingErrs', 'DERIVE', 0)
 | 
						|
        ->addDataset('InOverrunErrs', 'DERIVE', 0)
 | 
						|
        ->addDataset('InIgnored', 'DERIVE', 0)
 | 
						|
        ->addDataset('InAbortErrs', 'DERIVE', 0)
 | 
						|
        ->addDataset('InputQueueDrops', 'DERIVE', 0)
 | 
						|
        ->addDataset('OutputQueueDrops', 'DERIVE', 0);
 | 
						|
 | 
						|
    /*
 | 
						|
     * Populate data for RRD
 | 
						|
     */
 | 
						|
    $rrd_data = array();
 | 
						|
    foreach ($cisco_if_extension_oids as $oid) {
 | 
						|
        $ds_name = str_replace('cieIf', '', $oid);
 | 
						|
        $rrd_data[$ds_name] = $this_port[$oid];
 | 
						|
    }
 | 
						|
 | 
						|
    /*
 | 
						|
     * Generate/update RRD
 | 
						|
     */
 | 
						|
    $ifName = $port['ifName'];
 | 
						|
    $tags = compact('ifName', 'rrd_name', 'rrd_def');
 | 
						|
    rrdtool_data_update($device, 'drops', $tags, $rrd_data);
 | 
						|
}
 |