Integrating with SolarWinds NPM


SolarWinds NPMis a software that enables you to detect, diagnose, and resolve network performance issues. 

Configure a connection with SolarWinds NPM, to view the alert, metric, and topology data from SolarWinds NPMand derive actionable insights.

You can view the collected data in various BMC Helix applications and derive the following benefits:

BMC Helix application

Type of data collected or viewed

Benefits

BMC Helix Operations Management

Alerts ( SolarWinds NPM alerts are 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.

BMC Helix Operations Management

Metrics

Use alarm and variate policies to detect anomalies and eliminate false positives for more accurate results while monitoring the health of your system.

For more information, see Detecting anomalies by using static and dynamic thresholds.

BMC Helix Discovery

Topology

Collect all CIs fromSolarWinds NPM in BMC Helix Discovery. 

Collect services fromSolarWinds NPM in BMC Helix Discovery in a format that can be consumed by BMC Helix AIOps  

For more information, see Managing your IT infrastructure.

BMC Helix AIOps

Situations (created from events)

Improve the mean time to resolve (MTTR) based on the situation-driven workflow.

Lower the mean time to detect or discover (MTTD) and the time required for investigating tickets.

For more information, see Monitoring situations.

BMC Helix Dashboards

Metrics

Create dashboards to get a consolidated view of data collected from third-party products across your environment. 

Improve the efficiency of your system by monitoring the key performance metrics and respond to issues quickly to minimize the down time.

For more information, see Creating custom dashboards.

BMC Helix AIOps

Services (created from topology)

Monitor the overall health of a service.  When the service gets impacted by any factor, view the events generated because of the impact, analyze the causes of the impact, and quickly remediate those events to restore the health of the impacted service.

For more information, see Monitoring services.

 

As a tenant administrator, perform the following steps to configure a connection with SolarWinds NPM, verify the connection, and view the collected data in various BMC Helix applications.

ConnectorSteps.png


    • The [confluence_layout-cell] macro is a standalone macro and it cannot be used inline. Click on this message for details.
  1. On the CONNECTORS  tab, click add_icon.pngin the SOURCES panel.
  2. Click 

    SolarWinds NPM

    .

  3. Specify the source connection details:
    1. Specify a unique instance name.

      Best practice
      We recommend that you specify the instance name in the following format:

      <sourceType>_<sourceControllerServerName>_<InstanceQualifier>

      The instance qualifier helps you to distinguish the multiple instances configured from the same source server. For example, you can name your instances SolarwindsNPM_Host_PROD and SolarwindsNPM_Host_TEST.

      Best practice
      We recommend that you specify the instance name in the following format:

      <sourceType>_<sourceControllerServerName>_<InstanceQualifier>

      The instance qualifier helps you to distinguish the multiple instances configured from the same source server. For example, you can name your instances SolarwindsNPM_Host_PROD and SolarwindsNPM_Host_TEST.

       

    2. Specify the SolarWinds NPM host name.
    3. Specify the SolarWinds NPM HTTP or HTTPS port number depending on the connection protocol (default value is 17778).
    4. Select the HTTPS  option to use an https connection to the SolarWinds NPM host.

      Warning

      We recommend that you do not select the Allow Unsigned Certificate option in a production environment. You might want to select this option to allow unsigned certificates in a test environment. See the SolarWinds NPM documentation to learn how to install SSL certificates.

       

    5. Specify the number of maximum concurrent REST API requests that should be executed during a collection schedule (d efault value is 5).
    6. Specify the user name and password. Ensure that the specified user can access SolarWinds NPM REST API.
    7. Specify the time, in seconds, after which no attempt should be made to establish the connection (d efault value is 30 seconds).
    8. Click Proxy and specify whether you want to configure a proxy server.
      If yes, specify the host name and port number (default value is 8888).
  4. Click VALIDATE AND CREATE.
    The specified connection details are validated and the corresponding source connection is created in the Source Connection list.
  5. Verify that the source connection you created is selected.

    Important

    The destination host connection is created and configured automatically when the source connection is created.

  6. Verify that the options for the datatypes for which you want to collect data are selected.
  7. Click a data type and specify the configuration parameters in the Collectors section as described in the following table:

     

  8. Click CREATE COLLECTORS to create the required collector streams for the selected data types.
  9. 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 building and processing a batch.Default: 3 seconds 
    Base Retry Delay
    Specify the initial time (in seconds) for which to wait before retrying to build 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 secondsExample:Base Retry Delay is set to 2 seconds.Retry is performed after 2, 4, 8, 16, ... seconds.
    Max Intra-Retry Delay
    Specify the maximum limit for the base retry delay. Default: 60 secondsExample: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,... seconds later.
    Max Retry Duration
    Specify the total time for retrying a delivery. For REST destinations, a delivery is a batch of data items in one POST request. Default: 5 minutesExample: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... 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 Managementwhen 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. 
  10. Click CREATE DISTRIBUTORS to create the required distributor streams for the selected data type.
  11. Click VALIDATE AND CREATE and then click SAVE STREAM to save the stream.
    After you save the stream, the connection that you just created is listed on the SOURCES panel.
  12. (Optional) Perform the following steps if you want to collect and view the SolarWinds NPM metrics data in a hierarchical manner. Otherwise, skip to step 14.
    If you perform these steps, each interface associated with a device is displayed as an individual monitor in BMC Helix Operations Management. Otherwise, each interface is displayed as an individual server.
    1. On the SOURCES panel, click Configure Mediator ConfigureMediator_icon.pngfor the source connection that you created and then expand SOLARWINDS METRICS and navigate to the DISTRIBUTOR CONFIGURATION tab.
    2. To view JSON in the edit mode, click Edit JSON.
    3. Search for the following line:

       "jsltField": "//NO JSLT",
    4. Delete the existing value from the jsltField field; the result should look as follows:

      "jsltField": "",
    5. To disable the edit mode for JSON, click Edit JSON.
    6. In the JSLT field, enter the following JSLT:

      def funEntityName(mg,en)
      if (starts-with($mg, "Orion.NPM.Interface"))
            replace($en,"[/=+?:;]","-")
      else
      if ($mg == "Orion.CPULoad")
               "CPU_Memory"
            else
               "Response_Time"

      def funEntityType(mg,en)
      if (starts-with($mg, "Orion.NPM.Interface"))
            "Node_Interface"
      else
      if ($mg == "Orion.CPULoad")
               "Node_CPULoad"
            else
               "Node_ResponseTime"

      def funHostType(ciType)
      if ($ciType == "Orion.VIM.Hosts")
            "VmWare.Host"
      else
        if ($ciType == "Orion.VIM.VCenters")
            "VmWare.Virtual_Center"
        else
            "Server"        

      [
          {
              let hostName = replace(.extras.host, "^.* on ", "")
              let metricName = .name
              let entityName = funEntityName(.measurementGroup[0],.extras.Name)
              let entityTypeId = funEntityType(.measurementGroup[0],.extras.Name)
              "labels" : {
                  "metricName" : $metricName,
                  "hostname" : $hostName,
                  "entityId" : join(["SolarWinds", ":", $hostName, ":", $entityTypeId, ":", $entityName], ""),
                  "entityTypeId" : $entityTypeId,
                  "deviceIPAddress" : .extras.IPAddress,
                  "instanceName" : $entityName,
                  "entityName" : $entityName,
                  "hostType" : funHostType(.extras.CIType),
                  "isKpi" : true,
                  "unit" : .unit,
                  "source" : "SolarWinds",
                  "external_id" : .extras.ciExternalId
              },
              "samples" : [
                  {
                      "value" : number(.value),
                      "timestamp" : number(.originTimestamp)
                  }
              ]
          }
      ]

       

    7. Click SAVE & CLOSE.
  13. On the SOURCES panel, move the slider to the right to start the data stream for the connector you created.
    ImportantFor a data stream, the Run Latency (max/avg), Items (Avg per Run), and Last Run Status columns on the Streams page might show the status as No Runs during the data collection process. After completion of the process, these columns are updated with an appropriate status.

    For more information about 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 streams for the integration you created are running. Data streaming is indicated by moving colored arrows.

SolarWind_Connector_New.png

  • Moving dark blue arrows (EventsStream_Icon.png) indicates that the alert stream is running. Event data is pushed according to the configured Collection Schedule interval.
  • A moving red arrow (MetricsStream_Icon.png) indicates that the metric stream is running. Metric data is pushed according to the configured Collection Schedule interval.
  • A moving light blue arrow (TopologyStream_Icon.png) indicates that the topology stream is running. Topology data is pushed according to the configured Collection Schedule interval.

To view data in BMC Helix applications

View data collected from SolarWinds in multiple BMC Helix applications.

To view events in BMC Helix Operations Management

  1. In BMC Helix Operations Management, select Monitoring > Events.
  2. Filter the events by the SolarWindsAlert class.
    SolarWinds_Alerts.png

Incoming events from SolarWinds NPM 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, see Event-deduplication-suppression-and-closure-for-reducing-event-noise.

For information about events, see Monitoring and managing events.

To view metrics in BMC Helix Operations Management

  1. In BMC Helix Operations Management, select Monitoring > Devices.
  2. Click the links for the required device.
  3. On the Monitors tab, expand the hierarchy to see the metrics for the required monitor.
  1. Click the metric name.
    The 
    Performance Overview tab shows the metrics graph.
    SolarWinds_Metrics.png
    For information about metrics, see Monitoring and managing events.

To view the topology data in BMC Helix Discovery

In BMC Helix Discovery, select Explore > Data, and click <count> Import Records in the Miscellaneous section. The Import Record List page shows the CI records received from SolarWinds NPM.

For information about records, see Managing your IT infrastructure.

To view services and situations in BMC Helix AIOps

Before you view services and situations in BMC Helix AIOps, create a Business Service model in BMC Helix Discovery. For information about creating models, see Managing models.

In BMC Helix AIOps, on the Overview page, view the services and situations for the event and topology data received from SolarWinds NPM.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*