What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

Can PRTG be used to monitor Quanta LB4M Switches?

Votes:

8

The LB4M switches are enterprise switches with 48 Gbit ports, plus two 10Gbe SFP+ ports. They are sold in used condition for under $200.- and offer dual power supply and tons of advanced configuration features in their web interface and via telnet. Manual see here: http://www.mediafire.com/download/dpbe0r0i0euxgg8/LB4M.pdf Is there a script for a sensor that allows a basic monitoring of these switches?

custom-sensor lb4m powershell quanta sensor snmp switch

Created on Sep 20, 2016 8:02:32 AM



1 Reply

Accepted Answer

Votes:

11

The LB4M switches can be monitored with the standard snmp sensors of prtg. In case you do not want single sensors for each channel, the following script provides a dense sensor that combines all channels into one sensor. Output filtering allows graphical monitoring of single channels. The script also was tested with a D-link DGS-1210 switch and should work with other similar devices that allow access to their interface table via snmp. Feel free to optimize my code and post it as a reply.

# Script for reading out traffic data from LB4M switch
# 'set placeholders as environment values' needs to be actived in sensor settings. 
# SNMP must be activated in the switch settings.
# script needs net-snmp tools installed, download from here: http://www.net-snmp.org/download.html 
# Result is a sensor that contains in and out data rates for all used switch ports.
#
# Adopted to accommodate different switches, DLINK DGS-1210-24 works too.
# 2016-09-20 MRO

#function to call snmptable, snmptools need to be installed, modify install path as necessary

function Get-SnmpTable {
	param (
		[Parameter( Position = 0, Mandatory = $true )] $Agent,
		[Parameter( Position = 1, Mandatory = $true )] $OID,
		$Port = 161,
		$Community = "public",
		$Version = "2c",
        $MIBPath = "C:\programdata\Temp\net-snmp\share\snmp\mibs"
	)
	(&"C:\ProgramData\TEMP\net-snmp\bin\snmptable.exe" "-M$MIBPath"  -m RFC1213-MIB -Cbf `; "-v$Version" "-c$Community" "${Agent}:$Port" "$OID")
}

#Init variables
$csvData=""
[string]$prtgresult=""
$deviceAddr=$env:prtg_host

#use snmptable to read interface table from switch, skipping first two lines with headline

$csvdata = Get-SnmpTable $deviceAddr iftable | Select-Object -Skip 2| ConvertFrom-Csv -Delimiter ';'
#$csvData|out-file c:\temp\out1.txt

#use only switch ports that are operational
$csvdata = ($csvData|Select-Object * |where OperStatus -eq 'up')

#uncomment for debugging:
#$csvData|out-file c:\temp\out.txt

#build header for PRTG XML-file
$prtgresult+="<?xml version=""1.0"" encoding=""Windows-1252"" ?>`r`n"
$prtgresult+="<prtg>`r`n"

#build PRTG results data
foreach ($i in $csvData)
{
write-host "  Processing Datapoint :" $i.index
		$prtgresult+="    <result>`r`n"
		$prtgresult+="        <channel>Port "+$i.index+" in </channel>`r`n"
		$prtgresult+="        <value>"+$i.InOctets +"</value>`r`n"
		$prtgresult+="        <float>0</float>`r`n"
		$prtgresult+="        <mode>Difference</mode>`r`n"
		$prtgresult+="        <unit>BytesBandwidth</unit>`r`n"
        $prtgresult+="    </result>`r`n"
		
        $prtgresult+="    <result>`r`n"
		$prtgresult+="        <channel>Port "+$i.index+" out</channel>`r`n"
		$prtgresult+="        <value>"+$i.outOctets +"</value>`r`n"
		$prtgresult+="        <float>0</float>`r`n"
		$prtgresult+="        <mode>Difference</mode>`r`n"
        $prtgresult+="        <unit>BytesBandwidth</unit>`r`n"
		$prtgresult+="    </result>`r`n"
	}

$prtgresult+="</prtg>"

#send data to host
Write-Host $prtgresult

Created on Sep 20, 2016 10:39:02 AM




Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.