Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Dynatrace ActiveGate extension for integrating Zabbix monitoring system into Dynatrace environment.

Integration architecture

Figure 1 Architecture

Features

  • Synchronization

    • Zabbix hosts from monitored groups to Dynatrace custom devices. A custom device is not created if a Dynatrace host with the same IP address already exists.

    • Hosts information to Dynatrace custom devices, including Zabbix inventory and IP/Hostname information

    • Host TCP port discovery based on Zabbix items (net.tcp.service, net.tcp.port, net.tcp.listen)

    • Optional host IP interface discovery based on Zabbix Agent UserParameter (interfaces)

    • Tag synchronization from Zabbix to Dynatrace

    • Problem data from Zabbix problems to Dynatrace events, including acknowledging information

  • Filtering

    • Filtering on host groups

  • Context information

    • Dynatrace Environment URL to link Hosts/Custom Devices and problems in Dynatrace with Zabbix hosts and problems

  • Problem metric

    • metric showing problem count for each device (optional)

  • Zabbix technology

    • Groups all custom devices from Zabbix servers created by Zabbix ActiveGate extension

    • A special group with the name Zabbix Servers created. For each endpoint representing the Zabbix server is one custom device created there. Problems with endpoint are reported on custom devices in this group, for example, connection problems.

Extension deployment

The extension is distributed as file

custom.remote.python.zabbix-VERSION.zip

Deployment process

  1. Import extension into Dynatrace server. Import file custom.remote.python.zabbix-VERSION.zip by pressing button in Dyntarce GUI: Settings->Monitoring->Monitoring technologies->Custom extensions->Upload extension

  2. Click on Zabbix ActiveGate Extension (version x.y) and press the button Add new endpoint

  3. Deploy extension zip file to ActiveGate server.

  • For Linux server unzip file into /opt/dynatrace/remotepluginmodule/plugin_deployment

  • For MS Windows server unzip the file into C:\Program Files\dynatrace\remotepluginmodule\plugin_deployment

Check the log file:

  • For Linux server: /var/lib/dynatrace/remotepluginmodule/log/remoteplugin/custom.remote.python.zabbix/ZabbixPluginRemote.log

  • For Windows server: c:\ProgramData\dynatrace\remotepluginmodule\log\remoteplugin\custom.remote.python.zabbix\ZabbixPluginRemote.log

Extension Configuration

Endpoint configuration provides these options:

  • Dynatrace custom device group - Name of created custom device group in Dynatrace, which will group all Zabbix hosts created as Custom Devices (mandatory to fill)

  • Zabbix API URL - URL of Zabbix server (mandatory to fill)

  • Zabbix Username - User name to connect to Zabbix API (mandatory to fill)

  • Zabbix Password - Password to connect to Zabbix API (mandatory to fill)

  • Zabbix timeout - Timeout in seconds for Zabbix API response

  • Verify Zabbix server certificate - Enables/disabled certificate validation for Zabbix connectivity

  • Zabbix CA certificates - Path to CA bundle with CA certificates to be used for verification (if using custom CA) in PEM format. Used only if verification is turned on. If not specified, built-in CA certificates are used.

  • Zabbix HostGroups to include - Semicolon delimited list of Zabbix host groups to include (other Zabbix hosts are ignored)

  • Zabbix refresh hosts - Interval in minutes for querying Zabbix API for hosts and inventory data. Hosts and inventory is queried on extension startup and periodically afterward

  • Synchronize Zabbix problems - Enables/disables Zabbix problem synchronization

  • Problems not older than - Synchronize problems from Zabbix not older than (days), 0 = No limit

  • Synchronize tags - Flag to synchronize Zabbix tags to Dynatrace

  • Zabbix tag prefix - Prefix for Zabbix tags in Dynatrace

  • Interfaces key - Zabbix item key in inventory with all interfaces for host

  • Zabbix metadata keys - Semicolon separated names of Zabbix items keys to used in Custom device metadata

  • Dynatrace Environment URL - URL for Dynatrace environment used for Entity v2 API calls (mandatory to fill)

  • Dynatrace API Token - Dynatrace API token with the following scope access (mandatory to fill)

    • API v1: Access problem and event feed, metrics, and topology

    • API v2: Read entities

    • API v2: Write entities

  • Verify Dynatrace server certificate - Enables/disabled certificate validation for Dynatrace connectivity

  • Dynatrace CA certificates - Path to CA bundle with CA certificates to be used for verification (if using custom CA) in PEM format. Used only if verification

  • Zabbix severity Disaster - Zabbix severity to Dynatrace severity mapping

  • Zabbix severity High - Zabbix severity to Dynatrace severity mapping

  • Zabbix severity Average - Zabbix severity to Dynatrace severity mapping

  • Zabbix severity Warning - Zabbix severity to Dynatrace severity mapping

  • Zabbix severity tag key - Tag key in Zabbix problem which overrides default severity mapping. Allowed values for the tag are: Availability, Error, Slowdown, Resource

  • Dynatrace problem resend time - Interval in minutes for resending events to Dynatrace to keep the problem open in Dynatrace

  • Dynatrace refresh host entities - Interval in minutes for querying Dynatrace API for host entities and their IPs is turned on. If not specified, built-in CA certificates are used.

  • Problem metric - Set to true to push data to problem metric (count of problems for each created custom device)

  • Candidate to Custom device - Create Custom devices in Dynatrace for Monitoring candidates.

  • Use Events API - If enabled, Zabbix problems are sent using Events API instead of the ActiveGate extension

  • Debug - Set to on to enable DEBUG logging on each extension query run

  • License – Valid license required (mandatory to fill)

