You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

In our previous guide, we covered the installation of Zabbix Server on Ubuntu 18.04. This is a continuation guide on Zabbix monitoring of your entire Infrastructure – Linux systems, Windows servers, network routers, network switches e.t.c. So let’s get started with how to Install and configure Zabbix agent 3.4 on CentOS 7.

For Ubuntu servers, check How to Install and configure Zabbix agent on Ubuntu 18.04/16.04

Zabbix agent is a program developed in C. It runs on various supported platforms, including Linux, UNIX, and Windows. The work of Zabbix agent is to collect data such as CPU, memory, disk and network interface usage from a device. It has a small resource footprint considering that monitoring configurations are centralized on Zabbix server.

Zabbix Agents
image from zabbix

How Zabbix agent works

Zabbix agent can do both passive (polling) and active checks (trapping). The checks can be performed at an interval or based on specific times schedule. Here is the difference between passive and active checks:

Passive checks (polling):

  • Zabbix server (or proxy) requests a value from Zabbix agent
  • Agent processes the request and returns the value to Zabbix server (or proxy)

Active checks (trapping):

  • Zabbix agent requests from Zabbix server (or proxy) a list of active checks
  • The agent sends the results in periodically

The image below from Zabbix may help visualize passive and active checks in action:

image from zabbix.com

How to Install Zabbix agent on CentOS 7

Below steps are used to install Zabbix agent on CentOS 7

Step 1: Add Zabbix repositories

Add Zabbix 3.4 repositories using the commands below:

$ sudo yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
Loaded plugins: fastestmirror
zabbix-release-3.4-2.el7.noarch.rpm | 13 kB 00:00:00 
Examining /var/tmp/yum-root-oWkdRD/zabbix-release-3.4-2.el7.noarch.rpm: zabbix-release-3.4-2.el7.noarch
Marking /var/tmp/yum-root-oWkdRD/zabbix-release-3.4-2.el7.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package zabbix-release.noarch 0:3.4-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
zabbix-release noarch 3.4-2.el7 /zabbix-release-3.4-2.el7.noarch 21 k

Transaction Summary
====================================================================================
Install 1 Package

Total size: 21 k
Installed size: 21 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : zabbix-release-3.4-2.el7.noarch 1/1 
Verifying : zabbix-release-3.4-2.el7.noarch 1/1

Installed:
zabbix-release.noarch 0:3.4-2.el7

Complete!

Once the repo has been added, install Zabbix agent by executing the following command on your terminal.

[pastacode lang=”bash” manual=”%24%20sudo%20yum%20install%20zabbix-agent%20zabbix-sender%0ALoaded%20plugins%3A%20fastestmirror%0ALoading%20mirror%20speeds%20from%20cached%20hostfile%0A%20*%20base%3A%20mirrors.clouvider.net%0A%20*%20extras%3A%20centos.serverspace.co.uk%0A%20*%20updates%3A%20repo.uk.bigstepcloud.com%0AResolving%20Dependencies%0A–%3E%20Running%20transaction%20check%0A—%3E%20Package%20zabbix-agent.x86_64%200%3A3.4.10-1.el7%20will%20be%20installed%0A—%3E%20Package%20zabbix-sender.x86_64%200%3A3.4.10-1.el7%20will%20be%20installed%0A–%3E%20Finished%20Dependency%20Resolution%0A%0ADependencies%20Resolved%0A%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%20Package%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Arch%20%20%20%20%20%20%20%20%20%20%20%20Version%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Repository%20%20%20%20%20%20%20Size%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0AInstalling%3A%0A%20zabbix-agent%20%20%20%20%20%20%20%20%20%20%20x86_64%20%20%20%20%20%20%20%20%20%203.4.10-1.el7%20%20%20%20%20%20%20%20%20%20zabbix%20%20%20%20%20%20%20%20%20%20365%20k%0A%20zabbix-sender%20%20%20%20%20%20%20%20%20%20x86_64%20%20%20%20%20%20%20%20%20%203.4.10-1.el7%20%20%20%20%20%20%20%20%20%20zabbix%20%20%20%20%20%20%20%20%20%20264%20k%0A%0ATransaction%20Summary%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0AInstall%20%202%20Packages%0A%0ATotal%20download%20size%3A%20629%20k%0AInstalled%20size%3A%202.4%20M%0AIs%20this%20ok%20%5By%2Fd%2FN%5D%3A%20y%0ADownloading%20packages%3A%0Awarning%3A%20%2Fvar%2Fcache%2Fyum%2Fx86_64%2F7%2Fzabbix%2Fpackages%2Fzabbix-agent-3.4.10-1.el7.x86_64.rpm%3A%20Header%20V4%20RSA%2FSHA512%20Signature%2C%20key%20ID%20a14fe591%3A%20NOKEY%0APublic%20key%20for%20zabbix-agent-3.4.10-1.el7.x86_64.rpm%20is%20not%20installed%0A(1%2F2)%3A%20zabbix-agent-3.4.10-1.el7.x86_64.rpm%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20365%20kB%20%2000%3A00%3A00%20%20%20%20%20%0A(2%2F2)%3A%20zabbix-sender-3.4.10-1.el7.x86_64.rpm%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%20264%20kB%20%2000%3A00%3A00%20%20%20%20%20%0A————————————————————————————%0ATotal%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20722%20kB%2Fs%20%7C%20629%20kB%20%2000%3A00%20%20%20%20%20%0ARetrieving%20key%20from%20file%3A%2F%2F%2Fetc%2Fpki%2Frpm-gpg%2FRPM-GPG-KEY-ZABBIX-A14FE591%0AImporting%20GPG%20key%200xA14FE591%3A%0A%20Userid%20%20%20%20%20%3A%20%22Zabbix%20LLC%20%3Cpackager%40zabbix.com%3E%22%0A%20Fingerprint%3A%20a184%208f53%2052d0%2022b9%20471d%2083d0%20082a%20b56b%20a14f%20e591%0A%20Package%20%20%20%20%3A%20zabbix-release-3.4-2.el7.noarch%20(installed)%0A%20From%20%20%20%20%20%20%20%3A%20%2Fetc%2Fpki%2Frpm-gpg%2FRPM-GPG-KEY-ZABBIX-A14FE591%0AIs%20this%20ok%20%5By%2FN%5D%3A%20y%0ARunning%20transaction%20check%0ARunning%20transaction%20test%0ATransaction%20test%20succeeded%0ARunning%20transaction%0A%20%20Installing%20%3A%20zabbix-agent-3.4.10-1.el7.x86_64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%2F2%20%0A%20%20Installing%20%3A%20zabbix-sender-3.4.10-1.el7.x86_64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%202%2F2%20%0A%20%20Verifying%20%20%3A%20zabbix-sender-3.4.10-1.el7.x86_64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%2F2%20%0A%20%20Verifying%20%20%3A%20zabbix-agent-3.4.10-1.el7.x86_64%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%202%2F2%20%0A%0AInstalled%3A%0A%20%20zabbix-agent.x86_64%200%3A3.4.10-1.el7%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zabbix-sender.x86_64%200%3A3.4.10-1.el7%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%0AComplete!%0A” message=”” highlight=”” provider=”manual”/]

