/** * @deprecated We should specify a reason on every PollStatus object. * * @return a {@link org.opennms.netmgt.poller.PollStatus} object. */ public static PollStatus unknown() { return unknown(null); }
public SnmpMinimalPollInterface(int ifindex, int adminstatus, int operstatus) { this.ifindex = ifindex; this.adminstatus = adminstatus; this.operstatus = operstatus; m_status = PollStatus.unknown(); }
@Override public PollStatus onInterrupted(Throwable t) { return PollStatus.unknown("Interrupted."); }
@Override public PollStatus onRejected(Throwable t) { return PollStatus.unknown("Rejected."); }
@Override public PollStatus onInterrupted(Throwable cause) { LOG.warn("Interrupted while invoking the poll for {}." + " Marking the service as UNKNOWN.", m_service); return PollStatus.unknown("Interrupted while invoking the poll for"+m_service+". "+e); }
@Override public PollStatus onRejected(Throwable cause) { LOG.warn("The request to remotely invoke the poll for {} was rejected." + " Marking the service as UNKNOWN.", m_service); return PollStatus.unknown(String.format("Remote poll request rejected for %s. %s", m_service, cause)); }
@Override public PollStatus onTimedOut(Throwable cause) { LOG.warn("No response was received when remotely invoking the poll for {}." + " Marking the service as UNKNOWN.", m_service); return PollStatus.unknown(String.format("No response received for %s. %s", m_service, cause)); }
/** * Set poll status to unknown indicate an exception occurred while attempting to sleep the thread. * @param status * @param interval * @return returns an unchanged PollStatus unless an exception happens in which case status is changed to unknown. */ private int delayTest(PollStatus status, final long interval) { LOG.debug("delayTest: delaying test for: {}ms. per configuration.", interval); try { Thread.sleep(interval); } catch (final InterruptedException e) { LOG.error("delayTest: An interrupt exception occurred while delaying the mail test", e); status = PollStatus.unknown(e.getLocalizedMessage()); } return status.getStatusCode(); }
/** * <p>getStatus</p> * * @param nodeLabel a {@link java.lang.String} object. * @param ipAddr a {@link java.lang.String} object. * @param svcName a {@link java.lang.String} object. * @return a {@link org.opennms.netmgt.poller.PollStatus} object. */ public PollStatus getStatus(String nodeLabel, String ipAddr, String svcName) { //FIXME: Throw a log or exception here if this method is called and the this class hasn't been initialized PollStatus status = (m_statusTable == null ? PollStatus.unknown() : m_statusTable.get(new PassiveStatusKey(nodeLabel, ipAddr, svcName))); return (status == null ? PollStatus.up() : status); }
@Override public PollerResponseDTO get() { PollStatus pollStatus; try { final Map<String, Object> parameters = request.getMonitorParameters(); pollStatus = monitor.poll(request, parameters); } catch (RuntimeException e) { pollStatus = PollStatus.unknown(e.getMessage()); } return new PollerResponseDTO(pollStatus); } }, executor);
@Override public CompletableFuture<PollerResponseDTO> execute(PollerRequestDTO request) { final String className = request.getClassName(); final ServiceMonitor monitor = serviceMonitorRegistry.getMonitorByClassName(className); if (monitor == null) { return CompletableFuture.completedFuture(new PollerResponseDTO(PollStatus.unknown("No monitor found with class name '" + className + "'."))); } return CompletableFuture.supplyAsync(new Supplier<PollerResponseDTO>() { @Override public PollerResponseDTO get() { PollStatus pollStatus; try { final Map<String, Object> parameters = request.getMonitorParameters(); pollStatus = monitor.poll(request, parameters); } catch (RuntimeException e) { pollStatus = PollStatus.unknown(e.getMessage()); } return new PollerResponseDTO(pollStatus); } }, executor); }
pollStatuses.add(PollStatus.unknown("No status found for this service")); LOG.debug("Did not find status for service {} in application. Setting status for it to unknown.", service);
pollStatuses.add(PollStatus.unknown("No status found for this service")); LOG.debug("Did not find status for service {} in application. Setting status for it to unknown.", service);
@Override public PollStatus poll(final MonitoredService svc, final Map<String, Object> parameters) { // Minions send heartbeat every 30 seconds - we check that we can skip not more than one beat final int period = 2 * ParameterMap.getKeyedInteger(parameters, "period", 30 * 1000); // Get the minion to test whereas the minion ID is the nodes foreign ID by convention final OnmsNode node = nodeDao.get().get(svc.getNodeId()); final OnmsMinion minion = minionDao.get().findById(node.getForeignId()); // Calculate the time since the last heartbeat was received final long lastSeen = System.currentTimeMillis() - minion.getLastUpdated().getTime(); final PollStatus status; if (lastSeen <= period) { status = PollStatus.available(); } else if (ManagementFactory.getRuntimeMXBean().getUptime() < period) { status = PollStatus.unknown("JVM has not been started long enough to process a heartbeat."); } else { status = PollStatus.unavailable(String.format("Last heartbeat was %.2f seconds ago", lastSeen / 1000.0)); } return status; }
private PollStatus doPoll(int nodeId, String ipAddr, String svcName) { synchronized (m_network) { MockService svc = m_network.getService(nodeId, ipAddr, svcName); if (svc == null) { LOG.info("Invalid Poll: {}/{}/{}", nodeId, ipAddr, svcName); m_network.receivedInvalidPoll(ipAddr, svcName); return PollStatus.unknown("Mock."); } else { LOG.info("Poll: [{}/{}/{}]", svc.getInterface().getNode().getLabel(), ipAddr, svcName); PollStatus pollStatus = svc.poll(); return PollStatus.get(pollStatus.getStatusCode(), pollStatus.getReason()); } } }
PollStatus status = PollStatus.unknown("Beginning poll."); mailParms.setTestSubjectSuffix(Long.toString(beginPoll));
@Override public org.opennms.netmgt.poller.PollStatus poll(MonitoredService svc, Map<String, Object> parameters) { Map<String, String> attributes = getAttributes(parameters); PollerRequest monitoredService = new PollerRequestImpl(svc, attributes); ServicePoller servicePoller = servicePollerFactory.createPoller(); CompletableFuture<PollerResult> future = servicePoller.poll(monitoredService); PollerResult pollStatus; try { pollStatus = future.get(); switch (pollStatus.getStatus()) { case Up: return PollStatus.up(); case Down: return PollStatus.down(pollStatus.getReason()); case UnResponsive: return PollStatus.unresponsive(pollStatus.getReason()); case Unknown: return PollStatus.unknown(pollStatus.getReason()); } } catch (InterruptedException | ExecutionException e) { return PollStatus.down(e.getMessage()); } return PollStatus.unknown(pollStatus.getReason()); }
/** {@inheritDoc} */ @Override public PollStatus poll(PolledService polledService) { ServiceMonitor monitor = getServiceMonitor(polledService); if (monitor == null) { return PollStatus.unknown("No service monitor for service " + polledService.getSvcName()); } else { PollStatus result = monitor.poll(polledService, polledService.getMonitorConfiguration()); result.setTimestamp(m_timeAdjustment.adjustDateToMasterDate(result.getTimestamp())); return result; } }
PollStatus status = PollStatus.unknown(); try { final String subject = computeMatchingSubject(mailParms);
/** {@inheritDoc} */ @Override public PollStatus poll(PolledService polledService) { ServiceMonitor monitor = getServiceMonitor(polledService); if (monitor == null) { return PollStatus.unknown("No service monitor for service " + polledService.getSvcName()); } else { PollStatus result = monitor.poll(polledService, polledService.getMonitorConfiguration()); result.setTimestamp(m_timeAdjustment.adjustDateToMasterDate(result.getTimestamp())); return result; } }