Skip to content
Fabrice Bacchella edited this page Feb 11, 2020 · 1 revision

The JRDS properties

Properties should be stored in a java properties file. When launched as a standalone application, using aa jetty server, it should be specified using the propertiesFile system property. When launching inside a servlet container like Tomcat, an init parameter for the web app called propertiesFile can be used, or a system property called jrds.propertiesFile. You should check the documentation to see where to define it.

Every properties can specified as a system property (for example on the command line with -D). When doing this, it must be prefixed with jrds. . For example you can easily debug a jetty setup using -Djrds.loglevel=debug on the command line.

JRDS can look for default settings inside a /WEB-INF/jrds.properties file.

Bold properties are required.

The path and directory properties

  • configdir: the directory parsed to find xml configuration files.
  • autocreate: enable the auto-creation of configdir and rrddir.
  • tmpdir: the temporary directory. If not defined, the properties javax.servlet.context.tempdir and java.io.tmpdir are searched.
  • rrddir: where the probes files (rrd) are to be stored.
  • strictparsing: is the parsing of config file is strict, with DTD checking.

The log setting properties

  • nologging: disable totally the logs
  • logfile: where the logs are to be written.
  • loglevel: the default log level, taken from {trace, debug , info, warn, error, fatal}.
  • log.{trace, debug , info, warn, error, fatal}: specify the log level for a comma separated list of class.
  • log4jxmlfile: the path to a log4J XML file that will override the jrds log configuration.
  • log4jpropfile: the path to a log4J properties file that will override the jrds log configuration.

The security properties

  • security : set to yes to activate roles based access to JRDS' URL.
  • userfile : if jetty is used, the path to Jetty's user file.
  • adminrole : the admin role, any user having this role will have full access to JRDS.
  • defaultroles : a comma separated list of roles affected to object without roles defined.

Poller configuration

  • step: the interval (in seconds) betwen each collect. One it's choosen, it cannot be changed.
  • timeout: the timeout value (in seconds) for network activities.
  • collectorThreads: how many different hosts are collected in parallel. It should be at least twice the numer of CPU on the jrds host.
  • slowcollecttime: the time after which a probe is logged as being slow, default to timeout + 1, so it should log only hanged probes.
  • timers: a comma separated list of additional timers, with different timeout, step and collectorThreads
  • timer.<timer1>.step: the step value for timer timer1.
  • timer.<timer1>.timeout: the timeout value for timer timer1.
  • timer.<timer1>.collectorThreads: the number of collector threads for timer timer1.
  • timer.<timer1>.slowcollecttime: the same as slowcollecttime but for this timer only.

For each timer, the default values for step, timeout and collectorThreads are taken from the default timer.

The effective collect time is step - 2 × timeout. So if step is set to a short value, timeout should be decreased too.

Once timers are declared, they are selected during each probe instantiation, see for an example

Other parameters

  • libspath: a list of jar containing probes.
  • classpath: a list of jar or directory containing jars or that we'll be added to the classpath.
  • dbPoolSize: how many rrd can be openned by the org.rrd4j.core.RrdDbPool
  • syncPeriod : the sync period for the org.rrd4j.core.RrdDbPool
  • rrdbackend: the kind of rrdbackend to use, see org.rrd4j.core.RrdBackend
  • readonly: start jrds in read-only mode, no collect will be done.
  • archivesset: the default archives set to use.
  • jetty.port: the port used by jetty in standalone mode.
  • jetty.host: bind the listening socket to this host.

Log configuration

Logging configuration is explained with more details at

JMX configuration

If a property called jmx is present, jrds will configure a remote jmx server. Two properties should then be defined:

  • jmx.port: for the listen port.
  • jmx.protocol: for the jmx procotol to use, for now only rmi or jmxmp are allowed; for more informations about jmxmp, see .

Every other properties starting with jmx. will be stripped from this prefix and given to the JMXConnectorServerFactory environnement.

SSL configuration

  • ssl.protocol: The SSLContext protocol to use.
  • ssl.strict: Does the server checking is strict, default value is false.
  • ssl.truststore: The path to the truststore file.
  • ssl.trustpassword: The password of the trust file, default to "".
  • ssl.trusttype: The trust file format.
  • ssl.securerandom: The name of the secure random to use.