Collection Packages

To define more complex collection configuration it is possible to group Service_ configurations that provide performance metrics into Collection Packages. This allows you to assign different Service Configurations to Nodes to differentiate performance metric collection and connection settings. To assign a Collection Package to nodes, use the Rules/Filters syntax.

You can configure multiple packages, and an interface can exist in more than one package. This gives great flexibility in determining the service levels for a given device. The order how Collection Packages are defined is important when IP Interfaces match multiple Collection Packages with the same Service configuration. The last Collection Package on the service will be applied. This can be used to define a less-specific, catch-all filter for a default configuration. You can use a more specific Collection Package to overwrite the default setting.

Collection Package Attributes
<package name="package1">(1)
  <filter>IPADDR != '0.0.0.0'</filter>(2)
  <include-range begin="1.1.1.1" end="254.254.254.254"/>(3)
  <include-range begin="::1" end="ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"/>(4)
1 Unique name of the collection package.
2 Apply this package to all IP interfaces with a configured IPv4 address (not equal 0.0.0.0)
3 Evaluate IPv4 rule to collect for all IPv4 interfaces in the given range
4 Evaluate IPv6 rule to collect for all IPv6 interfaces in the given range

Service Configurations

Service Configurations define what collector to use and which performance metrics to collect. Service Configurations contain common Service Attributes as well as Collector-specific parameters.

Service Configuration Attributes
<service name="SNMP"(1)
         interval="300000"(2)
         user-defined="false"(3)
         status="on">(4)
  <parameter key="collection" value="default"/>(5)
  <parameter key="thresholding-enabled" value="true"/>(6)
</service>

<collector service="SNMP" class-name="org.opennms.netmgt.collectd.SnmpCollector"/>(7)
1 Service configuration name that is mapped to a specific collector implementation.
2 The interval at which to collect the service. (in milliseconds).
3 Marker to say if service is user defined, used specifically for UI purposes.
4 Service is collected only if on.
5 Assign performance data collection metric groups named default.
6 Enable threshold evaluation for metrics provided by this service.
7 Run the SnmpCollector implementation for the service named SNMP
02 collectd configuration xml
Figure 1. Configuration overview for data collection with Collectd

Metadata DSL

The Metadata DSL(domain specific language) allows you to use dynamic configuration in parameter values to interpolate metadata into the parameter.

The syntax allows for the use of patterns in an expression, whereby the metadata is replaced with a corresponding value during the collection process.

During evaluation of an expression, the following scopes are available:

  • Node metadata

  • Interface metadata

  • Service metadata