Integrating with BMC Stackify


BMC Stackify is an application performance monitoring tool that helps you retrace what your code is doing and to quickly find bugs and performance problems.

The BMC Helix Intelligent Integrations BMC Stackify connector collects metrics data from BMC Stackify.


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

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.


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

ConnectorSteps.png


Supported versions

BMC Helix Intelligent Integrationssupports the following versions of BMC Stackify Agent for data collection:

  • Windows Agent 4.35.31
  • Linux Agent 2.33.9


Task 1: To plan for the connection

Review the following prerequisites to help you plan and configure a connection with BMC Stackify.

BMC Stackify prerequisite

 Before you start configuring a connection with BMC Stackify to collect metrics, prepare the metrics JSLT mapping.

Sample metrics JSLT mapping
Sample code
[     
   {          
       "labels" : {              
               "metricName" : .name,               
               "hostname" : .extras.hostname,              
               "entityId" : join(["Stackify", ":", .extras.hostname, ":",.extras.entityTypeId, ":", .extras.entityName], ""),              
               "entityTypeId" : . extras.entityTypeId,               
               "device_id" : .extras.hostname,             
               "instanceName" : .extras.entityName,               
               "entityName" : .extras.entityName,              
               "hostType" : "Server",              
               "isKpi" : true,              
               "unit" : .unit,              
               "source" : "Stackify",              
               "external_id" : .ciExternalId          
       },          
       "samples" : [             
           {
               "value" : number(.value),                  
               "timestamp" : number(.originTimestamp)              
           }          
        ]      
   }  
]

BMC Helix Intelligent Integrations prerequisites

  • Depending on the location of the third-party product (SaaS, on-premises), choose one or more BMC Helix Intelligent Integrations deployment modes and review the corresponding port requirements. For information about various deployment modes and port requirements, see Deployment-scenarios.
  • Based on the deployment mode, use the BMC Helix Intelligent Integrations SaaS deployment or the BMC Helix Intelligent Integrations on-premises gateway or both. For more information about the gateway, see Deploying-the-BMC-Helix-Intelligent-Integrations-on-premises-gateway.
  • Make sure that the on-premises gateway is able to reach the third-party product on the required port (default is 443).

In the preceding list, third-party product refers to BMC Stackify.


Task 2: To configure the connection with BMC Stackify

  1. Depending on the deployment mode, perform one of the following steps to access BMC Helix Intelligent Integrations:
    • BMC Helix Intelligent Integrations SaaS – Log on to BMC Helix Portal, and click Launch on BMC Helix Intelligent Integrations.
    • BMC Helix Intelligent Integrationson-premises gateway – Use the following URL to access BMC Helix Intelligent Integrations:
      https://<hostName>:<portNumber>/swpui
  2. On the CONNECTORS tab, clickadd_icon.pngin the SOURCES panel.
  3. Click the Stackify Metrics tile.
  4. Specify the following details for the source connection:
    1. Specify a unique instance name.

      Important

      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 as Stackify_Host_PROD and  Stackify_Host_TEST.

    2. Specify the BMC Stackify metrics host (default value is api.stackify.com).
    3. Specify the port number (default value is 443). 
    4. Select the HTTPS option to use an https connection to the BMC Stackifyhost.
    5. Specify the number of maximum concurrent REST API requests that should be executed during a collection schedule (default value is 20).
    6. Specify the X-Stackify-Key.
      X-Stackify-Key is the Activation Key which is automatically generated when you create a BMC Stackify account. You can find your Activation Key from your Account Info page. For more information, see the BMC Stackify Documentation.

    7. 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).
  5. Click VALIDATE AND CREATE.
    The specified connection details are validated and the corresponding source connection is created in the Source Connection list.
  6. Verify that the source connection you created is selected.

    Important

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

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

    The [confluence_table-plus] macro is a standalone macro and it cannot be used inline. Click on this message for details.

  9. Click CREATE COLLECTORS to create the required collector streams for the selected data type.
  10. 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 a batch and processing.

    Default: 3 seconds 

    Base Retry Delay

    Specify the initial time (in seconds) for which to wait before retrying to build a batch and processing.

    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 retrying 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, the recovery time should be less than the value of the Max Retry Duration parameter.

    JSLT mapping

    BMC Helix Intelligent Integrations receives information in JSON format from BMC Stackifyand applies JSLT mapping to transform the incoming information into BMC Helix Operations Management understandable metrics data, in JSON format.

    Replace the existing JSLT with the JSLT that you have prepared according to sample shown in the BMC Stackify prerequisites


  11. Click CREATE DISTRIBUTORS to create the required distributor streams for the selected data type.
  12. Click one of the following buttons:

    • SAVE STREAM: Click this button if you want to edit the integration details before creating the instance. After you save the stream, the connector 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 integration details and start receiving data immediately.

    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 metric data stream for the integration you created is running. Data streaming is indicated by the moving, colored arrow.

Stackify_connector_new.png

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.


To view metrics in BMC Helix Operations Management

Important

If the event or metric data is ingested by using BMC Helix Intelligent Integrations, and the topology data is ingested through some other means, all the use cases in BMC Helix AIOps might not work as expected because the external IDs generated by BMC Helix Intelligent Integrations and BMC Helix Discovery differ. In addition, host name might differ in both the products. 

  1. In BMC Helix Operations Management, select Monitoring > Devices.
  2. Click the links for the required device.
  3. On the Monitors tab, click the required monitor.
    The Performance Overview tab shows the metrics graph.
    Stackify_metrics_new.png
    For information about metrics, see Viewing collected data.

 

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