Integrating with Prometheus to collect metrics

Prometheus is an open-source system monitoring and alerting solution that collects and stores metrics as time-series data.

Configure an integration with Prometheus to view the metric data from Prometheus in BMC Helix Operations Management and derive actionable insights.


As a tenant administrator, perform the following steps to integrate with Prometheus, verify the integration, and view the collected data in various BMC products.

Planning for the connection

  • Depending on the location (SaaS, on-premises) of the third-party product, 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 modes, 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.

Configuring the connection with Prometheus

  1. 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, clickin the SOURCES panel .
  3. Click the Prometheus 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 Prometheus_Host_PROD, Prometheus_Host_TEST, and so on.


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

      Important

      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 Prometheus  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 the Prometheus REST API.
    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. Select the source connection that you created from the list if it is not selected already.

    Important

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

  7. Ensure 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:

    Parameter name and descriptionData Type
    Prometheus Metrics

    Specify the data collection frequency by using one of the following methods:

    • Constantly by specifying the schedule in minutes, hours, or day using the Duration option
      Default: 5 minutes

      Example:
      Collection Schedule
      is set to 5 mins.
      Current time is 00:30.

      If you run the collector just after 00:30, data is collected every 5 mins, first at 00:30 and next at 00:35, and so on.  

    • Periodically by specifying the schedule through a cron expression using the Cron schedule option 

      A cron expression is a string consisting of five subexpressions (fields) that describe individual details of the schedule.  These fields, separated by blank spaces, can contain any of the allowed values with various combinations of the allowed characters for that field.
      Default: */5 * * * * (evaluates to 5 minutes)

      Format:
      Minutes Hours (24-hour format) Day of Month Month Day of Week

      Example:
      If you specify 10 15 3 7 * , data is collected at 15:10 hours every third day in the month of July.

    For more information about how this parameter affects data collection,  see Data collection schedule.

    (tick)

    Data Collection Window

    Specify the historical time period (in minutes) from the current time for which the data should be collected. 

    Default: 5 minutes (events and metrics), 60 minutes (topology)

    Example:

    Collection Schedule is set to 5 mins.
    Data Collection Window is set to 5 mins.
    Current time is 00:30.

    If you run the collector just after 00:30, data is collected first at 00:30 for the interval, 00:25 - 00:30, and next at 00:35 for the interval, 00:30 - 00:35, and so on.

    For more information about this parameter, see Data collection window .

    (tick)

    Specify the time (in minutes) by which the data time window should be shifted back on the timeline.

    This parameter is useful in delayed data availability situations.

    Default: 0 minutes

    Example:

    Collection Schedule is set to 5 mins.
    Data Collection Window is set to 10 mins.
    Data Latency is set to 2 mins.
    Current time is 00:30.

    If you run the collector just after 00:30, data is collected first at 00:30 for the interval, 00:18 to 00:28 and next at 00:35 for the interval, 0:23 to 00:33, and so on.

    For more information about how this parameter affects data collection, see Data latency.

    (tick)

    Jobs

    Select all or a subset of jobs from the list.

    This list of jobs is updated automatically from Prometheus.

    (tick)

    Metric Namespaces

    Select all or a subset of metric namespaces from the list.

    This list of namespaces is updated automatically from Prometheus. 

    (tick)

    Label Name

    Select a label from the list.

    This list of labels is updated automatically from Prometheus. 

    (tick)

    Label Values

    Select all or a subset of label values from the list.

    (tick)

  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 nameDescription
    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, ... 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,... 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... 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. 



  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.

    Important

    For a data stream, the Run Latency (max/avg), Items (Avg per Run), and Last Run Status columns on the Streams page might show No Runs as the status during the data collection process. After the completion of the process, these columns are updated with an appropriate status.


    For more information about data streams, see Starting or stopping data streams.


Verifying the integration

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.

A moving red arrow () indicates that the metric stream is running. Metric data will be pushed according to the configured Collection Schedule interval.

Viewing 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.
    For information about metrics, see
    Viewing collected data Open link .
Was this page helpful? Yes No Submitting... Thank you

Comments