📄 scriptd-configuration.xml.example
字号:
<?xml version="1.0"?><scriptd-configuration> <engine language="beanshell" className="bsh.util.BeanShellBSFEngine" extensions="bsh"/> <start-script language="beanshell"> import org.opennms.protocols.snmp.SnmpPduTrap; log = bsf.lookupBean("log"); snmpTrapHelper = new org.opennms.netmgt.scriptd.helper.SnmpTrapHelper(); </start-script> <stop-script language="beanshell"> snmpTrapHelper.stop(); log.debug("executing a stop script"); </stop-script> <event-script language="beanshell"> event = bsf.lookupBean("event"); if (event.snmp == null) { try { log.debug("Forwarding an OpenNMS event."); SnmpTrapBuilder trap = snmpTrapHelper.createV1Trap(".1.3.6.1.4.1.5813.1", "10.84.245.21", 6, 1, 0); <!-- This sends an enterprise id of ".1.3.6.1.4.1.5813.1" from agent "10.84.245.21" (einstein), which should be the IP address of the OpenNMS system, generic value of 6 and specific value of 1 --> t_dbid = new Integer(event.dbid).toString(); if (t_dbid != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.1", "OctetString", "text", t_dbid); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.1", "OctetString", "text", "null"); if (event.distPoller != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.2", "OctetString", "text", event.distPoller); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.2", "OctetString", "text", "null"); if (event.creationTime != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.3", "OctetString", "text", event.creationTime); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.3", "OctetString", "text", "null"); if (event.masterStation != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.4", "OctetString", "text", event.masterStation); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.4", "OctetString", "text", "null"); if (event.uei != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.6", "OctetString", "text", event.uei); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.6", "OctetString", "text", "null"); if (event.source != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.7", "OctetString", "text", event.source); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.7", "OctetString", "text", "null"); t_nodeid = new Long(event.nodeid).toString(); if (t_nodeid != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.8", "OctetString", "text", t_nodeid); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.8", "OctetString", "text", "null"); if (event.time != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.9", "OctetString", "text", event.time); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.9", "OctetString", "text", "null"); if (event.host != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.10", "OctetString", "text", event.host); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.10", "OctetString", "text", "null"); t_interface = event.getInterface(); if (t_interface != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.11", "OctetString", "text", t_interface); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.11", "OctetString", "text", "null"); if (event.snmphost != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.12", "OctetString", "text", event.snmphost); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.12", "OctetString", "text", "einstein.ntrs.com"); <!-- The snmphost field must be changed to the hostname of the OpenNMS system sending the event --> if (event.service != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.13", "OctetString", "text", event.service); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.13", "OctetString", "text", "null"); if (event.descr != null) { descrString = event.descr.replaceAll("<.*>", " ").replaceAll("\\s+", " "); snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.16", "OctetString", "text", descrString); } else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.16", "OctetString", "text", "null"); if (event.logmsg.content != null) { logString = event.logmsg.content.replaceAll("<.*>", " ").replaceAll("\\s+", " "); snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.17", "OctetString", "text", logString); } else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.17", "OctetString", "text", "null"); if (event.severity != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.18", "OctetString", "text", event.severity); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.18", "OctetString", "text", "null"); if (event.pathoutage != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.19", "OctetString", "text", event.pathoutage); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.19", "OctetString", "text", "null"); if (event.operinstruct != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.20", "OctetString", "text", event.operinstruct); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.20", "OctetString", "text", "null"); if (t_interface != null) { retParmVal = event.getInterface(); try { java.net.InetAddress inet = java.net.InetAddress.getByName(retParmVal); retParmVal = inet.getHostName(); } catch (java.net.UnknownHostException e) { } } if (retParmVal != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.21", "OctetString", "text", retParmVal); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.21", "OctetString", "text", "null"); if (t_nodeid != null) { querier = new SingleResultQuerier(DatabaseConnectionFactory.getInstance(), "select nodeLabel from node where nodeId = ?"); querier.execute(t_nodeid); // or whatever nodeId.. if this doesn't work you may need to do new Long(event.nodeid); label = (String)querier.getResult(); } if (label != null) snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.22", "OctetString", "text", label); else snmpTrapHelper.addVarBinding(trap, ".1.3.6.1.4.1.5813.2.22", "OctetString", "text", "null"); snmpTrapHelper.sendTrap("10.88.2.18", 162, "public", trap); <!-- 10.88.2.18 is the destination for the trap, the port (162) and the community string (usually public for traps) --> } catch (e) { sw = new StringWriter(); pw = new PrintWriter(sw); e.printStackTrace(pw); log.debug(sw.toString()); } } </event-script> <event-script language="beanshell"> event = bsf.lookupBean("event"); if (event.snmp != null) { log.debug("Forwarding a trap"); snmpTrapHelper.forwardTrap(event, "10.1.1.15", 162); } </event-script></scriptd-configuration>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -