我們需要一個配置文件來配置這些信息,包括監聽端口號,以方便管理。配置文件定義爲snmpTrap_conf.properties,如下
snmpVersion=1
port=162
snmpUser=
authProtocol=
authPassword=
privProtocol=
privPassword=
contextName=
SNMP監聽的算法如下:
public static void main(String[] args) {
Initializer.init(進程);
SNMPTarget target = new SNMPTarget(); //POJO類用於存儲所需的參數
target = getSnmpCredentials("snmpTrap_conf"); //從配置文件加載所需的參數
System.out.println(target.getPort()); //輸出監聽端口
SnmpTrapCollector stc = new SnmpTrapCollector(target);
stc.start(); //啓動進程
}
1、進程初始化算法
public static void init(String sysName) { initLog(); initConfig(); initDependency(); initDatebaseConnection(); }
2、參數獲取算法
private static SNMPTarget getSnmpCredentials(String configuration) { SNMPTarget target = new SNMPTarget(); if (SNMPversion.equals("3")) { target.setPort(...); //listenPort target.setSnmpUser(...); //securityName target.setAuthProtocol(...); target.setAuthPassword(...); target.setPrivProtocol(...); target.setPrivPassword(...); target.setContextName(...); //authoritativeEngineID } else { target.setPort(...); } return target; }
3、SNMP Trap消息採集算法