2010-08-11 3 views
1

어떻게 트랩 심각도를 설정할 수 있습니까?SNMP4j 트랩 심각도

TransportMapping transport = new DefaultUdpTransportMapping(); 
    Snmp snmp = new Snmp(transport); 

    CommunityTarget localtarget = new CommunityTarget(); 
    localtarget.setCommunity(new OctetString("public")); 
    localtarget.setAddress(new UdpAddress(managerIpAdd + "/162")); 
    localtarget.setVersion(SnmpConstants.version2c); 
    localtarget.setRetries(3); 
    localtarget.setTimeout(2000); 

    PDU pdu = new PDU(); 

    // need to specify the system up time 
    pdu.add(new VariableBinding(SnmpConstants.sysUpTime, new OctetString(new Date().toString()))); 
    pdu.add(new VariableBinding(SnmpConstants.snmpTrapOID, targetOID)); 
    pdu.add(new VariableBinding(SnmpConstants.snmpTrapAddress, new IpAddress(ApplicationUtil.getMachineIpAddress()))); 

    // variable binding for Enterprise Specific objects, Severity (should be defined in MIB file) 
    pdu.add(new VariableBinding(targetOID, new OctetString(message)));   

    pdu.setType(PDU.TRAP); 

    snmp.send(pdu, localtarget); 

    snmp.close(); 

감사합니다 아래

코드,

답변

3

트랩의 심각도를 지정하는 표준 방법은 없습니다. "경보"트랩을 보내는 대부분의 에이전트는 심각도에 대한 varbind를 포함하는 독점 MIB를 정의합니다.

+0

답장을 보내 주셔서 감사합니다. 그렇다면 모든 SNMP 관리자는 트랩의 심각도를 지정하는 고유 한 MIB를 가지고 있습니다. – Jin

+1

나는 매니저가 아니라 매니저에 대해 이야기하고 있었다. 에이전트는 독점적 인 MIB를 가질 수도 있고 심각도의 개념을 전혀 지원하지 않을 수도 있습니다. 관리자는 에이전트가 할당 한 심각도를 수락하거나, 에이전트에서 할당 한 심각도를 수락하거나, 모두 무시할 수 있습니다. 그것이 완료되는 방법에 대한 표준이 없습니다. – hallidave

+0

위에서 설명한 트랩 외에도 에이전트는 현재 활성 상태 인 경보 (심각도 필드 포함)를 얻는 방법을 제공하기도합니다. 그러나 @hallidave가 언급했듯이, 일반적으로 이것은 불행하게도 모두 적절합니다. – k1eran

관련 문제