Integrating with Zabbix


Zabbixis an open-source monitoring solution that monitors various parameters of a network and the health and integrity of servers, virtual machines, applications, services, databases, websites, the cloud, and so on.

Configure an integration with Zabbix, to view the event, metric, and topology data from Zabbixand 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

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 fromZabbixin BMC Helix Discovery. 

Collect services from Zabbixin 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 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 Microsoft SCOM, verify the connection, and view the collected data in various BMC Helix applications.

ConnectorSteps.png

Supported versions

This connector supports the following versions of Zabbix for data collection:

  • 7.0 
  • 6.4 
  • 6.2 
  • 6.0 
  • 5.4 
  • 5.0 
  • 4.0 

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 80).

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

Task 2: To configure the connection with Zabbix

  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 Integrations on-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 

    Zabbix

     tile.

  4. 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 among the multiple instances configured from the same source server; for example, Zabbix_Host_PROD and Zabbix_Host_TEST.

    2. Specify the Zabbix host name. 
    3. Specify the Zabbix HTTP or HTTPS port number depending on the connection protocol (default value is 80).
    4. Select the HTTPS option to use an HTTPS connection to the Zabbix  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 Zabbix  documentation to learn how to install SSL certificates.

    5. Specify the number of maximum concurrent REST API requests that should be executed during a data collection schedule (default value is 5).
    6. Do one of following depending on the Zabbix deployment you are using (containerized or non-containerized) and whether you have customized the Zabbix URL:
      • If you are using containerized deployment of Zabbix and you have not customized the URL, select the Customized Zabbix URL option and leave the Custom Path Segment text box blank.
      • If you have customized the frontend URL that you use to access Zabbix (containerized or non-containerized), select the Customized Zabbix URL option and specify the custom path segment in the Custom Path Segment text box.
        For example, if the frontend URL is h ttp://pun-aus-us/share/my_zabbix/api_jsonrpc.php, enter share/my_zabbix .
    7. Specify the user name and password. Ensure that the specified user can access the Zabbix  REST API.
  5. Click VALIDATE AND CREATE.
    The specified connection details are validated and the 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.

    Important

    In addition to the parameters described in the following table, you can use some more parameters to tailor the amount of data you want to collect from Zabbix. For more information, see Handling metrics data from Zabbix by using additional collection parameters.

    Parameter name

    Description

    Data Type

    Zabbix Events

    Zabbix Metrics

    Zabbix Topology

    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 Collection Window

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

    Default: 5 minutes (alerts, 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 .

    ✅️

    ✅️

    ✅️

    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.

    ✅️

    ✅️

    ✅️

    Severities

    Select one or more event severities from the list.

    ✅️

    ❌️

    ❌️

    Query size

    Specify the number of queries to be sent to Zabbix so that it is not overloaded (default value is 25)

    ❌️


    ✅️

    ❌️

    Host Groups

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

    This list of host groups is updated automatically from Zabbix .

    Important: After you upgrade to version 23.4.01 of BMC Helix Intelligent Integrations, this parameter is not available for existing Zabbix connectors. To use this parameter, either updatean existing connector or delete the existing connector and create a new connector.

    ❌️

    ✅️

    ✅️

    Applications (Applicable only for Zabbix versions earlier than 5.4)

    Select  All  or a subset of applications from the list.

    This list of applications is updated automatically from Zabbix .

    ❌️

    ✅️

    ✅️

    Metric Tags (Applicable only for Zabbix 5.4 and later versions)

    Metric Tags (Applicable only for Zabbix 5.4 and later versions)

    Specify the tags to filter the metric data.
    To specify multiple tags, use a comma-separated list.

    Examples:

    • To collect metrics filtered by Storage as the component, specify the following tag:
      component=storage 

    • To collect metrics filtered by System as the source and DNS Client as their name, specify the following tags:
      source=system,name=DNS Client

    For more information about the tags, see the Overview section of the 3 Latest data topic in the Zabbix documentation

    ❌️

    ✅️

    ❌️

    Tags (Applicable only for Zabbix 5.4 and later versions)

    Specify the tags to filter the topology data.

    To specify multiple tags, use a comma-separated list.

    Example:

    • To collect topology data filtered by Production as the environment, specify the following tag:
      env=prod 

    For more information about the tags, see the Overview section of the 3 Latest data topic in the Zabbix documentation

    ❌️

    ❌️

    ✅️

     

  9. Click CREATE COLLECTORS to create the required collector streams for the selected data types
  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 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. 

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

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

    ​​​​

  11. Click CREATE DISTRIBUTORS to create the required distributor streams for the selected data types.
  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 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 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.

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

Zabbix_AllStreams.png

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

Updating an existing Zabbix connector for the metric data type

  1. On the SOURCES panel, select the existing Zabbix connector, and then click the dot icon in the center of the metric stream, and select Delete .
  1. Clickadd_icon.pngon the SOURCES panel.
  2. From the Source Connection list, select the existing Zabbix source.
  3. In the Data Types section, clear the Zabbix Events and Zabbix Topology check boxes if selected.
  4. In the Collectors section, expand Zabbix Metrics.
  5. Configure the parameters as required.
  6. Click CREATE COLLECTORS to create the required collector metric stream.
  7. In the Distributors section, expand Zabbix Metrics.
  8. Configure the parameters as required.
  9. Click CREATE DISTRIBUTORS to create the required distributor stream for the metric data type.
  10. 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 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 integration details and start receiving data immediately.

To view data in BMC Helix applications

View data collected from Zabbix 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 ZabbixEvent class.
    Zabbix.png

     

Important

If an event does not include the source's host name from which the event has been received, the  Host  column on the Events page shows the name of the computer where Zabbix   is installed.

Incoming events from Zabbix 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, click the required monitor.
    The Performance Overview tab shows the metrics graph.
    Zabbix_Metrics.png
    For information about metrics, see Viewing collected data.

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 Zabbix. 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 Zabbix.

 

Handling metrics data from Zabbix by using additional collection parameters

Use the following parameters to tailor the amount of data you want to collect from Zabbix:

Parameter 

Default value

Description

storeMetadata

false

Fetches hosts and its related data and stores it in metadata if the value is set to true.

For example: “storeMetadata”:true

Setting this parameter to true is not recommended for large data.

querySize

25

Fetches data in batches. Each batch contains the number of data items that you set for this parameter.

For example, if there are 5 hosts and each host has 100 data items, the total number of data items to be fetched would be 500. If you set queysize to 50 , the data is fetched in 10 batches, each batch containing 50 data items.

Depending upon the Zabbix server configuration, you can increase or decrease the value of the parameter.

monitoredItems

true

Fetches only the actively monitored items of hosts from Zabbix if the value is set to true.

For example, “monitoredItems”:true

includeItemsWithoutGraph

true

Fetches only the items that have live graphs in Zabbix if the value is set to false.

For example, “includeItemsWithoutGraph”:false

hostsLimit

50

Fetches data for hosts in batches. Each batch contains the number of hosts that you set for this parameter. 

Data is fetched for one batch of host and then for another batch until processing for all the hosts is completed.

For example, if there are 5 host groups and each host group in Zabbix has 100 hosts. the total number of hosts would be 500.

If you set hostsLimit to 50, the hosts will be processed in 10 batches, each containing 50 hosts.

Depending upon the Zabbix server configuration, you can increase or decrease the value of the parameter.

monitoredHosts

true

Fetches data only for the actively monitored hosts if the value is set to true.

For example, “monitoredHosts”:true

To modify the value of the metrics parameters, perform the following steps:

  1. Click  icon_gear.pngConfigure Mediator adjacent to Zabbix .
  2. Scroll down and expand the Zabbix Metrics section.
  3. Enable the Edit JSON option under the Collector Configuration tab.
    You can see the JSON format of collector configuration parameters.
  4. Search and edit the parameters you want to modify. 
  5. Click SAVE.
  6. Disable the Edit JSON option and ensure that the Zabbix parameters are not getting displayed. 
  7. Click SAVE & CLOSE.

 

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