RrdRepository repository = new RrdRepository(); repository.setStep(Math.max(intervalInSeconds, 1)); repository.setHeartBeat(repository.getStep() * 2); if (rras != null && rras.size() > 0) { repository.setRraList(rras);
@Override public RrdRepository getRrdRepository(String collectionName) { LOG.debug("getRrdRepository({})", collectionName); WsmanDatacollectionConfig config = m_wsManDataCollectionConfigDao.getConfig(); Collection collection = m_wsManDataCollectionConfigDao.getCollectionByName(collectionName); if (collection == null) { throw new IllegalArgumentException("No configuration found for collection with name: " + collectionName); } RrdRepository rrdRepository = new RrdRepository(); rrdRepository.setStep(collection.getRrd().getStep()); rrdRepository.setHeartBeat(2 * rrdRepository.getStep()); rrdRepository.setRraList(collection.getRrd().getRra()); rrdRepository.setRrdBaseDir(new File(config.getRrdRepository())); LOG.debug("Using RRD repository: {} for collection: {}", rrdRepository, collectionName); return rrdRepository; }
/** * <p>commit</p> * * @throws org.opennms.netmgt.collection.api.PersistException if any. */ public void commit() throws PersistException { if (m_declarations.size() == 0) { // Nothing to do. In fact, we'll get an error if we try to create an RRD file with no data sources return; } try { final String ownerName = m_resource.getOwnerName(); final String absolutePath = getResourceDir(m_resource); RrdMetaDataUtils.createMetaDataFile(absolutePath, m_rrdName, m_metaData); List<RrdDataSource> dataSources = getDataSources(); if (dataSources != null && dataSources.size() > 0) { createRRD(m_rrdStrategy, ownerName, absolutePath, m_rrdName, getRepository().getStep(), dataSources, getRepository().getRraList()); updateRRD(m_rrdStrategy, ownerName, absolutePath, m_rrdName, m_timeKeeper.getCurrentTime(), getValues()); } } catch (FileNotFoundException e) { LoggerFactory.getLogger(getClass()).warn("Could not get resource directory: " + e.getMessage(), e); return; } catch (RrdException e) { throw new PersistException(e); } }
@Override public RrdRepository getRrdRepository(String collectionName) { LOG.debug("getRrdRepository({})", collectionName); WsmanDatacollectionConfig config = m_wsManDataCollectionConfigDao.getConfig(); Collection collection = m_wsManDataCollectionConfigDao.getCollectionByName(collectionName); if (collection == null) { throw new IllegalArgumentException("No configuration found for collection with name: " + collectionName); } RrdRepository rrdRepository = new RrdRepository(); rrdRepository.setStep(collection.getRrd().getStep()); rrdRepository.setHeartBeat(2 * rrdRepository.getStep()); rrdRepository.setRraList(collection.getRrd().getRra()); rrdRepository.setRrdBaseDir(new File(config.getRrdRepository())); LOG.debug("Using RRD repository: {} for collection: {}", rrdRepository, collectionName); return rrdRepository; }
/** * <p>commit</p> * * @throws org.opennms.netmgt.collection.api.PersistException if any. */ public void commit() throws PersistException { if (m_declarations.size() == 0) { // Nothing to do. In fact, we'll get an error if we try to create an RRD file with no data sources return; } try { final String ownerName = m_resource.getOwnerName(); final String absolutePath = getResourceDir(m_resource); RrdMetaDataUtils.createMetaDataFile(absolutePath, m_rrdName, m_metaData); List<RrdDataSource> dataSources = getDataSources(); if (dataSources != null && dataSources.size() > 0) { createRRD(m_rrdStrategy, ownerName, absolutePath, m_rrdName, getRepository().getStep(), dataSources, getRepository().getRraList()); updateRRD(m_rrdStrategy, ownerName, absolutePath, m_rrdName, m_timeKeeper.getCurrentTime(), getValues()); } } catch (FileNotFoundException e) { LoggerFactory.getLogger(getClass()).warn("Could not get resource directory: " + e.getMessage(), e); return; } catch (RrdException e) { throw new PersistException(e); } }
private void persistLatencySamples(MonitoredService service, Map<String, Number> entries, File rrdRepositoryRoot, String rrdBaseName) { RrdRepository repository = new RrdRepository(); repository.setStep(m_pollerConfig.getStep(m_pkg)); repository.setRraList(m_pollerConfig.getRRAList(m_pkg)); repository.setHeartBeat(repository.getStep() * HEARTBEAT_STEP_MULTIPLIER); repository.setRrdBaseDir(rrdRepositoryRoot); // When making calls directly to RrdUtils#createRrd() and RrdUtils#updateRrd(), // the behavior was as follows: // 1) All samples get written to response/${ipAddr}/${rrdBaseName}.rrd // This happens whether or not storeByGroup is enabled. // 2) If multiple entries are present, the DSs are created in the same order that they // appear in the map LatencyCollectionResource latencyResource = new LatencyCollectionResource(service.getSvcName(), service.getIpAddr(), service.getNodeLocation()); for (final Entry<String, Number> entry : entries.entrySet()) { final String ds = entry.getKey(); final Number value = entry.getValue() != null ? entry.getValue() : Double.NaN; LatencyCollectionAttributeType latencyType = new LatencyCollectionAttributeType(rrdBaseName, ds); latencyResource.addAttribute(new LatencyCollectionAttribute(latencyResource, latencyType, ds, value.doubleValue())); } ServiceParameters params = new ServiceParameters(Collections.emptyMap()); CollectionSetVisitor persister = m_persisterFactory.createPersister(params, repository, false, true, true); SingleResourceCollectionSet collectionSet = new SingleResourceCollectionSet(latencyResource, new Date()); collectionSet.setStatus(CollectionStatus.SUCCEEDED); collectionSet.visit(persister); }
@Override public void handleMessageLog(TelemetryMessageLog messageLog) { for (TelemetryMessageLogEntry message : messageLog.getMessageList()) { handleMessage(message, messageLog).forEach(result -> { // Locate the matching package definition final PackageDefinition pkg = getPackageFor(adapterConfig, result.getAgent()); if (pkg == null) { LOG.warn("No matching package found for message: {}. Dropping.", message); return; } // Build the repository from the package definition final RrdRepository repository = new RrdRepository(); repository.setStep(pkg.getRrd().getStep()); repository.setHeartBeat(repository.getStep() * 2); repository.setRraList(pkg.getRrd().getRras()); repository.setRrdBaseDir(new File(pkg.getRrd().getBaseDir())); // Persist! final CollectionSet collectionSet = result.getCollectionSet(); LOG.trace("Persisting collection set: {} for message: {}", collectionSet, message); final Persister persister = persisterFactory.createPersister(EMPTY_SERVICE_PARAMETERS, repository); collectionSet.visit(persister); }); } }
@Override public void handleMessageLog(TelemetryMessageLog messageLog) { for (TelemetryMessage message : messageLog.getMessageList()) { handleMessage(message, messageLog).forEach(result -> { // Locate the matching package definition final Package pkg = getPackageFor(protocol, result.getAgent()); if (pkg == null) { LOG.warn("No matching package found for message: {}. Dropping.", message); return; } // Build the repository from the package definition final RrdRepository repository = new RrdRepository(); repository.setStep(pkg.getRrd().getStep()); repository.setHeartBeat(repository.getStep() * 2); repository.setRraList(pkg.getRrd().getRras()); repository.setRrdBaseDir(new File(pkg.getRrd().getBaseDir())); // Persist! final CollectionSet collectionSet = result.getCollectionSet(); LOG.trace("Persisting collection set: {} for message: {}", collectionSet, message); final Persister persister = persisterFactory.createPersister(EMPTY_SERVICE_PARAMETERS, repository); collectionSet.visit(persister); }); } }
/** * given a collection name, fetch its RRD info from the config file via * the XmpDatacollectionConfig class and return an new repository * * * @param collectionName a {@link java.lang.String} object. * @return a {@link org.opennms.netmgt.rrd.RrdRepository} object. */ public RrdRepository getRrdRepository(String collectionName) { RrdRepository repo = new RrdRepository(); //log().debug("XmpCollectionFactory: getting rrd for "+collectionName); XmpCollection collection = getXmpCollection(collectionName); // rrdPath not specific to a collection but specified for all of // data collection if (rrdPath == null) getRrdPath(); repo.setRrdBaseDir(new File(rrdPath)); if (collection != null) { repo.setRraList(collection.getRrd().getRraCollection()); repo.setStep(collection.getRrd().getStep()); repo.setHeartBeat(2 * repo.getStep()); } else { repo.setRraList(null); repo.setStep(-1); repo.setStep(-2); } return repo; }
repository.setHeartBeat(repository.getStep() * HEARTBEAT_STEP_MULTIPLIER); repository.setRraList(m_pollerConfig.getRRAList(pkg)); repository.setRrdBaseDir(new File(rrdRepository));
repository.setHeartBeat(repository.getStep() * HEARTBEAT_STEP_MULTIPLIER); repository.setRraList(m_pollerConfig.getRRAList(pkg)); repository.setRrdBaseDir(new File(rrdRepository));