消息流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消息採集算法



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章