use of nl.nn.adapterframework.monitoring.Monitor in project iaf by ibissource.
the class ShowMonitors method raiseMonitor.
@PUT
@RolesAllowed({ "IbisDataAdmin", "IbisAdmin", "IbisTester" })
@Path("/monitors/{monitorName}")
@Produces(MediaType.APPLICATION_JSON)
public Response raiseMonitor(@PathParam("monitorName") String monitorName, @QueryParam("action") String action) throws ApiException {
initBase(servletConfig);
MonitorManager mm = MonitorManager.getInstance();
Monitor monitor = mm.findMonitor(monitorName);
if (monitor == null) {
throw new ApiException("Monitor not found!");
}
if (action.equals("clearMonitor")) {
try {
log.info("clearing monitor [" + monitor.getName() + "]");
monitor.changeState(new Date(), false, SeverityEnum.WARNING, null, null, null);
} catch (MonitorException e) {
throw new ApiException("Failed to change monitor state!");
}
}
if (action.equals("raiseMonitor")) {
try {
log.info("raising monitor [" + monitor.getName() + "]");
monitor.changeState(new Date(), true, SeverityEnum.WARNING, null, null, null);
} catch (MonitorException e) {
throw new ApiException("Failed to change monitor state!");
}
}
return Response.status(Response.Status.OK).build();
}
use of nl.nn.adapterframework.monitoring.Monitor in project iaf by ibissource.
the class ShowMonitors method getMonitors.
@GET
@RolesAllowed({ "IbisObserver", "IbisDataAdmin", "IbisAdmin", "IbisTester" })
@Path("/monitors")
@Produces(MediaType.APPLICATION_JSON)
public Response getMonitors() throws ApiException {
initBase(servletConfig);
Map<String, Object> returnMap = new HashMap<String, Object>();
MonitorManager mm = MonitorManager.getInstance();
List<Map<String, Object>> monitors = new ArrayList<Map<String, Object>>();
for (int i = 0; i < mm.getMonitors().size(); i++) {
Map<String, Object> monitorMap = new HashMap<String, Object>();
Monitor monitor = mm.getMonitor(i);
monitorMap.put("name", monitor.getName());
monitorMap.put("type", monitor.getType());
monitorMap.put("lastHit", monitor.getLastHit());
monitorMap.put("raised", monitor.isRaised());
monitorMap.put("changed", monitor.getStateChangeDt());
monitorMap.put("hits", monitor.getAdditionalHitCount());
String eventSource = null;
EventThrowing source = monitor.getAlarmSource();
if (source != null) {
eventSource = source.getEventSourceName();
}
monitorMap.put("source", eventSource);
monitorMap.put("severity", monitor.getAlarmSeverity());
List<Map<String, Object>> triggers = new ArrayList<Map<String, Object>>();
for (Iterator<Trigger> it = monitor.getTriggers().iterator(); it.hasNext(); ) {
Trigger trigger = (Trigger) it.next();
Map<String, Object> triggerMap = new HashMap<String, Object>();
triggerMap.put("type", trigger.getType());
triggerMap.put("eventCodes", trigger.getEventCodes());
triggerMap.put("sources", trigger.getSourceList());
triggerMap.put("severity", trigger.getSeverity());
triggerMap.put("threshold", trigger.getThreshold());
triggerMap.put("period", trigger.getPeriod());
if (trigger.getAdapterFilters() != null) {
List<Map<String, Object>> filters = new ArrayList<Map<String, Object>>();
if (trigger.getSourceFiltering() != Trigger.SOURCE_FILTERING_NONE) {
for (Iterator<String> it1 = trigger.getAdapterFilters().keySet().iterator(); it1.hasNext(); ) {
Map<String, Object> adapter = new HashMap<String, Object>(2);
String adapterName = it1.next();
AdapterFilter af = (AdapterFilter) trigger.getAdapterFilters().get(adapterName);
adapter.put("name", adapterName);
if (trigger.isFilterOnLowerLevelObjects()) {
adapter.put("sources", af.getSubObjectList());
}
filters.add(adapter);
}
}
triggerMap.put("filterExclusive", trigger.isFilterExclusive());
triggerMap.put("filters", filters);
}
triggers.add(triggerMap);
}
monitorMap.put("triggers", triggers);
List<String> destinations = new ArrayList<String>();
Set<String> d = monitor.getDestinationSet();
for (Iterator<String> it = d.iterator(); it.hasNext(); ) {
destinations.add(it.next());
}
monitorMap.put("destinations", destinations);
monitors.add(monitorMap);
}
returnMap.put("monitors", monitors);
returnMap.put("enabled", new Boolean(mm.isEnabled()));
returnMap.put("severities", SeverityEnum.getNames());
returnMap.put("eventTypes", EventTypeEnum.getNames());
returnMap.put("destinations", mm.getDestinations().keySet());
return Response.status(Response.Status.OK).entity(returnMap).build();
}
use of nl.nn.adapterframework.monitoring.Monitor in project iaf by ibissource.
the class ShowMonitors method initForm.
public void initForm(DynaActionForm monitorForm) {
MonitorManager mm = MonitorManager.getInstance();
monitorForm.set("monitorManager", mm);
List destinations = new ArrayList();
for (int i = 0; i < mm.getMonitors().size(); i++) {
Monitor m = mm.getMonitor(i);
Set d = m.getDestinationSet();
for (Iterator it = d.iterator(); it.hasNext(); ) {
destinations.add(i + "," + it.next());
}
}
String[] selDest = new String[destinations.size()];
selDest = (String[]) destinations.toArray(selDest);
monitorForm.set("selDestinations", selDest);
monitorForm.set("enabled", new Boolean(mm.isEnabled()));
monitorForm.set("eventTypes", EventTypeEnum.getEnumList());
monitorForm.set("severities", SeverityEnum.getEnumList());
}
use of nl.nn.adapterframework.monitoring.Monitor in project iaf by ibissource.
the class ShowMonitors method debugFormData.
public void debugFormData(HttpServletRequest request, ActionForm form) {
for (Enumeration enumeration = request.getParameterNames(); enumeration.hasMoreElements(); ) {
String name = (String) enumeration.nextElement();
String[] values = request.getParameterValues(name);
if (values.length == 1) {
log.debug("Parameter [" + name + "] value [" + values[0] + "]");
} else {
for (int i = 0; i < values.length; i++) {
log.debug("Parameter [" + name + "][" + i + "] value [" + values[i] + "]");
}
}
}
if (form instanceof DynaActionForm) {
DynaActionForm daf = (DynaActionForm) form;
log.debug("class [" + daf.getDynaClass().getName() + "]");
for (Iterator it = daf.getMap().keySet().iterator(); it.hasNext(); ) {
String key = (String) it.next();
Object value = daf.get(key);
log.debug("key [" + key + "] class [" + ClassUtils.nameOf(value) + "] value [" + value + "]");
if (value != null) {
if (value instanceof Monitor) {
Monitor monitor = (Monitor) value;
log.debug("Monitor :" + monitor.toXml().toXML());
}
}
}
}
}
use of nl.nn.adapterframework.monitoring.Monitor in project iaf by ibissource.
the class EditMonitorExecute method performAction.
public String performAction(DynaActionForm monitorForm, String action, int index, int triggerIndex, HttpServletResponse response) {
MonitorManager mm = MonitorManager.getInstance();
if (index >= 0) {
Monitor monitor = mm.getMonitor(index);
if (action.equals("createTrigger")) {
int triggerCount = monitor.getTriggers().size();
Trigger trigger = new Trigger();
switch(triggerCount) {
case 0:
trigger.setAlarm(true);
case 1:
trigger.setAlarm(false);
default:
trigger.setAlarm(true);
}
monitor.registerTrigger(trigger);
} else if (action.equals("deleteTrigger")) {
monitor.getTriggers().remove(triggerIndex);
return determineExitForward(monitorForm);
} else if (action.equals("OK") || action.equals("Apply")) {
Monitor formMonitor = (Monitor) monitorForm.get("monitor");
monitor.setName(formMonitor.getName());
monitor.setTypeEnum(formMonitor.getTypeEnum());
monitor.setDestinations(formMonitor.getDestinations());
if (action.equals("OK")) {
return determineExitForward(monitorForm);
}
}
}
return "self";
}
Aggregations