private void updateServiceStatus(OnmsMonitoredService service, String status) { service.setStatus(status); m_monitoredServiceDao.saveOrUpdate(service); }
@Override public void updateServiceStatus(int nodeId, String ipAddr, String serviceName, String status) { try { OnmsMonitoredService service = m_monitoredServiceDao.get(nodeId, InetAddress.getByName(ipAddr), serviceName); service.setStatus(status); m_monitoredServiceDao.saveOrUpdate(service); } catch (UnknownHostException e) { LOG.error("Failed to set the status for service named {} on node id {} and interface {} to {}.", serviceName, nodeId, ipAddr, status, e); } }
/** {@inheritDoc} */ public void foundMonitoredService(String serviceName) { OnmsServiceType svcType = getServiceType(serviceName); OnmsMonitoredService service = new OnmsMonitoredService(m_currentInterface, svcType); service.setStatus("A"); m_currentInterface.getMonitoredServices().add(service); }
/** * <p>addService</p> * * @param serviceType a {@link org.opennms.netmgt.model.OnmsServiceType} object. * @return a {@link org.opennms.netmgt.model.OnmsMonitoredService} object. */ public OnmsMonitoredService addService(final OnmsServiceType serviceType) { m_serviceTypeCache.put(serviceType.getName(), serviceType); if (m_currentIf != null) { m_currentMonSvc = new OnmsMonitoredService(m_currentIf, serviceType); m_currentMonSvc.setStatus("A"); return m_currentMonSvc; } else { final Set<OnmsIpInterface> ipInterfaces = m_currentSnmpIf.getIpInterfaces(); if (m_currentSnmpIf != null && ipInterfaces != null && ipInterfaces.size() > 0) { final OnmsIpInterface current = ipInterfaces.toArray(new OnmsIpInterface[]{})[ipInterfaces.size() - 1]; m_currentMonSvc = new OnmsMonitoredService(current, serviceType); m_currentMonSvc.setStatus("A"); return m_currentMonSvc; } } m_currentMonSvc = null; return null; }
/** * <p>foundMonitoredService</p> * * @param serviceName a {@link java.lang.String} object. */ public void foundMonitoredService(String serviceName) { // current interface may be null if it has no ipaddr if (m_currentInterface != null) { OnmsServiceType svcType = getProvisionService().createServiceTypeIfNecessary(serviceName); OnmsMonitoredService service = new OnmsMonitoredService(m_currentInterface, svcType); service.setStatus("A"); m_currentInterface.getMonitoredServices().add(service); } }
/** * <p>foundMonitoredService</p> * * @param serviceName a {@link java.lang.String} object. */ public void foundMonitoredService(String serviceName) { // current interface may be null if it has no ipaddr if (m_currentInterface != null) { OnmsServiceType svcType = getProvisionService().createServiceTypeIfNecessary(serviceName); OnmsMonitoredService service = new OnmsMonitoredService(m_currentInterface, svcType); service.setStatus("A"); m_currentInterface.getMonitoredServices().add(service); } }
@Override protected OnmsMonitoredService doUpdate(OnmsMonitoredService dbObj) { // NMS-3906 LOG.debug("current status of service {} on node with IP {} is {} ", dbObj.getServiceName(), dbObj.getIpAddress().getHostAddress(), dbObj.getStatus()); switch (dbObj.getStatus()) { case "S": LOG.debug("suspending polling for service {} on node with IP {}", dbObj.getServiceName(), dbObj.getIpAddress().getHostAddress()); dbObj.setStatus("F"); m_monitoredServiceDao.update(dbObj); sendEvent(EventConstants.SUSPEND_POLLING_SERVICE_EVENT_UEI, dbObj); break; case "R": LOG.debug("resume polling for service {} on node with IP {}", dbObj.getServiceName(), dbObj.getIpAddress().getHostAddress()); dbObj.setStatus("A"); m_monitoredServiceDao.update(dbObj); sendEvent(EventConstants.RESUME_POLLING_SERVICE_EVENT_UEI, dbObj); break; case "A": // we can ignore active statuses break; case "N": // we can ignore not-polled statuses break; default: LOG.warn("Unhandled state: {}", dbObj.getStatus()); break; } return dbObj; }
@Override protected OnmsMonitoredService doUpdate(OnmsMonitoredService dbObj) { // NMS-3906 LOG.debug("current status of service {} on node with IP {} is {} ", dbObj.getServiceName(), dbObj.getIpAddress().getHostAddress(), dbObj.getStatus()); switch (dbObj.getStatus()) { case "S": LOG.debug("suspending polling for service {} on node with IP {}", dbObj.getServiceName(), dbObj.getIpAddress().getHostAddress()); dbObj.setStatus("F"); m_monitoredServiceDao.update(dbObj); sendEvent(EventConstants.SUSPEND_POLLING_SERVICE_EVENT_UEI, dbObj); break; case "R": LOG.debug("resume polling for service {} on node with IP {}", dbObj.getServiceName(), dbObj.getIpAddress().getHostAddress()); dbObj.setStatus("A"); m_monitoredServiceDao.update(dbObj); sendEvent(EventConstants.RESUME_POLLING_SERVICE_EVENT_UEI, dbObj); break; case "A": // we can ignore active statuses break; case "N": // we can ignore not-polled statuses break; default: LOG.warn("Unhandled state: {}", dbObj.getStatus()); break; } return dbObj; }
@Override protected OnmsMonitoredService doInsert() { final OnmsMonitoredService svc = new OnmsMonitoredService(iface, svcType); svc.setStatus("A"); m_ipInterfaceDao.saveOrUpdate(iface); m_ipInterfaceDao.flush(); final AddEventVisitor visitor = new AddEventVisitor(m_eventForwarder); svc.visit(visitor); return svc; }
@Override protected OnmsMonitoredService doInsert() { final OnmsMonitoredService svc = new OnmsMonitoredService(iface, svcType); svc.setStatus("A"); m_ipInterfaceDao.saveOrUpdate(iface); m_ipInterfaceDao.flush(); final AddEventVisitor visitor = new AddEventVisitor(m_eventForwarder); svc.visit(visitor); return svc; }
/** * <p>mergeServiceAttributes</p> * * @param scanned a {@link org.opennms.netmgt.model.OnmsMonitoredService} object. */ public void mergeServiceAttributes(OnmsMonitoredService scanned) { if (hasNewValue(scanned.getQualifier(), getQualifier())) { setQualifier(scanned.getQualifier()); } if (hasNewStatusValue(scanned.getStatus(), getStatus())) { setStatus(scanned.getStatus()); } if (hasNewValue(scanned.getSource(), getSource())) { setSource(scanned.getSource()); } if (hasNewValue(scanned.getNotify(), getNotify())) { setNotify(scanned.getNotify()); } }