private SimplePollerConfiguration createPollerConfiguration(String pollingPackageName) { final Package pkg = getPollingPackage(pollingPackageName); final ServiceSelector selector = m_pollerConfig.getServiceSelectorForPackage(pkg); final Collection<OnmsMonitoredService> services = m_monSvcDao.findMatchingServices(selector); final List<PolledService> configs = new ArrayList<PolledService>(services.size()); LOG.debug("Found {} services in polling package {}", services.size(), pollingPackageName); for (final OnmsMonitoredService monSvc : services) { final Service serviceConfig = m_pollerConfig.getServiceInPackage(monSvc.getServiceName(), pkg); final long interval = serviceConfig.getInterval(); final Map<String, Object> parameters = getParameterMap(serviceConfig); if (LOG.isTraceEnabled()) { for (Map.Entry<String, Object> entry : parameters.entrySet()) { LOG.trace("Service {} has parameter {} with type {} and value: {}", monSvc.getServiceName(), entry.getKey(), entry.getValue() != null ? entry.getValue().getClass().getCanonicalName() : "null", entry.getValue()); } } configs.add(new PolledService(monSvc, parameters, new OnmsPollModel(interval))); } Collections.sort(configs); return new SimplePollerConfiguration(getConfigurationTimestamp(), configs.toArray(new PolledService[configs.size()])); }
private SimplePollerConfiguration createPollerConfiguration(String pollingPackageName) { final Package pkg = getPollingPackage(pollingPackageName); final ServiceSelector selector = m_pollerConfig.getServiceSelectorForPackage(pkg); final Collection<OnmsMonitoredService> services = m_monSvcDao.findMatchingServices(selector); final List<PolledService> configs = new ArrayList<PolledService>(services.size()); LOG.debug("Found {} services in polling package {}", services.size(), pollingPackageName); for (final OnmsMonitoredService monSvc : services) { final Service serviceConfig = m_pollerConfig.getServiceInPackage(monSvc.getServiceName(), pkg); final long interval = serviceConfig.getInterval(); final Map<String, Object> parameters = getParameterMap(serviceConfig); if (LOG.isTraceEnabled()) { for (Map.Entry<String, Object> entry : parameters.entrySet()) { LOG.trace("Service {} has parameter {} with type {} and value: {}", monSvc.getServiceName(), entry.getKey(), entry.getValue() != null ? entry.getValue().getClass().getCanonicalName() : "null", entry.getValue()); } } configs.add(new PolledService(monSvc, parameters, new OnmsPollModel(interval))); } Collections.sort(configs); return new SimplePollerConfiguration(getConfigurationTimestamp(), configs.toArray(new PolledService[configs.size()])); }
private Package getPollingPackageForMonitorAndService(final OnmsLocationMonitor mon, OnmsMonitoredService monSvc) { List<String> pollingPackageNames = getPackageName(mon); for (String pollingPackageName : pollingPackageNames) { Package pkg = getPollingPackage(pollingPackageName); if (m_pollerConfig.getServiceInPackage(monSvc.getServiceName(), pkg) != null) { return pkg; } } throw new IllegalStateException("Could not find package from monitor " + mon.getName() + " that contains service " + monSvc.getServiceName()); }
private Package getPollingPackageForMonitorAndService(final OnmsLocationMonitor mon, OnmsMonitoredService monSvc) { List<String> pollingPackageNames = getPackageName(mon); for (String pollingPackageName : pollingPackageNames) { Package pkg = getPollingPackage(pollingPackageName); if (m_pollerConfig.getServiceInPackage(monSvc.getServiceName(), pkg) != null) { return pkg; } } throw new IllegalStateException("Could not find package from monitor " + mon.getName() + " that contains service " + monSvc.getServiceName()); }
final Service svc = pollerConfig.getServiceInPackage(serviceName, pkg); if (svc == null) { System.err.printf("Error: Service %s not defined on package %s%n", serviceName, packageName);
public void saveResponseTimeData(final String locationMonitorId, final OnmsMonitoredService monSvc, final double responseTime, final Package pkg) { final String svcName = monSvc.getServiceName(); final Service svc = m_pollerConfig.getServiceInPackage(svcName, pkg);
public void saveResponseTimeData(final String locationMonitorId, final OnmsMonitoredService monSvc, final double responseTime, final Package pkg) { final String svcName = monSvc.getServiceName(); final Service svc = m_pollerConfig.getServiceInPackage(svcName, pkg);
@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); 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()); } }