Integrating with SNMP-managed devices
You can view the collected data in BMC Helix Operations Management and derive the following benefits:
BMC Helix application | Type of data collected or viewed | Benefits |
---|---|---|
BMC Helix Operations Management
| Events (SNMP traps received as events) | Use a centralized event view to monitor and manage events, perform event operations, and filter events. Identify actionable events from a large volume of event data by processing events. For more information, see Monitoring events and reducing event noise. |
As a tenant administrator, perform the following steps to collect data from SNMP-managed devices through BMC Helix Intelligent Integrations:
Supported versions
BMC Helix Intelligent Integrations supports the following SNMP versions for data collection:
- SNMPv1
- SNMPv2
- SNMPv3
Task 1: To plan for the connection
Review the following prerequisites to help you plan and configure a connection to collect SNMP traps.
SNMP prerequisites
- Make sure that the firewall connectivity for the UDP traffic is established between the on-premises gateway and the devices that are sending SNMP traps.
- If you want to collect SNMPv3 traps, obtain the following information from the Network administrator for configuring the connection instance in BMC Helix Intelligent Integrations:
- Engine IDs of devices sending the SNMPv3 traps.
- SNMPv3 user account credentials. This includes user name, authentication, and privacy credentials. Depending on the SNMPv3 security level, the Network administrator provides the authentication and privacy protocol credentials.
Security Level
Authentication Protocol
Authentication Password
Privacy Protocol
Privacy Password
noAuthNoPriv
Not required
Not required
Not required
Not required
authNoPriv
Required
Required
Not required
Not required
authPriv
Required
Required
Required
Required
For example, if a device sends SNMPv3 traps with the authPriv security level, Network administrator provides the authentication and privacy protocol credentials. Similarly, if a device sends SNMPv3 traps with the authNoPriv security level, Network administrator provides the authentication protocol credentials.
SNMP-managed devices send SNMPv3 traps by using one of the following authentication and privacy protocols:Authentication protocol
Privacy protocol
- AuthHMAC128SHA224
- AuthHMAC192SHA256
- AuthHMAC256SHA384
- AuthHMAC384SHA512
- AuthMD5
- AuthSHA (default)
- Priv3DES
- PrivAES128
- PrivAES192
- PrivAES256
- PrivDES (default)
- Plan for the port numbers on which you want to receive SNMP traps on the on-premises gateway host.
By default, the on-premises gateway is configured to receive traps on the port numbers in the range of 1061 to 1070. To use a different port number or define a new range of port numbers, configure the on-premises gateway host.
- On the SNMP device from which you want to receive traps, configure the destination IP address and the planned port number.
Before you start configuring a connection with SNMP, prepare the events JSLT mapping.
BMC Helix Intelligent Integrationsreceives the SNMP traps from the devices and applies JSLT mapping to transform them into BMC Helix Operations Management understandable events (in JSON format).
- Refer to this JSLT to map the incoming SNMP traps to the default SNMP_TRAP event class.
- Refer to this JSLT to map the incoming SNMP traps to vendor specific custom classes.
On-premises gateway prerequisites
- (Optional) Perform the following steps to configure multiple Engine IDs in a connection instance by using a configuration file:
- Obtain all the Engine IDs with the SNMP user credentials from the Network administrator.
- Store all the details in a configuration file, for example, snmptrapd.conf, in the following format:
createUser -e <engineID> <userName> <authenticationProtocol> <authenticationPassword> <privacyProtocol> <privacyPassword>
This table describes the parameters used in the snmptrapd.conf file:Parameter Description engineID Unique identifier of the device that sends the SNMPv3 traps. userName Name of the user associated with the Engine ID that sends the SNMPv3 traps. authenticationProtocol Authentication type to make sure that traps are from legitimate source. For more information, see SNMP prerequisites. authenticationPassword Authentication password to make sure that traps are from legitimate source. privacyProtocol Encryption type to protect sensitive data from interception and unauthorized viewing during transit. For more information, see SNMP prerequisites. privacyPassword Encryption password to protect sensitive data from interception and unauthorized viewing during transit. For example:
createUser -e 0x80000549010f0f1008 userA SHA 1234567890abcdef DES 1234567890abcdef
createUser -e 0x80000549010f0f1007 userB SHA 1234567000abcdef DES 1234567000abcdef Navigate to the /<IIGateway_INSTALL_DIR>/hii/conf directory and save the configuration file you created in step 1(b).
- Obtain all the Engine IDs with the SNMP user credentials from the Network administrator.
- Perform the following steps to store the Management Information Base (MIB) files on the on-premises gateway:
MIB is a hierarchical database that contains configuration and other vital management information of SNMP devices in the form of data objects. An SNMP management system uses these database files to interpret the messages sent by the managed devices.- Obtain the MIB files of the SNMP-managed devices from where you want to receive traps.
- Copy the MIB files to the /<IIGateway_INSTALL_DIR>/hii/mibs directory.
Task 2: To configure the connection with SNMP-managed devices
- Use the following URL to access the on-premises gateway: https://<hostName>:<portNumber>/swpui
- On the CONNECTORS tab, click
in the SOURCES panel.
- Click the SNMP Receiver tile.
- Specify the source connection details:
Specify a unique instance name.
- (Optional) Select the Logging for SNMP4j option to enable logging.
- Specify the port number that you have configured on the SNMP-managed device, as described in SNMP prerequisites.
(Optional) To collect SNMPv3 traps in addition to the SNMPv1 and SNMPv2 traps, select the Accept SNMP V3 Traps option. You can either provide details to collect SNMPv3 traps from one device with one user, or use the Use Configuration File option to collect SNMPv3 traps from multiple devices and multiple users associated with them.
- To collect SNMPv3 traps from one device with one user:
- Specify the SNMPv3 user name.
- Depending on the security protocol used for SNMPv3, select the Authentication and Privacy options and enter the credentials provided by the Network administrator. For more information, see SNMP prerequisites.
- Specify the Engine ID.
- To collect SNMPv3 traps from multiple devices with multiple users:
- Select the Use Configuration File option.
- Provide the configuration file name where the Engine IDs with the user credentials are stored. For more information, see On-premises gateway prerequisites.
For more information, see On-premises gateway prerequisites.
- To collect SNMPv3 traps from one device with one user:
- Click VALIDATE AND CREATE.
The source connection is created in the Source Connection list. Verify that the source connection you created is selected.
- Verify that the options for the data types for which you want to collect data are selected.
- Click CREATE COLLECTORS to create the required collector streams for the selected data types.
Click a data type and specify the configuration parameters in the Distributors section as described in the following table:
Parameter name
Description
Max Batching Size
Specify the maximum number of data items to send in a single POST request to the destination API.
The batch size depends on the destination’s ability to buffer the incoming data.
Default: 250
Max Batching Delay
Specify the maximum time (in seconds) to wait before the system builds and processes a batch.
Default: 3 seconds
Base Retry Delay
Specify the initial time (in seconds) for which to wait before the system tries to rebuild and process a batch.
The waiting time increases in the following sequence: n1, n2, n3, and so on, where n indicates the number of seconds.
Default: 2 seconds
Example:
Base Retry Delay is set to 2 seconds.
Retry is performed after 2, 4, 8, 16, and so on, seconds.
Max Intra-Retry Delay
Specify the maximum limit for the base retry delay.
Default: 60 seconds
Example:
Max Intra-Retry Delay is set to 60 seconds.
Base Retry Delay is set to 2 seconds.Retries are performed 2, 4, 8, 16, 32, and so on, seconds later.
Max Retry Duration
Specify the total time for which the system retries a delivery. For REST destinations, a delivery is a batch of data items in one POST request.
Default: 5 minutes
Example:
Max Retry Duration is set to 8 hours.
Base Retry Delay is set to 2 seconds.Requests are sent for 2+4+8+16+32+64+132, and so on until 8 hours in total duration is reached. After that, no subsequent attempts are made to retry the delivery.
The assumption here is that if there is an outage or other issue with the destination tool, recovery should take less than the value of the Max Retry Duration parameter to be completed.
Attributes To Be Dropped When Updating Events
Specify the event attributes that you do not want to be updated in BMC Helix Operations Management when events are updated.
For example, if you do not want an event's severity, source address, source category, and subcategory to be updated in BMC Helix Operations Management, you need to specify those attributes in a comma-separated format: severity,source_address,source_category,source_subcategory
Important:
You can obtain the event attribute names in BMC Helix Operations Management, by exporting any event data in JSON, BAROC, XML, or CSV format. The exported file contains all attributes of the event data, and from there you can identify the attributes to be dropped.
JSLT
JSLT
Replace the existing JSLT with the default or custom JSLT that you have prepared according to the sample shown in SNMP prerequisites.
Event Class JSON
(Optional) If you are using any event class other than the already existing classes in BMC Helix Operations Management, specify the JSON for the event class.
Important:
If you are using a user-defined class name in the custom JSLT, make sure that the user-defined class is the child of the SNMP_ENTERPRISE class to avoid any unmapped data.
For example,
{
"name": "SNMP_XYZ",
"parentClassName": "SNMP_ENTERPRISE",
"attributes": [
{
"name": "sample_attribute",
"dataType": "STRING"
}
]
}
For more information, see SNMP prerequisites.Event Policy JSON
(Optional) By default, events are processed in BMC Helix Operations Management according to an out-of-the-box policy. If you want to apply a different policy, specify the JSON for the same.
For information about creating event policies, see Defining event policies for enrichment correlation notification and suppression and for exporting policies in JSON format, see Migrating event policies between tenants..
- Click CREATE DISTRIBUTORS to create the required distributor streams for the selected data types.
- Click one of the following buttons:
- SAVE STREAM: Click this button if you want to edit the connection details before the data collection starts. After you save the stream, the connection instance that you just created is listed in the SOURCES panel. Move the slider to the right to start the data stream.
- SAVE AND START STREAM: Click this button if you want to save the connection details and start collecting data immediately.
For more information about the data streams, see Starting-or-stopping-data-streams.
Task 3: To verify the connection
In BMC Helix Intelligent Integrations, on the SOURCES panel, confirm that the data stream for the connection you created is running. Data streaming is indicated by moving arrow.
A moving dark blue arrow ( ) indicates that the event stream is running. Event data is pushed as soon as the SNMP traps are available.
To view events in BMC Helix Operations Management
- In BMC Helix Operations Management, select Monitoring > Events.
- Filter the events by the SNMP_TRAP class (represented by SNMP Trap on the Events page).
Incoming events from SNMP are processed in BMC Helix Operations Management through a set of deduplication rules to determine whether the incoming event is a duplicate event or a new event. For more information about the rules, see Event-deduplication-suppression-and-closure-for-reducing-event-noise.
For information about events, see Monitoring and managing events.
If you face any issues when viewing events, see To troubleshoot SNMP data collection issues.
To troubleshoot SNMP data collection issues
You might encounter the following issues when collecting traps from SNMP-managed devices.
SNMP traps are not collected by the on-premises gateway
Issue symptoms
BMC Helix Operations Managementdoes not show any SNMP events.
Resolution
Important: Make sure that before you modify any connector configuration, stop the stream, make the changes,
and then start the stream again.
- Make sure that the SNMP event stream is running.
- Make sure that the docker-compose.yaml or podman-compose.yaml file contains the correct port numbers.
Verify that the port you have used when configuring the connection instance is listening by running the following command on the on-premises gateway host:
netstat -lntu | grep <portNumber>If the port is listening, go to step 4. If the port is not listening, verify that that the port is open.
- Verify that the SNMP trap destination address and port are configured properly, as described in the SNMP prerequisites section.
- Verify that the JSLT provided in the SNMP configuration is correct by performing the following steps:
- Stop the data stream.
- Click Configure Mediator
adjacent to SNMP.
- Expand the SNMP RECEIVER section.
- Select the Logging for SNMP4j option.
- Click VALIDATE.
- Click SAVE & CLOSE.
Start the stream and wait for few minutes until you receive the following log entry in the swp-mediator container logs:
SNMP-Receiver-Collector:snmpreceiver:XXXX has become ActiveThis log entry indicates that the SNMP event stream is running.
- Identify the issue from the log entries in the swp-mediator container logs:
- If you do not see the following log entry, it indicates that BMC Helix Intelligent Integrations is not receiving SNMP trapsDefaultUDPTransportMapping_0:0:0:0:0:0:0:0/1062 DEBUG Received message from ...Make sure that in the source device, the SNMP trap destination address and port are configured correctly.
Alternatively, you can identify the issue by using the tcpdump command:tcpdump -A -i {INTERFACE_NAME} 'port 1062' If you see the following log entry, provide the correct JSLT in the distributor configuration. Use the sample JSLT to create the JSLT.
"level":"ERROR","thread":"zio-fiber-xxxxxxxxx","message":"failed to convert StringEvent Unable to extract events, individually or as an array from the incoming JSON - check JSLT. errors seen :this error indicates improper JSLT -
- If you do not see the following log entry, it indicates that BMC Helix Intelligent Integrations is not receiving SNMP trapsDefaultUDPTransportMapping_0:0:0:0:0:0:0:0/1062 DEBUG Received message from ...Make sure that in the source device, the SNMP trap destination address and port are configured correctly.
If the issue persists, contact BMC Support with the swp-mediator logs.
SNMPv1 and SNMPv2 traps are collected, but SNMPv3 traps are not collected
Issue symptoms
BMC Helix Operations Managementdoes not show any SNMPv3 events. However, SNMPv1 and SNMPv2 events are present.
Resolution
Verify that one of the following authentication and privacy protocols is used when configuring the SNMP connection instance:
Authentication protocols
Privacy protocols
- AuthHMAC128SHA224
- AuthHMAC192SHA256
- AuthHMAC256SHA384
- AuthHMAC384SHA512
- AuthMD5
- AuthSHA
- PrivDES
- Priv3DES
- PrivAES128
- PrivAES192
- PrivAES256
- Verify that the Engine ID used to configure the SNMP connection instance is correct:
- Stop the stream.
- Click Configure Mediator
adjacent to SNMP.
- Expand the SNMP RECEIVER section.
- Select the Logging for SNMP4j option.
- Click VALIDATE.
- Click SAVE & CLOSE.
Start the stream and wait for few minutes until you receive the following log entry in the swp-mediator container logs:
SNMP-Receiver-Collector:snmpreceiver:XXXX has become ActiveThis log entry indicates that the SNMP event stream is running.
In the swp-mediator container logs, search for the following log entry:
DefaultUDPTransportMapping_0:0:0:0:0:0:0:0/1062 DEBUG getUser(engineID=XX:XX:XX:XX:XX:XX:XX:XX,securityName=user1,requiredLocalizationGrant=incoming..- Update the Engine ID with the Engine ID provided in the logs.