return false; } else if (!m_filter.equals(other.m_filter)) { return false;
public boolean interfaceInFilter(String iface, Package pkg) { String filter = pkg.getFilter().getContent(); if (iface == null) return false; final InetAddress ifaceAddress = addr(iface); boolean filterPassed = false; // // Get a list of IP address per package against the filter rules from // database and populate the package, IP list map. // LOG.debug("interfaceInFilter: package is {}. filter rules are {}", pkg.getName(), filter); try { final List<InetAddress> ipList = FilterDaoFactory.getInstance().getActiveIPAddressList(filter); filterPassed = ipList.contains(ifaceAddress); if (!filterPassed) { LOG.debug("interfaceInFilter: Interface {} passed filter for package {}?: false", iface, pkg.getName()); } } catch (Throwable t) { LOG.error("interfaceInFilter: Failed to map package: {} to an IP List with filter \"{}\"", pkg.getName(), pkg.getFilter().getContent(), t); } return filterPassed; }
public Filter getFilter(final String filterName) { final List<Filter> filters = new ArrayList<>(); for (final Package p : getPackages()) { final Filter filter = p.getFilter(); if (filterName.equals(filter.getName())) { filters.add(filter); } else if (filterName.equals(p.getName())) { filter.setName(p.getName()); filters.add(filter); } } if (filters.size() > 1) { throw new IllegalArgumentException("Filter name " + filterName + " matched more than one filter in collectd-configuration.xml!"); } else if (filters.size() == 1) { return filters.get(0); } else { return null; } }
public static CollectionSpecification createCollectionSpec(String svcName, ServiceCollector svcCollector, String collectionName) { Package pkg = new Package(); Filter filter = new Filter(); filter.setContent("IPADDR IPLIKE *.*.*.*"); pkg.setFilter(filter); Service service = new Service(); service.setName(svcName); Parameter collectionParm = new Parameter(); collectionParm.setKey("collection"); collectionParm.setValue(collectionName); service.addParameter(collectionParm); pkg.addService(service); CollectionSpecification spec = new CollectionSpecification(pkg, svcName, svcCollector, new DefaultCollectdInstrumentation(), createLocationAwareCollectorClient()); return spec; }
@Override public int hashCode() { final int prime = 727; int result = 1; result = prime * result + ((m_excludeRanges == null) ? 0 : m_excludeRanges.hashCode()); result = prime * result + ((m_filter == null) ? 0 : m_filter.hashCode()); result = prime * result + ((m_ifAliasComment == null) ? 0 : m_ifAliasComment.hashCode()); result = prime * result + ((m_ifAliasDomain == null) ? 0 : m_ifAliasDomain.hashCode()); result = prime * result + ((m_includeRanges == null) ? 0 : m_includeRanges.hashCode()); result = prime * result + ((m_includeUrls == null) ? 0 : m_includeUrls.hashCode()); result = prime * result + ((m_name == null) ? 0 : m_name.hashCode()); result = prime * result + ((m_outageCalendar == null) ? 0 : m_outageCalendar.hashCode()); result = prime * result + ((m_services == null) ? 0 : m_services.hashCode()); result = prime * result + ((m_specifics == null) ? 0 : m_specifics.hashCode()); result = prime * result + ((m_storFlagOverride == null) ? 0 : m_storFlagOverride.hashCode()); result = prime * result + ((m_storeByIfAlias == null) ? 0 : m_storeByIfAlias.hashCode()); result = prime * result + ((m_storeByNodeID == null) ? 0 : m_storeByNodeID.hashCode()); result = prime * result + Boolean.valueOf(m_remote).hashCode(); return result; }
public static CollectionSpecification createCollectionSpec(String svcName, ServiceCollector svcCollector, String collectionName) { Package pkg = new Package(); Filter filter = new Filter(); filter.setContent("IPADDR IPLIKE *.*.*.*"); pkg.setFilter(filter); Service service = new Service(); service.setName(svcName); Parameter collectionParm = new Parameter(); collectionParm.setKey("collection"); collectionParm.setValue(collectionName); service.addParameter(collectionParm); pkg.addService(service); CollectionSpecification spec = new CollectionSpecification(pkg, svcName, svcCollector, new DefaultCollectdInstrumentation(), createLocationAwareCollectorClient()); return spec; }
/** * Creates the get packages expectation. */ private void createGetPackagesExpectation() { final Package pkg = new Package(); pkg.setName("testPackage"); Filter filter = new Filter(); filter.setContent("ipaddr != '0.0.0.0'"); pkg.setFilter(filter); final Service collector = new Service(); collector.setName("SNMP"); collector.setStatus("on"); collector.setInterval(1000l); collector.addParameter("thresholding-enabled", "false"); pkg.addService(collector); EasyMock.expect(m_collectdConfiguration.getPackages()).andReturn(Collections.singletonList(pkg)).anyTimes(); EasyMock.expect(m_collectdConfigFactory.interfaceInPackage(anyObject(OnmsIpInterface.class), eq(pkg))).andReturn(true).anyTimes(); }
private void createGetPackagesExpectation(OnmsMonitoredService svc) { String rule = "ipaddr = '"+ str(svc.getIpAddress())+"'"; //EasyMock.expect(m_filterDao.getActiveIPAddressList(rule)).andReturn(Collections.singletonList(svc.getIpAddress())); final Package pkg = new Package(); pkg.setName("testPackage"); Filter filter = new Filter(); filter.setContent(rule); pkg.setFilter(filter); final Service collector = new Service(); collector.setName("SNMP"); collector.setStatus("on"); collector.setInterval(3000l); Parameter parm = new Parameter(); parm.setKey(TEST_KEY_PARM_NAME); parm.setValue(m_key); collector.setParameters(Collections.singletonList(parm)); pkg.addService(collector); EasyMock.expect(m_collectdConfiguration.getPackages()).andReturn(Collections.singletonList(pkg)); EasyMock.expect(m_collectdConfigFactory.interfaceInPackage(anyObject(OnmsIpInterface.class), eq(pkg))).andReturn(true); }
public final void doTestNMS4886(String svcName) throws Exception { HttpCollector collector = new HttpCollector(); Map<String, String> parameters = new HashMap<String, String>(); parameters.put("http-collection", "default"); parameters.put("port", "10342"); collector.initialize(); Package pkg = new Package(); Filter filter = new Filter(); filter.setContent("IPADDR IPLIKE *.*.*.*"); pkg.setFilter(filter); Service service = new Service(); service.setName(svcName); Parameter collectionParm = new Parameter(); collectionParm.setKey("http-collection"); collectionParm.setValue("default"); service.addParameter(collectionParm); Parameter portParm = new Parameter(); portParm.setKey("port"); portParm.setValue("10342"); service.addParameter(portParm); pkg.addService(service); CollectionSpecification collectionSpecification = new CollectionSpecification(pkg, svcName, collector, new DefaultCollectdInstrumentation(), CollectorTestUtils.createLocationAwareCollectorClient()); CollectionSet collectionSet = collectionSpecification.collect(m_collectionAgent); assertEquals("collection status", CollectionStatus.SUCCEEDED, collectionSet.getStatus()); CollectorTestUtils.persistCollectionSet(m_rrdStrategy, m_resourceStorageDao, collectionSpecification, collectionSet); }
private static Package getCollectionPackageThatMatchesSNMP() { Package pkg = new Package(); pkg.setName("pkg"); Filter filter = new Filter(); filter.setContent("IPADDR IPLIKE *.*.*.*"); pkg.setFilter(filter); Service svc = new Service(); pkg.addService(svc); svc.setName("SNMP"); svc.setStatus("on"); Parameter parm = new Parameter(); parm.setKey("collection"); parm.setValue("default"); svc.addParameter(parm); parm = new Parameter(); parm.setKey("thresholding-enabled"); parm.setValue("true"); svc.addParameter(parm); svc.setStatus("on"); return pkg; }
Filter filter = new Filter(); filter.setContent("IPADDR != '0.0.0.0'"); pkg.setFilter(filter); Service service = new Service();