mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	* feature: Allow customisation of rrd step/heartbeat when creating new rrd files * revert defaults * added docs + webui config option * Move RrdDefinition to an Object to make them easier to create and remove the possibility of typos. * Fix style/lint issues and missing use statements * 3 more missing use statements * updated doc + moved schema file
		
			
				
	
	
		
			65 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
use LibreNMS\RRD\RrdDefinition;
 | 
						|
 | 
						|
$vp_rows = dbFetchRows('SELECT * FROM `ports` AS P, `juniAtmVp` AS J WHERE P.`device_id` = ? AND J.port_id = P.port_id', array($device['device_id']));
 | 
						|
 | 
						|
if (count($vp_rows)) {
 | 
						|
    $vp_cache = array();
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInCells', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInPackets', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInPacketOctets', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInPacketErrors', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsOutCells', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsOutPackets', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsOutPacketOctets', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
    $vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsOutPacketErrors', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
 | 
						|
 | 
						|
    $rrd_def = RrdDefinition::make()
 | 
						|
        ->addDataset('incells', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('outcells', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('inpackets', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('outpackets', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('inpacketoctets', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('outpacketoctets', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('inpacketerrors', 'DERIVE', 0, 125000000000)
 | 
						|
        ->addDataset('outpacketerrors', 'DERIVE', 0, 125000000000);
 | 
						|
 | 
						|
    foreach ($vp_rows as $vp) {
 | 
						|
        echo '.';
 | 
						|
 | 
						|
        $ifIndex = $vp['ifIndex'];
 | 
						|
        $vp_id = $vp['vp_id'];
 | 
						|
        $oid = $ifIndex .'.'. $vp_id;
 | 
						|
 | 
						|
        d_echo("$oid ");
 | 
						|
 | 
						|
        $t_vp = $vp_cache[$oid];
 | 
						|
 | 
						|
        $vp_update  = $t_vp['juniAtmVpStatsInCells'].':'.$t_vp['juniAtmVpStatsOutCells'];
 | 
						|
        $vp_update .= ':'.$t_vp['juniAtmVpStatsInPackets'].':'.$t_vp['juniAtmVpStatsOutPackets'];
 | 
						|
        $vp_update .= ':'.$t_vp['juniAtmVpStatsInPacketOctets'].':'.$t_vp['juniAtmVpStatsOutPacketOctets'];
 | 
						|
        $vp_update .= ':'.$t_vp['juniAtmVpStatsInPacketErrors'].':'.$t_vp['juniAtmVpStatsOutPacketErrors'];
 | 
						|
 | 
						|
        $rrd_name = array('vp', $ifIndex, $vp_id);
 | 
						|
 | 
						|
        $fields = array(
 | 
						|
            'incells'         => $t_vp['juniAtmVpStatsInCells'],
 | 
						|
            'outcells'        => $t_vp['juniAtmVpStatsOutCells'],
 | 
						|
            'inpackets'       => $t_vp['juniAtmVpStatsInPackets'],
 | 
						|
            'outpackets'      => $t_vp['juniAtmVpStatsOutPackets'],
 | 
						|
            'inpacketoctets'  => $t_vp['juniAtmVpStatsInPacketOctets'],
 | 
						|
            'outpacketoctets' => $t_vp['juniAtmVpStatsOutPacketOctets'],
 | 
						|
            'inpacketerrors'  => $t_vp['juniAtmVpStatsInPacketErrors'],
 | 
						|
            'outpacketerrors' => $t_vp['juniAtmVpStatsOutPacketErrors'],
 | 
						|
        );
 | 
						|
 | 
						|
        $tags = compact('ifIndex', 'vp_id', 'rrd_name', 'rrd_def');
 | 
						|
        data_update($device, 'atm-vp', $tags, $fields);
 | 
						|
    }//end foreach
 | 
						|
 | 
						|
    echo "\n";
 | 
						|
 | 
						|
    unset($vp_cache, $rrd_def);
 | 
						|
}//end if
 |