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?
Can PRTG be used to monitor Quanta LB4M Switches?
Votes:
8
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
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.
Add comment