Ad Widget

Collapse

DDWRT SNMP Zabbix Template

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • registration_is_lame
    Senior Member
    • Nov 2007
    • 148

    #1

    DDWRT SNMP Zabbix Template

    Hello,

    Running Zabbix agentd on ddwrts is possible but a very bad idea I realized after 1 year period, it puts a lot of load on the small router's CPU's and memory and crashes/misbehaves a lot. So I would like to switch to SNMP based monitoring. Did anyone write a template for this?

    I have 2 templates now with the router:

    Template_Linux_DDWRT, Template_SNMPv1_Device

    Linux_DDWRT will not work, since this is only for Zabbix Agent.

    Template_SNMPv1_Device will enumerate a lot of attributes such as:
    Code:
    	 	Template_SNMPv1_Device:icmpOutTimeExcds	Triggers (1)	icmpOutTimeExcds	60	7	365	SNMPv1 agent	-	Active	
     
    	 	Template_SNMPv1_Device:icmpOutTimestampReps	Triggers (1)	icmpOutTimestampReps	60	7	365	SNMPv1 agent	-	Active	
     
    	 	Template_SNMPv1_Device:icmpOutTimestamps	Triggers (1)	icmpOutTimestamps	60	7	365	SNMPv1 agent	-	Active	
     
    	
     
    	Template_SNMPv1_Device:ifDescr1	Triggers (1)	ifDescr1	60	7		SNMPv1 agent	-	Active	
     
    	
     
    	Template_SNMPv1_Device:ifDescr2	Triggers (1)	ifDescr2	60	7		SNMPv1 agent	-	Active	
     
    	
     
    	Template_SNMPv1_Device:ifDescr3	Triggers (1)	ifDescr3	60	7		SNMPv1 agent	-	Active	
     
    	
     
    	Template_SNMPv1_Device:ifDescr4	Triggers (1)	ifDescr4	60	7		SNMPv1 agent	-	Active	
     
    	
     
    	Template_SNMPv1_Device:ifDescr5	Triggers (1)	ifDescr5	60	7		SNMPv1 agent	-	Active	
     
    	
     
    	Template_SNMPv1_Device:ifDescr6	Triggers (1)	ifDescr6	60	7		SNMPv1 agent	-	Active

    But with 30 so ifDesc's no way knowing what is what.

    Thank you.
  • stargate5
    Junior Member
    • Dec 2016
    • 1

    #2
    DDWRT SNMP monitoring with Zabbix

    Hello,

    This will not be about using the zabbix agentd on ddwrt ( which although possible and easy, will put a high load on the routers cpu and you can end up with missing data from your graphs like the graph above. )

    So I have decided I switch from zabbix_agent to traditional snmp monitoring what ddwrts support.

    After reading this 2 articles:

    https://www.dd-wrt.com/wiki/index.php/SNMP
    Have you ever needed to know what a remote device thinks the value of a metric is? HTG explains what the Simple Network Management Protocol (SNMP) is and how can you use it to monitor network devices.



    Zabbix 3.0 with Template_SNMPv1_Device is able to enumerate 207 out of the 479 possible snmp parameters with snmpwalk. It does not mean that these are all useful for example:

    HOST-RESOURCES-MIB::hrDeviceID.769 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1025 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1026 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1027 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1028 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1029 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1030 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1031 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1032 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.1280 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrDeviceID.3072 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrProcessorFrwID.769 = OID: SNMPv2-SMI::zeroDotZero
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1025 = INTEGER: 1
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1026 = INTEGER: 2
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1027 = INTEGER: 3
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1028 = INTEGER: 4
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1029 = INTEGER: 5
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1030 = INTEGER: 6
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1031 = INTEGER: 7
    HOST-RESOURCES-MIB::hrNetworkIfIndex.1032 = INTEGER: 8


    With Zabbix these are the items (not all of them is available):


    Created: Item "icmpInAddrMaskReps" on "WRT54G".
    Created: Item "icmpInAddrMasks" on "WRT54G".
    Created: Item "icmpInDestUnreachs" on "WRT54G".
    Created: Item "icmpInEchoReps" on "WRT54G".
    Created: Item "icmpInEchos" on "WRT54G".
    Created: Item "icmpInErrors" on "WRT54G".
    Created: Item "icmpInMsgs" on "WRT54G".
    Created: Item "icmpInParmProbs" on "WRT54G".
    Created: Item "icmpInRedirects" on "WRT54G".
    Created: Item "icmpInSrcQuenchs" on "WRT54G".
    Created: Item "icmpInTimeExcds" on "WRT54G".
    Created: Item "icmpInTimestampReps" on "WRT54G".
    Created: Item "icmpInTimestamps" on "WRT54G".
    Created: Item "icmpOutAddrMaskReps" on "WRT54G".
    Created: Item "icmpOutAddrMasks" on "WRT54G".
    Created: Item "icmpOutDesUnreachs" on "WRT54G".
    Created: Item "icmpOutEchoReps" on "WRT54G".
    Created: Item "icmpOutEchos" on "WRT54G".
    Created: Item "icmpOutErrors" on "WRT54G".
    Created: Item "icmpOutMsgs" on "WRT54G".
    Created: Item "icmpOutParmProbs" on "WRT54G".
    Created: Item "icmpOutRedirects" on "WRT54G".
    Created: Item "icmpOutSrcQuenchs" on "WRT54G".
    Created: Item "icmpOutTimeExcds" on "WRT54G".
    Created: Item "icmpOutTimestampReps" on "WRT54G".
    Created: Item "icmpOutTimestamps" on "WRT54G".
    Created: Item "ifDescr1" on "WRT54G".
    Created: Item "ifDescr10" on "WRT54G".
    Created: Item "ifDescr11" on "WRT54G".
    Created: Item "ifDescr12" on "WRT54G".
    Created: Item "ifDescr13" on "WRT54G".
    Created: Item "ifDescr14" on "WRT54G".
    Created: Item "ifDescr15" on "WRT54G".
    Created: Item "ifDescr16" on "WRT54G".
    Created: Item "ifDescr17" on "WRT54G".
    Created: Item "ifDescr18" on "WRT54G".
    Created: Item "ifDescr19" on "WRT54G".
    Created: Item "ifDescr2" on "WRT54G".
    Created: Item "ifDescr20" on "WRT54G".
    Created: Item "ifDescr21" on "WRT54G".
    Created: Item "ifDescr22" on "WRT54G".
    Created: Item "ifDescr23" on "WRT54G".
    Created: Item "ifDescr24" on "WRT54G".
    Created: Item "ifDescr25" on "WRT54G".
    Created: Item "ifDescr26" on "WRT54G".
    Created: Item "ifDescr27" on "WRT54G".
    Created: Item "ifDescr28" on "WRT54G".
    Created: Item "ifDescr29" on "WRT54G".
    Created: Item "ifDescr3" on "WRT54G".
    Created: Item "ifDescr30" on "WRT54G".
    Created: Item "ifDescr31" on "WRT54G".
    Created: Item "ifDescr32" on "WRT54G".
    Created: Item "ifDescr33" on "WRT54G".
    Created: Item "ifDescr34" on "WRT54G".
    Created: Item "ifDescr35" on "WRT54G".
    Created: Item "ifDescr36" on "WRT54G".
    Created: Item "ifDescr37" on "WRT54G".
    Created: Item "ifDescr38" on "WRT54G".
    Created: Item "ifDescr39" on "WRT54G".
    Created: Item "ifDescr4" on "WRT54G".
    Created: Item "ifDescr40" on "WRT54G".
    Created: Item "ifDescr41" on "WRT54G".
    Created: Item "ifDescr42" on "WRT54G".
    Created: Item "ifDescr43" on "WRT54G".
    Created: Item "ifDescr44" on "WRT54G".
    Created: Item "ifDescr45" on "WRT54G".
    Created: Item "ifDescr46" on "WRT54G".
    Created: Item "ifDescr47" on "WRT54G".
    Created: Item "ifDescr48" on "WRT54G".
    Created: Item "ifDescr49" on "WRT54G".
    Created: Item "ifDescr5" on "WRT54G".
    Created: Item "ifDescr50" on "WRT54G".
    Created: Item "ifDescr51" on "WRT54G".
    Created: Item "ifDescr6" on "WRT54G".
    Created: Item "ifDescr7" on "WRT54G".
    Created: Item "ifDescr8" on "WRT54G".
    Created: Item "ifDescr9" on "WRT54G".
    Created: Item "ifInOctets1" on "WRT54G".
    Created: Item "ifInOctets10" on "WRT54G".
    Created: Item "ifInOctets11" on "WRT54G".
    Created: Item "ifInOctets12" on "WRT54G".
    Created: Item "ifInOctets13" on "WRT54G".
    Created: Item "ifInOctets14" on "WRT54G".
    Created: Item "ifInOctets15" on "WRT54G".
    Created: Item "ifInOctets16" on "WRT54G".
    Created: Item "ifInOctets17" on "WRT54G".
    Created: Item "ifInOctets18" on "WRT54G".
    Created: Item "ifInOctets19" on "WRT54G".
    Created: Item "ifInOctets2" on "WRT54G".
    Created: Item "ifInOctets20" on "WRT54G".
    Created: Item "ifInOctets21" on "WRT54G".
    Created: Item "ifInOctets22" on "WRT54G".
    Created: Item "ifInOctets23" on "WRT54G".
    Created: Item "ifInOctets24" on "WRT54G".
    Created: Item "ifInOctets25" on "WRT54G".
    Created: Item "ifInOctets26" on "WRT54G".
    Created: Item "ifInOctets27" on "WRT54G".
    Created: Item "ifInOctets28" on "WRT54G".
    Created: Item "ifInOctets29" on "WRT54G".
    Created: Item "ifInOctets3" on "WRT54G".
    Created: Item "ifInOctets30" on "WRT54G".
    Created: Item "ifInOctets31" on "WRT54G".
    Created: Item "ifInOctets32" on "WRT54G".
    Created: Item "ifInOctets33" on "WRT54G".
    Created: Item "ifInOctets34" on "WRT54G".
    Created: Item "ifInOctets35" on "WRT54G".
    Created: Item "ifInOctets36" on "WRT54G".
    Created: Item "ifInOctets37" on "WRT54G".
    Created: Item "ifInOctets38" on "WRT54G".
    Created: Item "ifInOctets39" on "WRT54G".
    Created: Item "ifInOctets4" on "WRT54G".
    Created: Item "ifInOctets40" on "WRT54G".
    Created: Item "ifInOctets41" on "WRT54G".
    Created: Item "ifInOctets42" on "WRT54G".
    Created: Item "ifInOctets43" on "WRT54G".
    Created: Item "ifInOctets44" on "WRT54G".
    Created: Item "ifInOctets45" on "WRT54G".
    Created: Item "ifInOctets46" on "WRT54G".
    Created: Item "ifInOctets47" on "WRT54G".
    Created: Item "ifInOctets48" on "WRT54G".
    Created: Item "ifInOctets49" on "WRT54G".
    Created: Item "ifInOctets5" on "WRT54G".
    Created: Item "ifInOctets50" on "WRT54G".
    Created: Item "ifInOctets51" on "WRT54G".
    Created: Item "ifInOctets6" on "WRT54G".
    Created: Item "ifInOctets7" on "WRT54G".
    Created: Item "ifInOctets8" on "WRT54G".
    Created: Item "ifInOctets9" on "WRT54G".
    Created: Item "ifOutOctets1" on "WRT54G".
    Created: Item "ifOutOctets10" on "WRT54G".
    Created: Item "ifOutOctets11" on "WRT54G".
    Created: Item "ifOutOctets12" on "WRT54G".
    Created: Item "ifOutOctets13" on "WRT54G".
    Created: Item "ifOutOctets14" on "WRT54G".
    Created: Item "ifOutOctets15" on "WRT54G".
    Created: Item "ifOutOctets16" on "WRT54G".
    Created: Item "ifOutOctets17" on "WRT54G".
    Created: Item "ifOutOctets18" on "WRT54G".
    Created: Item "ifOutOctets19" on "WRT54G".
    Created: Item "ifOutOctets2" on "WRT54G".
    Created: Item "ifOutOctets20" on "WRT54G".
    Created: Item "ifOutOctets21" on "WRT54G".
    Created: Item "ifOutOctets22" on "WRT54G".
    Created: Item "ifOutOctets23" on "WRT54G".
    Created: Item "ifOutOctets24" on "WRT54G".
    Created: Item "ifOutOctets25" on "WRT54G".
    Created: Item "ifOutOctets26" on "WRT54G".
    Created: Item "ifOutOctets27" on "WRT54G".
    Created: Item "ifOutOctets28" on "WRT54G".
    Created: Item "ifOutOctets29" on "WRT54G".
    Created: Item "ifOutOctets3" on "WRT54G".
    Created: Item "ifOutOctets30" on "WRT54G".
    Created: Item "ifOutOctets31" on "WRT54G".
    Created: Item "ifOutOctets32" on "WRT54G".
    Created: Item "ifOutOctets33" on "WRT54G".
    Created: Item "ifOutOctets34" on "WRT54G".
    Created: Item "ifOutOctets35" on "WRT54G".
    Created: Item "ifOutOctets36" on "WRT54G".
    Created: Item "ifOutOctets37" on "WRT54G".
    Created: Item "ifOutOctets38" on "WRT54G".
    Created: Item "ifOutOctets39" on "WRT54G".
    Created: Item "ifOutOctets4" on "WRT54G".
    Created: Item "ifOutOctets40" on "WRT54G".
    Created: Item "ifOutOctets41" on "WRT54G".
    Created: Item "ifOutOctets42" on "WRT54G".
    Created: Item "ifOutOctets43" on "WRT54G".
    Created: Item "ifOutOctets44" on "WRT54G".
    Created: Item "ifOutOctets45" on "WRT54G".
    Created: Item "ifOutOctets46" on "WRT54G".
    Created: Item "ifOutOctets47" on "WRT54G".
    Created: Item "ifOutOctets48" on "WRT54G".
    Created: Item "ifOutOctets49" on "WRT54G".
    Created: Item "ifOutOctets5" on "WRT54G".
    Created: Item "ifOutOctets50" on "WRT54G".
    Created: Item "ifOutOctets51" on "WRT54G".
    Created: Item "ifOutOctets6" on "WRT54G".
    Created: Item "ifOutOctets7" on "WRT54G".
    Created: Item "ifOutOctets8" on "WRT54G".
    Created: Item "ifOutOctets9" on "WRT54G".
    Created: Item "ipDefaultTTL" on "WRT54G".
    Created: Item "ipForwarding" on "WRT54G".
    Created: Item "ipFragCreates" on "WRT54G".
    Created: Item "ipFragFails" on "WRT54G".
    Created: Item "ipFragOKs" on "WRT54G".
    Created: Item "ipInAddrErrors" on "WRT54G".
    Created: Item "ipInDelivers" on "WRT54G".
    Created: Item "ipInDiscards" on "WRT54G".
    Created: Item "ipInForwDatagrams" on "WRT54G".
    Created: Item "ipInHdrErrors" on "WRT54G".
    Created: Item "ipInReceives" on "WRT54G".
    Created: Item "ipInUnknownProtos" on "WRT54G".
    Created: Item "ipOutDiscards" on "WRT54G".
    Created: Item "ipOutNoRoutes" on "WRT54G".
    Created: Item "ipOutRequests" on "WRT54G".
    Created: Item "ipReasmFails" on "WRT54G".
    Created: Item "ipReasmOKs" on "WRT54G".
    Created: Item "ipReasmReqds" on "WRT54G".
    Created: Item "ipReasmTimeout" on "WRT54G".
    Created: Item "ipRoutingDiscards" on "WRT54G".
    Created: Item "lcpuPercentBusy" on "WRT54G".
    Created: Item "lenvFirmVersion" on "WRT54G".
    Created: Item "lenvSerialNumber" on "WRT54G".
    Created: Item "lmemBufferFail" on "WRT54G".
    Created: Item "lmemBufferNoMem" on "WRT54G".
    Created: Item "lmemFreeMem" on "WRT54G".
    Created: Item "lmemRomID" on "WRT54G".
    Created: Item "sysName" on "WRT54G".


    Did anybody succeded identifying which if corresponds to which virtual network interface or even better did anyone wrote a Zabbix template for this?

    Once again what I trying to do here has nothing to do with the Template_Linux_DDWRT Zabbix template (which is used in case a zabbix agent is running on the router).

    Thank you

    Comment

    Working...