Current limitations

  • Events about problems in Zabbix with the duration of less than 1 minute may not be synchronized to Dynatrace

  • As events cannot be closed in Dynatrace, problems in Dynatrace will close automatically after 15 minutes if the status in Zabbix does not persist

  • TAGs are only added to Dynatrace, not removed

  • Ports are only added to Dynatrace, not removed (limitation on Dynatrace processing)

  • Zabbix acknowledges are part of Dynatrace event information, not Dynatrace problem

Zabbix user and permissions

Zabbix user used by this extension must have READ access to all host groups. The user doesn't require Frontend access or Admin permissions if this user is used only by this integration. First, we need to create a User group with correct permissions and then create a user who will be a member of created group.

Create user group

  1. In Administration->User groups click on Create user group

  2. In User groups view define the Group name, for example, ZabbixAPI

  3. Frontend access change to Disabled

  4. Click on Permissions to switch to the Permissions tab

  5. Click on the Select button and then click on the Name checkbox which selects all Host groups, then click on the Select button

  6. Click on the Read button

  7. Click on Add link above Add button. Permissions will be changed to the Read

  8. Click on the Add button

Create user

The user type is Zabbix User.

  1. In Administration->Users click on Create user

  2. In Users view define the Alias

  3. Set password

  4. Select group created in the previous step, in our case ZabbixAPI

  5. Click on Add button

Zabbix configuration to discover IP addresses for hosts

The goal is an automatic IP address discovery for all host interfaces (exclude loopback) and to populate inventory data. Zabbix inventory field Host networks is populated by Zabbix item IP addresses of network interfaces with item key interfaces

The inventory field and item are defined in the attached template. The Zabbix item key interfaces is used by the ActiveGate extension to retrieve the interface list for hosts. If you change the item key in template and agent configuration, the new item key must be updated in the ActiveGate extension's endpoint configuration in the field Interfaces key

Installation

  1. Import Zabbix template  zbx_export_templates_IP_inventory.xml

  2. Update Zabbix agent configuration file

  • LINUX / UNIX - Add the following line to config and restart the agent

    • UserParameter=interfaces,hostname -I

  • Windows Server - Add following line to config and restart the agent

    • UserParameter=interfaces,C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nologo -command "Get-WmiObject Win32_NetworkAdapterConfiguration | Where { $_.IPAddress } | Select -Expand IPAddress | Where { $_ -match '^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$' }"

  1. Restart Zabbix agent

  2. Assign template Template Inventory IP addresses to required hosts (Inventory must be changed to automatic for all hosts)

Presentation in GUI

Figure 2 Smartscape

Figure 3 Problem view

 

Figure 4 Device details

Figure 5 Technology overview


Appendix

zbx_export_templates_IP_inventory.xml

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.0</version>
    <date>2020-11-11T20:00:20Z</date>
    <groups>
        <group>
            <name>Templates</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>Template Inventory IP addresses</template>
            <name>Template Inventory IP addresses</name>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network Interfaces</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>IP addresses of network interfaces</name>
                    <key>interfaces</key>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>HOST_NETWORKS</inventory_link>
                    <applications>
                        <application>
                            <name>Network Interfaces</name>
                        </application>
                    </applications>
                </item>
            </items>
        </template>
    </templates>
</zabbix_export>
  • No labels