Integrating with Naemon


Naemon is a monitoring suite that provides a clear view of the state of your network and applications. The BMC Helix Intelligent Integrations Naemon connector collects metrics data fromNaemon.

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.

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.

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

ConnectorSteps.png

Supported versions

BMC Helix Intelligent Integrations supports the following versions for data collection:

  • Thruk version 3.14.2
  • Naemon core version 1.4.2
  • REST API version 1

Task 1: To plan for the connection

  • 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.
  • The on-premises gateway must be able to reach the third-party product on the required port (default is 443).

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

Task 2: To configure the connection with Naemon

  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 Naemon tile.
  4. Specify the following details for the source connection:
    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 distinguish multiple instances configured from the same source server. For example, you can name your instances Naemon_Host_PROD, Naemon_Host_TEST, and so on.


    2. Specify the Naemonhost name.
    3. Specify the Naemon port number depending on the connection protocol (default value is 443).
    4. Select the Allow Unsigned Certificates option to allow HTTPS to use the self-signed certificate; select this option only for the test environment.
    5. Select the HTTPS option to use an https connection to the Naemonhost.
    6. Specify the number of maximum concurrent REST API requests that should be executed during a collection schedule (default value is 20).
    7. Specify the Thruk API key.
      You can create API key either from the User Profile page or by using REST API.
      For more information, see the Thruk documentataion.

    8. (Optional) Select Use Additional Authentication if you have client ID and client secret key available for authentication.
    9. Enter the client ID and client secret key.
    10. 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 when the source connection is created.

  7. Configure the collector for the selected data type by clicking the data type in the Collectors section and specifying the parameters for the selected data type, as explained in the following table:

    Parameter name

     Description

    Collection Schedule

    Select one of the following options to specify the data collection frequency:

    • Duration: When you select this option, data collection happens constantly. Specify the schedule in minutes, hours, or day. 
      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.  
    • Cron schedule: When you select this option, data collection happens periodically. Specify the schedule by using a cron expression.
      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.

    Data Latency

    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.

    Host Groups

    Select all or a subset of host groups from the list.

    Hosts

    Select the host from the list.

    A list of hosts is available based on the host group selected.


  8. Click CREATE COLLECTORS to create the required collector streams for selected data types.
  9. Configure the distributors for the selected data type by clicking the data type in the Distributors section and specifying the parameters for the selected data type, as explained 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, ... 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.

    JSLT mapping

    Add the following code:

    [     
    {          
    let hostName = .extras.host_name          
    let entityName = .name          
    let entityTypeId = .measurementGroup[0]         
    "labels" : {              
    "metricName" : $entityName,               
    "hostname" : $hostName,              
    "entityId" : join(["Naemon", ":", $hostName, ":","NAEMON_"+ $entityTypeId, ":", $entityName], ""),              
    "entityTypeId" : "NAEMON_"+$entityTypeId,               
    "device_id" : .hostname,             
    "instanceName" : $entityTypeId,               
    "entityName" : $entityTypeId,              
    "hostType" : "Server",              
    "isKpi" : true,              
    "unit" : .unit,              
    "source" : "Naemon",              
    "external_id" : join(["NAEMON_", $hostName], "")          
    },          
    "samples" : [             
    {
    "value" : number(.value),                  
    "timestamp" : number(.originTimestamp)              
    }          
    ]      
    }  
    ]

  10. Click CREATE DISTRIBUTORS to create the required distributor streams for the selected data types.
  11. Click one of the following buttons:
    • SAVE STREAM: Click this button 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 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 the status as No Runs during the data collection process. After completion of the process, these columns are updated with an appropriate status.  
  


Task 3: To verify the connection

In BMC Helix Intelligent Integrations, on the SOURCES panel, confirm that the metrics data stream for the connection that you created is running.

Naemon_Connector.png

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

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, click the required monitor.
    The Performance Overview tab shows the metrics graph. 
    Naemon_metrics.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*