Specify an OpenNMS instance and connectivity profile

An instance indicates how the Minion Appliance connects to OpenNMS by specifying connectivity information (permissions and message broker details) and configuration information (traps, syslog, telemtryd).

You must create a connectivity profile when you create an instance. The connectivity profile specifies how the Minion communicates with OpenNMS. Make sure you have the following before you complete this procedure:

  • OpenNMS set up for Minion communication.

  • The failover URL for your broker (ActiveMQ) in the format failover:tcp://[hostname of OpenNMS server]:[port number] (for SSL connectivity, use failover:ssl://[hostname of OpenNMS server]:[port number]).

  • Bootstrap servers (Kafka) (for example, kafka:9092).

  • (optional) A certificate for secure communication with OpenNMS and the message broker.

To specify an instance and create a connectivity profile, follow these steps:

  1. Choose Instances in the left menu and click Add New.

  2. Add a name and profile label on each screen and click the arrow.

  3. In the HTTP Configuration screen, add the URL for your OpenNMS instance, the user name and password for the OpenNMS ROLE_MINION security role that communicates with your message broker, and click Next.

    The URL must include /opennms as a suffix. You can also associate a certificate with the profile, if desired. See assigning user permissions in the main OpenNMS user docs for information on the ROLE_MINION security role.

    You can also associate a custom certificate with the instance and select an appliance to verify its connection. To do so, choose the appliance and click Test.

  4. In the Broker Type screen, specify your broker (Kafka or ActiveMQ).

    1. For ActiveMQ, add a failover URL in the URL box, and the user name and password for the OpenNMS ROLE_MINION security role.

    2. For Kafka, specify the bootstrap servers, separated by a comma. You may also click Add Advanced Settings to configure additional information like group ID, session timeout, or retries.

      You do not need to list every server in the Kafka cluster, but you may want at least two listed for redundancy. See Kafka documentation and Communicate with multiple OpenNMS instances for more information.

  5. Click Next.

After you create an instance, you can edit, add, and remove connectivity profiles and feature profiles.

Configuration changes to an instance (including changing its name or modifying its connectivity and feature profiles) respawns all Minions associated with that instance. This process triggers a brief service interruption.

Feature profiles

A feature profile specifies Minion configuration information including Java agent support for out-of-band management, IPC parameters (RPC, Twin, and sink (Kafka)), SNMP trap, syslog, and network flows.

When you specify an instance, the Appliance Service creates a default feature profile that you can edit later.

Edit a feature profile

Configuration changes to a feature profile respawns all Minions associated with that feature profile. This process triggers a brief service interruption.
  1. Navigate to Instances in the left menu and click the pencil icon beside the instance whose feature profile you want to edit.

  2. Expand the Feature Profiles section and click the pencil icon beside the profile that you want to edit.

  3. In the left menu, expand the menu item for the feature you want to configure, make the changes, and click Update.

    1. In many cases, this information is key and value pairs associated with the selected item.

    2. You can configure multiple features without exiting the screen by clicking among the features, setting parameters, and then clicking Update.

      feature-prof

For information on the features and available parameters associated with each feature, see Configuring Minion via confd in the main OpenNMS user docs.

Add a feature profile

An instance can have multiple feature profiles associated with it. This lets you specify the type of information the Minion receives, based on monitoring location. For example, you may have a location without NetFlow-capable devices, or locations from which you do not want to receive traps or syslogs.

  1. Navigate to Instances in the left menu and click the pencil icon beside the instance to which you want to add a feature profile.

  2. Click the Add (+) button beside the Feature Profiles section.

  3. Specify a name in the Feature Profile Name box.

  4. In the left menu, expand the menu item for the information you want to configure, add the information, and click Submit.

Sample feature profile configuration

This section provides examples for the most common features you might configure:

  • Telemetry single-port listener

  • Telemetry multi-port listener

  • SNMP trap daemon

  • Syslog daemon

  • Multiple OpenNMS instances with a single Kafka cluster

  • General properties

Telemetry single port listener configuration

If you are monitoring multiple flow protocols (for example, NetFlow5/9, IPFIX, sFlow), you normally need to set up a flow listener for each one, on its own UDP port. The single-port listener feature lets you specify one port for all protocols. Based on the packet, the listener determines which protocol is being used and directs it to the right parser.

  1. In the feature profile, choose Telemetry → Flows → Single Port Listener.

  2. Click Enable Single Port Listener.

  3. Expand the parameters section, and add a port and port number key/value pair.

    1. Port number should be above 1023, as those below 1023 are privileged ports (restricted to root user).

See protocol reference in the main OpenNMS documentation for a list of protocol class names and parameters.

See listener reference in the main OpenNMS documentation for listener class names and parameters.

The following example configures port number, maximum packet size, enables DNSLookup, and sets the maxium clock skew event rate.

single port listener

Telemetry multi-port listener configuration

The following example configures telemetry for IPFIX and NetFlow5. See the documentation links in Telemetry single port listener configuration above for information on protocol and listener parameters.

multi-port listener

SNMP trap daemon

Configure the Minion Appliance to listen on a specific port for SNMP traps. See the Configuring Minion via confd link above for more information.

SNMP trap daemon

Syslog daemon

Configure the Minion Appliance to listen on a specific port for syslog messages. You can use 0.0.0.0 to get any IP address on the server. If you have multiple network cards, you can set a specific IP address. See the Configuring Minion via confd link above for more information.

Syslog daemon

Communicate with multiple OpenNMS instances

In some cases, you may choose to run several OpenNMS Horizon or Meridian instances for scalability or to have a test/staging environment where you can develop integrations or monitoring rules. Instead of running a second Kafka cluster for messaging, you can reuse the existing one with the other instance.

Use the OpenNMS system ID as a topic prefix to distinguish the message channels for these instances by setting the org.opennms.instance.id=<YourInstanceName> as a key-value pair in the feature profile:

multi-instance

General properties

Specify custom system properties you or OpenNMS may have created. See System Properties in the main OpenNMS documentation for more information.

src="https://polyfill.io/v3/polyfill.min.js?features=es6">