Search in sources :

Example 6 with AlarmData

use of org.opennms.netmgt.xml.eventconf.AlarmData in project opennms by OpenNMS.

the class SpectrumTrapImporter method makeAlarmData.

public AlarmData makeAlarmData(AlertMapping mapping, EventDisposition dispo) {
    if (!dispo.isCreateAlarm() && !dispo.isClearAlarm()) {
        return null;
    }
    AlarmData alarmData = new AlarmData();
    // Set the alarm-type according to clues in the disposition
    if (dispo.isClearAlarm()) {
        alarmData.setAlarmType(2);
    } else {
        alarmData.setAlarmType(1);
    }
    // Set the reduction key to include standard node stuff plus any discriminators
    StringBuilder rkBuilder = new StringBuilder("%uei%:");
    rkBuilder.append(m_reductionKeyBody);
    for (int discriminator : dispo.getDiscriminators()) {
        rkBuilder.append(":%parm[#").append(discriminator).append("]%");
    }
    // If it's marked as a unique alarm, add the event ID to the reduction-key
    if (dispo.isUniqueAlarm()) {
        rkBuilder.append("%eventid%");
    }
    alarmData.setReductionKey(rkBuilder.toString());
    // If it's a clear-alarm, set the clear-key appropriately
    if (dispo.isClearAlarm()) {
        StringBuilder ckBuilder = new StringBuilder(makeUei(dispo.getClearAlarmCause()));
        ckBuilder.append(":").append(m_reductionKeyBody);
        for (int discriminator : dispo.getDiscriminators()) {
            ckBuilder.append(":%parm[#").append(discriminator).append("]%");
        }
        alarmData.setClearKey(ckBuilder.toString());
    }
    return alarmData;
}
Also used : AlarmData(org.opennms.netmgt.xml.eventconf.AlarmData)

Example 7 with AlarmData

use of org.opennms.netmgt.xml.eventconf.AlarmData in project opennms by OpenNMS.

the class ThresholdController method ensureUEIInEventConf.

private void ensureUEIInEventConf(org.opennms.netmgt.xml.eventconf.Event source, String targetUei, ThresholdType thresholdType, String clearKey, boolean isTrigger) {
    List<org.opennms.netmgt.xml.eventconf.Event> eventsForUEI = m_eventConfDao.getEvents(targetUei);
    if (eventsForUEI == null || eventsForUEI.size() == 0) {
        String typeDesc = isTrigger ? "exceeded" : "rearmed";
        org.opennms.netmgt.xml.eventconf.Event event = new org.opennms.netmgt.xml.eventconf.Event();
        event.setUei(targetUei);
        event.setEventLabel("User-defined " + thresholdType + " threshold event " + typeDesc + ": " + targetUei);
        Logmsg logmsg = new Logmsg();
        event.setLogmsg(logmsg);
        if (source == null) {
            event.setDescr("Threshold " + typeDesc + " for %service% datasource %parm[ds]% on interface %interface%, parms: %parm[all]%");
            logmsg.setDest(LogDestType.LOGNDISPLAY);
            logmsg.setContent("Threshold " + typeDesc + " for %service% datasource %parm[ds]% on interface %interface%, parms: %parm[all]%");
            event.setLogmsg(logmsg);
            event.setSeverity("Warning");
        } else {
            event.setDescr(source.getDescr());
            event.setSeverity(source.getSeverity());
            event.setOperinstruct(source.getOperinstruct());
            logmsg.setDest(source.getLogmsg().getDest());
            logmsg.setContent(source.getLogmsg().getContent());
            if (source.getAlarmData() != null) {
                final AlarmData alarmData = new AlarmData();
                final AlarmData sourceAlarmData = source.getAlarmData();
                alarmData.setAlarmType(sourceAlarmData.getAlarmType());
                alarmData.setAutoClean(sourceAlarmData.getAutoClean());
                alarmData.setReductionKey(sourceAlarmData.getReductionKey());
                if (!isTrigger && clearKey != null) {
                    alarmData.setClearKey(clearKey);
                }
                event.setAlarmData(alarmData);
            }
        }
        m_eventConfDao.addEventToProgrammaticStore(event);
        eventConfChanged = true;
    }
}
Also used : Logmsg(org.opennms.netmgt.xml.eventconf.Logmsg) Event(org.opennms.netmgt.xml.event.Event) AlarmData(org.opennms.netmgt.xml.eventconf.AlarmData)

Aggregations

AlarmData (org.opennms.netmgt.xml.eventconf.AlarmData)7 Event (org.opennms.netmgt.xml.event.Event)2 Logmsg (org.opennms.netmgt.xml.eventconf.Logmsg)2 Mask (org.opennms.netmgt.xml.eventconf.Mask)2 CommitException (com.vaadin.data.fieldgroup.FieldGroup.CommitException)1 File (java.io.File)1 IOException (java.io.IOException)1 PrintWriter (java.io.PrintWriter)1 StringWriter (java.io.StringWriter)1 Test (org.junit.Test)1 EventBuilder (org.opennms.netmgt.model.events.EventBuilder)1 SyntaxToEvent (org.opennms.netmgt.model.events.snmp.SyntaxToEvent)1 Event (org.opennms.netmgt.xml.eventconf.Event)1 Events (org.opennms.netmgt.xml.eventconf.Events)1