@Transient @XmlAttribute public String getStatusLong() { return STATUS_MAP.get(getStatus()); }
public OnmsMonitoredServiceDetail(OnmsMonitoredService service) { m_nodeLabel = service.getIpInterface().getNode().getLabel(); m_ipAddress = service.getIpAddress(); m_serviceName = service.getServiceName(); m_isMonitored = "A".equals(service.getStatus()); m_isDown = service.isDown(); m_statusCode = service.getStatus(); m_status = service.getStatusLong(); m_id = service.getXmlId(); }
/** * <p>isDown</p> * * @return a boolean. */ @Transient @XmlAttribute(name="down") public boolean isDown() { boolean down = true; if (!"A".equals(getStatus()) || m_currentOutages.isEmpty()) { return !down; } return down; }
@Override public void visitMonitoredService(OnmsMonitoredService svc) { LOG.debug("visitMonitoredService({}) - currentOutages.isEmpty = {}", svc, svc.getCurrentOutages().isEmpty()); if ("A".equals(svc.getStatus()) && !svc.getCurrentOutages().isEmpty()) { if (AggregateStatus.ALL_NODES_UP.equals(m_status)) { m_status = AggregateStatus.ONE_SERVICE_DOWN; } } else if ("A".equals(svc.getStatus())) { m_isCurrentNodeDown = false; } }
@Override public void visitMonitoredService(OnmsMonitoredService svc) { LOG.debug("visitMonitoredService({}) - currentOutages.isEmpty = {}", svc, svc.getCurrentOutages().isEmpty()); if ("A".equals(svc.getStatus()) && !svc.getCurrentOutages().isEmpty()) { if (AggregateStatus.ALL_NODES_UP.equals(m_status)) { m_status = AggregateStatus.ONE_SERVICE_DOWN; } } else if ("A".equals(svc.getStatus())) { m_isCurrentNodeDown = false; } }
String svcStatus = m_monitoredServiceDao.get((int)nodeid, ip, svcName).getStatus();
@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; }
/** * <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()); } }
final String ipAddr = InetAddressUtils.str(iface.getIpAddress()); final String serviceName = service.getServiceName(); boolean active = "A".equals(service.getStatus()); final Number svcLostEventId = event == null ? null : event.getId(); final Date ifLostService = outage == null ? null : outage.getIfLostService();
/** * Test for NMS-7426. */ @Test public void testServicesWithoutPackagesAreMarkedAsNotPolled() { MockService monitoredSvc = m_network.getService(5, "192.168.1.7", "SNMP"); MockService notMonitoredSvc = m_network.getService(5, "192.168.1.7", "NotMonitored"); OnmsMonitoredService notMonitored = m_monitoredServiceDao.get( notMonitoredSvc.getNodeId(), notMonitoredSvc.getAddress(), notMonitoredSvc.getSvcName()); // The status should be set initially set to active assertEquals("A", notMonitored.getStatus()); // Start the poller startDaemons(); // Take a service down, and wait for the event // We do this to make ensure the nodes services we're in fact scheduled anticipateDown(monitoredSvc); monitoredSvc.bringDown(); verifyAnticipated(10000); // The status should now be set to not monitored notMonitored = m_monitoredServiceDao.get( notMonitoredSvc.getNodeId(), notMonitoredSvc.getAddress(), notMonitoredSvc.getSvcName()); assertEquals("N", notMonitored.getStatus()); }