Would you like to learn how to monitor a Docker server and its containers using Zabbix? In this tutorial, we are going to show you how to use Zabbix to monitor a Docker server.

• Ubuntu 18.04
• Ubuntu 19.04
• Ubuntu 20.04
• Zabbix 5.0.0
• Docker 19.03

In our example, the Zabbix server IP address is 192.168.15.10.

In our example, the Docker server IP address is 192.168.15.11.

Keep in mind that you need to use the new Zabbix agent to monitor a Docker server.

Zabbix Playlist:

On this page, we offer quick access to a list of videos related to Zabbix installation.

Don't forget to subscribe to our youtube channel named FKIT.

Install the Zabbix Agent on the Docker Server

• IP - 192.168.15.11
• Operational System - Ubuntu 20.04
• Hostname - DOCKER

Install the required packages on the computer running the Docker service.

Copy to Clipboard

Download and install the GOLANG package.

Copy to Clipboard

The GOLANG software was installed on the following directory: /usr/local

In order to work properly, the GO software expects the system to have a set of environment variables.

Let's create a file to automate the required environment variables configuration.

Copy to Clipboard

Here is the file content.

Copy to Clipboard

Reboot your computer.

Copy to Clipboard

Verify if the required environment variables were created automatically.

Copy to Clipboard

Here is the correct output:

Copy to Clipboard

Download the Zabbix installation package.

Copy to Clipboard

Extract the Zabbix installation package, compile and install the Zabbix agent.

Copy to Clipboard

Find the location of the zabbix_agent2.conf file on your system.

Edit the zabbix_agent2.conf file.

Copy to Clipboard

Here is the original file, before our configuration.

Copy to Clipboard

Here is the new file with our configuration.

Copy to Clipboard

The agent was configured to allow the connection from a Zabbix server using the IP address 192.168.15.10.

The Localhost was allowed to request and receive information from the local agent.

Keep in mind that you need to use the new Zabbix agent to monitor a Docker server.

Start the new Zabbix Agent.

Copy to Clipboard

You have finished the Zabbix agent installation.

You can now use the Zabbix server dashboard to monitor the Docker service and containers installed on this computer.

Zabbix - Monitor the Docker service

Access the Zabbix server dashboard and add the Linux computer running the Docker service as a Host.

Open your browser and enter the IP address of your web server plus /zabbix.

In our example, the following URL was entered in the Browser:

• http://192.168.15.10/zabbix

On the login screen, use the default username and default password.

• Default Username: Admin
• Default Password: zabbix

zabbix login

After a successful login, you will be sent to the Zabbix Dashboard.

Zabbix 5 Dashboard

On the dashboard screen, access the Configuration menu and select the Host option.

Zabbix 5 hosts menu

On the top right of the screen, click on the Create host button.

Zabbix Create Host

Enter the following information:

• Host Name - Enter a Hostname to identify the Docker server.
• Visible Hostname - Repeat the hostname.
• Group - Select the name of a group to identify similar devices.
• Interfaces - Enter the IP address of the Linux server.

Here is the new image with our configuration.

Zabbix monitor Docker

Next, we need to associate the host to a monitoring template.

Access the Templates tab on the top of the screen.

Click on the Select button and locate the template named: Template App Docker

Zabbix monitor docker container

Click on the Add button.

After a few minutes, you will be able to see the initial result on the Zabbix Dashboard.

In order to test your configuration, access the Monitoring menu, and click on the Hosts option.

Zabbix 5 monitoring hosts menu

Find your server and click on the Screens option.

Zabbix 5 screens

Zabbix will display the graphics available to monitor the Docker service and its containers.

Monitor Docker

Congratulations! You have configured the Zabbix server to monitor a Docker server.