Monitor Parameter Placeholder Substitutions


Allow use of placeholders in parameter values of monitors.
Similar to XML collectors, allow the use of placeholders in parameter values for service monitors so that the value of a node’s asset property can be used for parameter values. Example:

        <service name="OpenNMS-129" interval="300000" user-defined="false" status="on">
          <parameter key="retry" value="1"/>
          <parameter key="timeout" value="3000"/>
          <parameter key="port" value="8080"/>
          <parameter key="url" value="/opennms/event/list"/>
          <parameter key="basic-authentication" value="{username}:{password}"/>
          <parameter key="response" value="200"/>

Assuming that node x with interface which has service OpenNMS-129 and has asset values ‘admin’ for username and ‘admin’ for password, the effective value for the basic-authentication parameter for this interface would be ‘admin:admin’. However, if node y with interface has service OpenNMS-129 and has asset property username: ‘admin’, and password: ‘@dm1n’, the effective value would be ‘admin:@dm1n’.

Besides asset properties, allow the use of the following additional placeholders:

  • ipAddr|ipAddress
  • nodeId
  • nodeLabel
  • foreignId
  • foreignSource


OpenNMS Components

Service Assurance aka Poller

Getting Started

  • See new tests in


  • Implemented and passes tests for HttpMonitor
  • TODO: add support to additional monitors:
    • DNSResolutionMonitor: lookup, nameserver
    • FtpMonitor: password, userid
    • HttpPostMonitor: auth-password, auth-username, banner, uri
    • JCifsMonitor: domain, username, password
    • JDBCMonitor: url, user, password
    • JDBCStoredProcedureMonitor: url, user, password,
    • JolokiaBeanMonitor: auth-username, auth-password, banner, input1, input2, methodname, url
    • Ldap(s)Monitor: dn, password
    • RadiusAuthMonitor: user, password, secret, nasid, inner-user
    • WsManMonitor: rule