消息流B -- 从SNMP说起

SNMP分为三个版本:SNMPv1、SNMPv2c、SNMPv3。其中SNMPv1基本被淘汰,SNMPv3主要是增加了一系列的安全机制和访问控制,这些需求是弹性配置的,当所有的增强功能都不需要时,即体现为SNMPv2c的实现。

我们需要一个配置文件来配置这些信息,包括监听端口号,以方便管理。配置文件定义为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消息采集算法




你可能感兴趣的:(消息流B -- 从SNMP说起)