Step 2: Configuring Zabbix Agent

Zabbix agent configuration is /etc/zabbix/zabbix_agentd.conf. Edit

# cat /etc/zabbix/zabbix_agentd.conf
# On line 97 - Specify Zabbix server IP Address
Server=192.168.10.2
# On line 138 - Specify Zabbix server ( For active checks)
ServerActive=192.168.10.2
# On line 150 - Set server hostname reported by Zabbix agent
Hostname=node-01.computingforgeeks.com

Start zabbix-agent after making the change, also enable the service to start on boot:

$ sudo systemctl start zabbix-agent
$ sudo systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.

You can check service status using the command:

$ sudo systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2018-06-15 14:55:00 UTC; 20s ago
Main PID: 28026 (zabbix_agentd)
CGroup: /system.slice/zabbix-agent.service
├─28026 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─28027 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─28028 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─28029 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─28030 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─28031 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Jun 15 14:55:00 node-01.computingforgeeks.com systemd[1]: Starting Zabbix Agent...
Jun 15 14:55:00 node-01.computingforgeeks.com systemd[1]: Started Zabbix Agent.

If you have firewalld enabled, allow port 10050/tcp on the firewall. This is used by Zabbix agent daemon.

$ sudo firewall-cmd --permanent --add-port=10050/tcp
success
$ sudo firewall-cmd --reload
success

You can check service port if listening using ss or netstat commands:

[pastacode lang=”bash” manual=”%23%20ss%20-tunelp%20%7C%20grep%2010050%0Atcp%20%20%20%20LISTEN%20%20%20%20%200%20%20%20%20%20%20128%20%20%20%20%20%20%20*%3A10050%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*%3A*%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20users%3A((%22zabbix_agentd%22%2Cpid%3D28031%2Cfd%3D6)%2C(%22zabbix_agentd%22%2Cpid%3D28030%2Cfd%3D6)%2C(%22zabbix_agentd%22%2Cpid%3D28029%2Cfd%3D6)%2C(%22zabbix_agentd%22%2Cpid%3D28028%2Cfd%3D6)%2C(%22zabbix_agentd%22%2Cpid%3D28027%2Cfd%3D6)%2C(%22zabbix_agentd%22%2Cpid%3D28026%2Cfd%3D6))%20uid%3A385%20ino%3A15465825%20sk%3Affffa119c2e264c0%20%3C-%3E%0Atcp%20%20%20%20LISTEN%20%20%20%20%200%20%20%20%20%20%20128%20%20%20%20%20%20%3A%3A%3A10050%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%3A%3A*%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20users%3A((%22zabbix_agentd%22%2Cpid%3D28031%2Cfd%3D7)%2C(%22zabbix_agentd%22%2Cpid%3D28030%2Cfd%3D7)%2C(%22zabbix_agentd%22%2Cpid%3D28029%2Cfd%3D7)%2C(%22zabbix_agentd%22%2Cpid%3D28028%2Cfd%3D7)%2C(%22zabbix_agentd%22%2Cpid%3D28027%2Cfd%3D7)%2C(%22zabbix_agentd%22%2Cpid%3D28026%2Cfd%3D7))%20uid%3A385%20ino%3A15465826%20sk%3Affffa11973db8880%20v6only%3A1%20%3C-” message=”” highlight=”” provider=”manual”/]

Step 3: Add host to Zabbix Server

Login to admin Zabbix server interface, and go to Configuration > Hosts > Create host. Provide the following information:

  • Host name of the server to be monitored
  • Visible name for the server to be monitored.
  • Select the group or add a new group for “Groups” field.
  • IP address
  • Zabbix agent service port -default is 10050

Then go to Templates tab.

1. Click the select button under Link new templates section

Select the templates you want to use:

2. Once you have selected the templates, click on the Add link to link templates to your target systemAfter the templates are linked, they’ll appear on the  Linked templates section

Update the setting using Update button.

After few minutes, monitoring data will be collected and you can visualize them using Zabbix graphs. Default host graphs can be accessed on

Monitoring > Graphs > <Host|Graph>

Below are the Ram and CPU utilization graphs for the host we added earlier.

You can support us by downloading this article as PDF from the Link below. Download the guide as PDF