use of org.opennms.netmgt.poller.ServiceMonitor in project opennms by OpenNMS.
the class SshMonitorIT method testPollWithInvalidHost.
@Test
public void testPollWithInvalidHost() throws UnknownHostException {
ServiceMonitor sm = new SshMonitor();
MonitoredService svc = new MockMonitoredService(1, "Router", InetAddressUtils.UNPINGABLE_ADDRESS, "SSH");
Map<String, Object> parms = new HashMap<String, Object>();
PollStatus ps = sm.poll(svc, parms);
assertTrue(createAssertMessage(ps, "Unavailable"), ps.isUnavailable());
}
use of org.opennms.netmgt.poller.ServiceMonitor in project opennms by OpenNMS.
the class SshMonitorIT method testPollWithNoIpAddress.
@Test
public void testPollWithNoIpAddress() throws UnknownHostException {
ServiceMonitor sm = new SshMonitor();
MonitoredService svc = new MockMonitoredService(1, "Router", null, "SSH");
Map<String, Object> parms = new HashMap<String, Object>();
parms.put("banner", "OpenNMS");
PollStatus ps = sm.poll(svc, parms);
assertTrue(createAssertMessage(ps, "Down"), ps.isDown());
assertFalse(createAssertMessage(ps, "not Up"), ps.isUp());
}
use of org.opennms.netmgt.poller.ServiceMonitor in project opennms by OpenNMS.
the class PollerConfigWithPSMIT method testPSM.
@Test
public void testPSM() throws Exception {
InputStream is = new FileInputStream(new File("src/test/resources/etc/psm-poller-configuration.xml"));
PollerConfigFactory factory = new PollerConfigFactory(0, is, "localhost", false);
PollerConfigFactory.setInstance(factory);
IOUtils.closeQuietly(is);
ServiceMonitor monitor = PollerConfigFactory.getInstance().getServiceMonitor("MQ_API_DirectRte_v2");
Assert.assertNotNull(monitor);
Package pkg = PollerConfigFactory.getInstance().getPackage("MapQuest");
Assert.assertNotNull(pkg);
Service svc = PollerConfigFactory.getInstance().getServiceInPackage("MQ_API_DirectRte_v2", pkg);
Assert.assertNotNull(svc);
Map<String, Object> parameters = new HashMap<String, Object>();
for (Parameter p : svc.getParameters()) {
parameters.put(p.getKey(), p.getValue() == null ? p.getAnyObject() : p.getValue());
}
PollStatus status = monitor.poll(new MockMonitoredService(1, "www.mapquest.com", InetAddress.getByName("www.mapquest.com"), "MQ_API_DirectRte_v2"), parameters);
Assert.assertEquals(PollStatus.SERVICE_AVAILABLE, status.getStatusCode());
}
use of org.opennms.netmgt.poller.ServiceMonitor in project opennms by OpenNMS.
the class PassiveStatusKeeperIT method testDownPassiveStatus.
@Test
public void testDownPassiveStatus() throws InterruptedException, UnknownHostException {
Event e = createPassiveStatusEvent("Router", "192.168.1.1", "ICMP", "Down");
m_eventMgr.sendNow(e);
PollStatus ps = m_psk.getStatus("Router", "192.168.1.1", "ICMP");
assertTrue(ps.isDown());
MockMonitoredService svc = new MockMonitoredService(1, "Router", InetAddressUtils.addr("192.168.1.1"), "ICMP");
ServiceMonitor m = new PassiveServiceMonitor();
PollStatus ps2 = m.poll(svc, null);
assertEquals(ps, ps2);
}
use of org.opennms.netmgt.poller.ServiceMonitor in project opennms by OpenNMS.
the class PollerConfigManager method getServiceMonitorLocators.
/**
* {@inheritDoc}
*/
@Override
public Collection<ServiceMonitorLocator> getServiceMonitorLocators(final DistributionContext context) {
List<ServiceMonitorLocator> locators = new ArrayList<ServiceMonitorLocator>();
try {
getReadLock().lock();
for (final Monitor monitor : monitors()) {
try {
final Class<? extends ServiceMonitor> mc = findServiceMonitorClass(monitor);
if (isDistributableToContext(mc, context)) {
final ServiceMonitorLocator locator = new DefaultServiceMonitorLocator(monitor.getService(), mc);
locators.add(locator);
}
LOG.debug("Loaded monitor for service: {}, class-name: {}", monitor.getService(), monitor.getClassName());
} catch (final ClassNotFoundException e) {
LOG.warn("Unable to load monitor for service: {}, class-name: {}: {}", monitor.getService(), monitor.getClassName(), e.getMessage());
} catch (ConfigObjectRetrievalFailureException e) {
LOG.warn("{} {}", e.getMessage(), e.getRootCause(), e);
}
}
} finally {
getReadLock().unlock();
}
return locators;
}
Aggregations