首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >snmp4j警告日志级别

snmp4j警告日志级别
EN

Stack Overflow用户
提问于 2014-01-15 18:19:13
回答 1查看 594关注 0票数 0

我的问题是此snmp4j陷阱发件人的警告日志级别是作为次要日志级别接收的,但我需要接收警告日志级别的消息,例如,如果我要使用冷启动或警告启动pdu通知,是否有人可以帮助处理此错误?

代码语言:javascript
复制
public TrapSenderVersion2(String trapIpDestination, int trapPort,
            String message) {
        try {
            String aMessage = message;
            // Create PDU
            PDU trap = new PDU();
            trap.setType(PDU.NOTIFICATION);
            // trap.setType(PDU.REPORT);

            String baseString = ".1.3.6.1.4.1.6400.";

            OID oid = new OID(baseString);
            trap.add(new VariableBinding(SnmpConstants.sysUpTime,
                    new TimeTicks(5000))); // put your uptime here
            trap.add(new VariableBinding(SnmpConstants.snmpTrapOID,
                    SnmpConstants.coldStart));
            trap.add(new VariableBinding(SnmpConstants.sysDescr,
                    new OctetString("Monitor app")));
            // Add Payload
            Variable messaage = new OctetString(aMessage);
            trap.add(new VariableBinding(oid, messaage));

            // need to specify the system up time
            // trap.add(new VariableBinding(SnmpConstants.sysUpTime,
            // new OctetString(new Date().toString())));
            // trap.add(new VariableBinding(SnmpConstants.snmpTrapOID, new OID(
            // Oid)));
            // trap.add(new VariableBinding(SnmpConstants.snmpTrapAddress,
            // new IpAddress(ipAddress)));

            // trap.add(new VariableBinding(new OID(oid), new OctetString(
            // "Major")));
            // trap.setType(PDU.NOTIFICATION);

            // Specify receiver
            Address targetaddress = new UdpAddress(trapIpDestination + "/"
                    + trapPort);
            CommunityTarget target = new CommunityTarget();
            target.setCommunity(new OctetString("public"));
            target.setVersion(SnmpConstants.version2c);
            target.setAddress(targetaddress);

            // Send
            Snmp snmp = new Snmp(new DefaultUdpTransportMapping());
            snmp.send(trap, target, null, null);
        } catch (IOException e) {
            System.out.println("Error Sending Trap: " + e.getMessage());
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws Exception {
        new TrapSenderVersion2("192.168.1.31", Integer.parseInt("162"),
                "Test Trap Message");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-02-02 19:54:45

首先,OID不是以点开头的。您应该将其删除,以避免错误并提高程序性能。

关于您的问题: SNMP没有为陷阱/通知指定类似“严重性类”的概念。因此,它需要是特定于供应商的陷阱类型或通知类型的MIB规范的一部分。在SNMP标准中,没有严重性的想法是接收者应该能够决定事件是否严重。

因此,在您的情况下,我认为您需要在陷阱接收方应用程序中指定“日志级别”,而不是在发送方代码中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21134723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档