Install Zabbix Network Monitoring Server on CentOS 8 - CentLinux


Thursday, 12 December 2019

Install Zabbix Network Monitoring Server on CentOS 8

Install Zabbix 4.4 Server on CentOS 8


Zabbix is a free server based network monitoring software. In this article, you will learn how to install Zabbix network monitoring server on CentOS 8.


Table of Contents:


What is Zabbix? :

Zabbix is a free and open-source networking monitoring software. With Zabbix, we can monitor networks, servers, virtual machines and cloud services. Zabbix provides monitoring metrics, among others network utilization, CPU load and disk space consumption.

Zabbix network monitoring software backend is written in C language and web frontend is written in PHP. Zabbix can use MySQL, MariaDB, PostgreSQL, SQLite, Oracle, IBM DB2  to store data.

Zabbix software is developed and maintained by Zabbix LLC and distibuted under GPLv2 license.



Zabbix Server Features:

Some of the distinct features of Zabbix are:

  • Distributed monitoring with centralized web administration.
  • Auto-discovery of servers and network devices and interfaces
  • High performance, high capacity (able to monitor hundreds of thousands of devices).
  • SLA, and ITIL KPI metrics on reporting.
  • Native high performance agents (client software for Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows 2000, Windows Server 2003, Windows XP, Windows Vista, Windows Server 2008, Windows 7)


Zabbix Server Prerequisites:

Zabbix server requires following software packages.

  • Database Backend  - MySQL Server (5.0.3 - 8.0.x)
  • Web Server - Apache Web Server (1.3.12 or later) 
  • PHP Support (5.4 or later)

Hardware requirements may vary based on the number of devices that you want to monitor via Zabbix server. For complete information about Zabbix requirements, you can visit Zabbix documentation.


Environment Specification:

We have provisioned a CentOS 8 virtual machine for this tutorial.

  • CPU - 3.4 Ghz (2 cores)
  • Memory - 2 GB
  • Storage - 20 GB
  • Operating System - CentOS 8.0
  • Hostname -
  • IP Address - /24


Installing LAMP stack on CentOS 8:

Connect to as root user by using a ssh client.

Zabbix is PHP based network monitoring tool thus requires a PHP application server to run.

Therefore, we are installing Apache web server, MySQL database server and PHP support by using a single dnf command.

[root@zabbix-01 ~]# dnf install -y httpd mysql-server php php-mysqlnd php-mbstring php-pdo php-gd ... Installed: httpd-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64 mysql-server-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 php-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-gd-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-mbstring-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-mysqlnd-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-pdo-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 apr-util-bdb-1.6.1-6.el8.x86_64 apr-util-openssl-1.6.1-6.el8.x86_64 perl-IO-Socket-IP-0.39-5.el8.noarch perl-IO-Socket-SSL-2.060-2.el8.noarch perl-Mozilla-CA-20160104-7.el8.noarch php-fpm-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 apr-1.6.3-9.el8.x86_64 apr-util-1.6.1-6.el8.x86_64 centos-logos-httpd-80.5-2.el8.noarch gd-2.2.5-6.el8.x86_64 httpd-filesystem-2.4.37-12.module_el8.0.0+185+5908b0db.noarch httpd-tools-2.4.37-12.module_el8.0.0+185+5908b0db.x86_64 jbigkit-libs-2.1-14.el8.x86_64 libX11-1.6.7-1.el8.x86_64 libX11-common-1.6.7-1.el8.noarch libXau-1.0.8-13.el8.x86_64 libXpm-3.5.12-7.el8.x86_64 libjpeg-turbo-1.5.3-7.el8.x86_64 libtiff-4.0.9-13.el8.x86_64 libwebp-1.0.0-1.el8.x86_64 libxcb-1.13-5.el8.x86_64 mariadb-connector-c-config-3.0.7-1.el8.noarch mecab-0.996-1.module_el8.0.0+41+ca30bab6.9.x86_64 mod_http2-1.11.3-3.module_el8.0.0+185+5908b0db.x86_64 mysql-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 mysql-common-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 mysql-errmsg-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch perl-Digest-1.17-395.el8.noarch perl-Digest-MD5-2.55-396.el8.x86_64 perl-Net-SSLeay-1.85-6.el8.x86_64 perl-URI-1.73-3.el8.noarch perl-libnet-3.11-3.el8.noarch php-cli-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-common-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 protobuf-lite-3.5.0-7.el8.x86_64 checkpolicy-2.8-2.el8.x86_64 dejavu-fonts-common-2.35-6.el8.noarch dejavu-sans-fonts-2.35-6.el8.noarch fontconfig-2.13.1-3.el8.x86_64 fontpackages-filesystem-1.44-22.el8.noarch mailcap-2.1.48-3.el8.noarch perl-Carp-1.42-396.el8.noarch perl-Data-Dumper-2.167-399.el8.x86_64 perl-Encode-4:2.97-3.el8.x86_64 perl-Errno-1.28-416.el8.x86_64 perl-Exporter-5.72-396.el8.noarch perl-File-Path-2.15-2.el8.noarch perl-File-Temp-0.230.600-1.el8.noarch perl-Getopt-Long-1:2.50-4.el8.noarch perl-HTTP-Tiny-0.074-1.el8.noarch perl-IO-1.38-416.el8.x86_64 perl-MIME-Base64-3.15-396.el8.x86_64 perl-PathTools-3.74-1.el8.x86_64 perl-Pod-Escapes-1:1.07-395.el8.noarch perl-Pod-Perldoc-3.28-396.el8.noarch perl-Pod-Simple-1:3.35-395.el8.noarch perl-Pod-Usage-4:1.69-395.el8.noarch perl-Scalar-List-Utils-3:1.49-2.el8.x86_64 perl-Socket-4:2.027-2.el8.x86_64 perl-Storable-1:3.11-3.el8.x86_64 perl-Term-ANSIColor-4.06-396.el8.noarch perl-Term-Cap-1.17-395.el8.noarch perl-Text-ParseWords-3.30-395.el8.noarch perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch perl-Time-Local-1:1.280-1.el8.noarch perl-Unicode-Normalize-1.25-396.el8.x86_64 perl-constant-1.33-396.el8.noarch perl-interpreter-4:5.26.3-416.el8.x86_64 perl-libs-4:5.26.3-416.el8.x86_64 perl-macros-4:5.26.3-416.el8.x86_64 perl-parent-1:0.237-1.el8.noarch perl-podlators-4.11-1.el8.noarch perl-threads-1:2.21-2.el8.x86_64 perl-threads-shared-1.58-2.el8.x86_64 policycoreutils-python-utils-2.8-16.1.el8.noarch python3-audit-3.0-0.10.20180831git0047a6c.el8.x86_64 python3-libsemanage-2.8-5.el8.x86_64 python3-policycoreutils-2.8-16.1.el8.noarch python3-setools-4.2.0-2.el8.x86_64 Complete!

Enable and start Apache service.

[root@zabbix-01 ~]# systemctl enable --now httpd.service Created symlink /etc/systemd/system/ â /usr/lib/systemd/system/httpd.service.

Allow Apache service to accept incoming traffic in Linux firewall.

[root@zabbix-01 ~]# firewall-cmd --permanent --add-service=http ; firewall-cmd --reload success success

Enable and start MySQL database service.

[root@zabbix-01 ~]# systemctl enable --now mysqld.service Created symlink /etc/systemd/system/ â /usr/lib/systemd/system/mysqld.service.

Configure MySQL server instance as follows.

[root@zabbix-01 ~]# mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done!

Edit PHP configurations to customize it according to your environment.

[root@zabbix-01 ~]# vi /etc/php.ini

Uncomment and set following directive.

date.timezone = Asia/Karachi


Installing Zabbix Yum Repository on CentOS 8:

As described in Zabbix documentation, we can install Zabbix yum repository in our CentOS 8 server as follows.

[root@zabbix-01 ~]# cd /tmp [root@zabbix-01 tmp]# wget --2019-12-10 22:32:00-- Resolving (, 2604:a880:1:20::b82:1001 Connecting to (||:443... connected. HTTP request sent, awaiting response... 200 OK Length: 17876 (17K) [application/x-redhat-package-manager] Saving to: âzabbix-release-4.4-1.el8.noarch.rpmâ zabbix-release-4.4- 100%[===================>] 17.46K --.-KB/s in 0s 2019-12-10 22:32:01 (229 MB/s) - âzabbix-release-4.4-1.el8.noarch.rpmâ saved [17876/17876]

Install downloaded RPM by using dnf command.

[root@zabbix-01 tmp]# dnf install -y zabbix-release-4.4-1.el8.noarch.rpm Last metadata expiration check: 0:32:33 ago on Tue 10 Dec 2019 10:00:53 PM PKT. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: zabbix-release noarch 4.4-1.el8 @commandline 17 k Transaction Summary ================================================================================ Install 1 Package Total size: 17 k Installed size: 21 k Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : zabbix-release-4.4-1.el8.noarch 1/1 Verifying : zabbix-release-4.4-1.el8.noarch 1/1 Installed: zabbix-release-4.4-1.el8.noarch Complete!

Build yum package manager cache for Zabbix yum repository.

[root@zabbix-01 ~]# dnf makecache CentOS-8 - AppStream 3.8 kB/s | 4.3 kB 00:01 CentOS-8 - Base 2.3 kB/s | 3.9 kB 00:01 CentOS-8 - Extras 546 B/s | 1.5 kB 00:02 Zabbix Official Repository - x86_64 1.7 kB/s | 2.9 kB 00:01 Zabbix Official Repository non-supported - x86_ 2.8 kB/s | 3.0 kB 00:01 Metadata cache created.


Installing Zabbix Network Monitoring Server on CentOS 8:

We have setup the Zabbix yum repository, therefore, we can easily install Zabbix packages by using dnf command. Here, we are installing Zabbix with MySQL database support by using following command.

[root@zabbix-01 ~]# dnf install -y zabbix-server-mysql Zabbix Official Repository - x86_64 1.9 kB/s | 2.9 kB 00:01 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: zabbix-server-mysql x86_64 4.4.3-1.el8 zabbix 2.5 M Installing dependencies: libssh2 x86_64 1.8.0-8.module_el8.0.0+189+f9babebb.1 AppStream 99 k mysql-libs x86_64 8.0.17-3.module_el8.0.0+181+899d6349 AppStream 1.2 M unixODBC x86_64 2.3.7-1.el8 AppStream 458 k OpenIPMI-libs x86_64 2.0.25-4.el8 BaseOS 506 k net-snmp-libs x86_64 1:5.8-7.el8_0.2 BaseOS 821 k fping x86_64 3.16-1.el8 zabbix-non-supported 51 k Enabling module streams: virt rhel Transaction Summary ================================================================================ Install 7 Packages Total size: 5.6 M Total download size: 3.3 M Installed size: 20 M Downloading Packages: [SKIPPED] libssh2-1.8.0-8.module_el8.0.0+189+f9babebb.1.x86_64.rpm: Already downloaded [SKIPPED] mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_64.rpm: Already downloaded [SKIPPED] unixODBC-2.3.7-1.el8.x86_64.rpm: Already downloaded [SKIPPED] OpenIPMI-libs-2.0.25-4.el8.x86_64.rpm: Already downloaded (5/7): fping-3.16-1.el8.x86_64.rpm 12 kB/s | 51 kB 00:04 (6/7): net-snmp-libs-5.8-7.el8_0.2.x86_64.rpm 112 kB/s | 821 kB 00:07 (7/7): zabbix-server-mysql-4.4.3-1.el8.x86_64.r 106 kB/s | 2.5 MB 00:24 -------------------------------------------------------------------------------- Total 134 kB/s | 3.3 MB 00:25 warning: /var/cache/dnf/zabbix-29dc90a601b47855/packages/zabbix-server-mysql-4.4.3-1.el8.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Zabbix Official Repository - x86_64 88 kB/s | 1.7 kB 00:00 Importing GPG key 0xA14FE591: Userid : "Zabbix LLC <>" Fingerprint: A184 8F53 52D0 22B9 471D 83D0 082A B56B A14F E591 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 Key imported successfully warning: /var/cache/dnf/zabbix-non-supported-d292ac8ca0673a5d/packages/fping-3.16-1.el8.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY Zabbix Official Repository non-supported - x86_ 1.1 MB/s | 1.3 kB 00:00 Importing GPG key 0x79EA5ED4: Userid : "Zabbix SIA <>" Fingerprint: FBAB D5FB 2025 5ECA B22E E194 D13D 58E4 79EA 5ED4 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : fping-3.16-1.el8.x86_64 1/7 Installing : net-snmp-libs-1:5.8-7.el8_0.2.x86_64 2/7 Installing : OpenIPMI-libs-2.0.25-4.el8.x86_64 3/7 Installing : unixODBC-2.3.7-1.el8.x86_64 4/7 Running scriptlet: unixODBC-2.3.7-1.el8.x86_64 4/7 Installing : mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_ 5/7 Installing : libssh2-1.8.0-8.module_el8.0.0+189+f9babebb.1.x86_64 6/7 Running scriptlet: zabbix-server-mysql-4.4.3-1.el8.x86_64 7/7 Installing : zabbix-server-mysql-4.4.3-1.el8.x86_64 7/7 Running scriptlet: zabbix-server-mysql-4.4.3-1.el8.x86_64 7/7 Verifying : libssh2-1.8.0-8.module_el8.0.0+189+f9babebb.1.x86_64 1/7 Verifying : mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_ 2/7 Verifying : unixODBC-2.3.7-1.el8.x86_64 3/7 Verifying : OpenIPMI-libs-2.0.25-4.el8.x86_64 4/7 Verifying : net-snmp-libs-1:5.8-7.el8_0.2.x86_64 5/7 Verifying : zabbix-server-mysql-4.4.3-1.el8.x86_64 6/7 Verifying : fping-3.16-1.el8.x86_64 7/7 Installed: zabbix-server-mysql-4.4.3-1.el8.x86_64 libssh2-1.8.0-8.module_el8.0.0+189+f9babebb.1.x86_64 mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 unixODBC-2.3.7-1.el8.x86_64 OpenIPMI-libs-2.0.25-4.el8.x86_64 net-snmp-libs-1:5.8-7.el8_0.2.x86_64 fping-3.16-1.el8.x86_64 Complete!

Install Zabbix frontend with MySQL and Apache support.

[root@zabbix-01 ~]# dnf -y install zabbix-web-mysql zabbix-apache-conf Zabbix Official Repository - x86_64 1.7 kB/s | 2.9 kB 00:01 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: zabbix-apache-conf noarch 4.4.3-1.el8 zabbix 227 k zabbix-web-mysql noarch 4.4.3-1.el8 zabbix 14 k Installing dependencies: php-bcmath x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa AppStream 79 k php-ldap x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa AppStream 79 k php-xml x86_64 7.2.11-1.module_el8.0.0+56+d1ca79aa AppStream 188 k zabbix-web noarch 4.4.3-1.el8 zabbix 2.9 M Transaction Summary ================================================================================ Install 6 Packages Total size: 3.5 M Total download size: 2.9 M Installed size: 19 M Downloading Packages: [SKIPPED] php-bcmath-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64.rpm: Already downloaded [SKIPPED] php-ldap-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64.rpm: Already downloaded [SKIPPED] php-xml-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64.rpm: Already downloaded [SKIPPED] zabbix-apache-conf-4.4.3-1.el8.noarch.rpm: Already downloaded [SKIPPED] zabbix-web-mysql-4.4.3-1.el8.noarch.rpm: Already downloaded (6/6): zabbix-web-4.4.3-1.el8.noarch.rpm 97 kB/s | 2.9 MB 00:30 -------------------------------------------------------------------------------- Total 97 kB/s | 2.9 MB 00:30 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : php-xml-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 1/6 Installing : php-ldap-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 2/6 Installing : php-bcmath-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_6 3/6 Installing : zabbix-apache-conf-4.4.3-1.el8.noarch 4/6 Running scriptlet: zabbix-apache-conf-4.4.3-1.el8.noarch 4/6 Installing : zabbix-web-mysql-4.4.3-1.el8.noarch 5/6 Installing : zabbix-web-4.4.3-1.el8.noarch 6/6 Running scriptlet: zabbix-web-4.4.3-1.el8.noarch 6/6 Verifying : php-bcmath-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_6 1/6 Verifying : php-ldap-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 2/6 Verifying : php-xml-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 3/6 Verifying : zabbix-apache-conf-4.4.3-1.el8.noarch 4/6 Verifying : zabbix-web-4.4.3-1.el8.noarch 5/6 Verifying : zabbix-web-mysql-4.4.3-1.el8.noarch 6/6 Installed: zabbix-apache-conf-4.4.3-1.el8.noarch zabbix-web-mysql-4.4.3-1.el8.noarch php-bcmath-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-ldap-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 php-xml-7.2.11-1.module_el8.0.0+56+d1ca79aa.x86_64 zabbix-web-4.4.3-1.el8.noarch Complete!

Create a MySQL database user to own Zabbix server data.

[root@zabbix-01 ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 8.0.17 Source distribution Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database zabbix; Query OK, 1 row affected (0.04 sec) mysql> create user 'zabbix'@'localhost' identified by 'Zabbix@1234'; Query OK, 0 rows affected (0.14 sec) mysql> grant ALL on zabbix.* to 'zabbix'@'localhost'; Query OK, 0 rows affected (0.02 sec) mysql> flush privileges; Query OK, 0 rows affected (0.03 sec) mysql> exit Bye

Create Zabbix database by using the script provided with Zabbix server installation files.

[root@zabbix-01 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -D zabbix -pZabbix@1234 mysql: [Warning] Using a password on the command line interface can be insecure.

Configure Zabbix server settings.

[root@zabbix-01 ~]# vi /etc/zabbix/zabbix_server.conf

And set following directives therein.

DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=Zabbix@1234

Configure SELinux settings for Zabbix on CentOS 8. Make sure you have installed policoreutils-python package before executing following commands.

[root@zabbix-01 ~]# grep zabbix_t /var/log/audit/audit.log | audit2allow -M zabbix_server_custom ******************** IMPORTANT *********************** To make this policy package active, execute: semodule -i zabbix_server_custom.pp [root@zabbix-01 ~]# semodule -i zabbix_server_custom.pp [root@zabbix-01 ~]# rm -f zabbix_server_custom.* [root@zabbix-01 ~]# setsebool -P httpd_can_connect_zabbix on [root@zabbix-01 ~]# setsebool -P httpd_can_network_connect_db on

Enable and start Zabbix service.

[root@zabbix-01 ~]# systemctl enable --now zabbix-server Created symlink /etc/systemd/system/ â /usr/lib/systemd/system/zabbix-server.service.


Installing Zabbix Agent Software on CentOS 8:

Zabbix is agent based server monitoring software. Therefore, we need to install Zabbix agent software on each server that need to be monitored.

Install Zabbix Agent on the same Linux server.

[root@zabbix-01 ~]# dnf install -y zabbix-agent Last metadata expiration check: 0:06:47 ago on Wed 11 Dec 2019 10:44:01 PM PKT. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: zabbix-agent x86_64 4.4.3-1.el8 zabbix 435 k Transaction Summary ================================================================================ Install 1 Package Total download size: 435 k Installed size: 1.8 M Downloading Packages: zabbix-agent-4.4.3-1.el8.x86_64.rpm 54 kB/s | 435 kB 00:08 -------------------------------------------------------------------------------- Total 54 kB/s | 435 kB 00:08 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: zabbix-agent-4.4.3-1.el8.x86_64 1/1 Installing : zabbix-agent-4.4.3-1.el8.x86_64 1/1 Running scriptlet: zabbix-agent-4.4.3-1.el8.x86_64 1/1 Verifying : zabbix-agent-4.4.3-1.el8.x86_64 1/1 Installed: zabbix-agent-4.4.3-1.el8.x86_64 Complete!

Enable and start Zabbix agent service.

[root@zabbix-01 ~]# systemctl enable --now zabbix-agent Created symlink /etc/systemd/system/ â /usr/lib/systemd/system/zabbix-agent.service.

Allow Zabbix agent service ports in Linux firewall.

[root@zabbix-01 ~]# firewall-cmd --permanent --add-port={10051/tcp,10050/tcp} success [root@zabbix-01 ~]# firewall-cmd --reload success

Open URL in a web browser.


Click on Next Step.


Review that all required PHP settings are OK. Click on Next Step.


Enter MySQL Database connectivity parameters and click on Next Step.


Click on Next Step.


Click on Next Step.


Click on Finish.


Login using Zabbix default username/password i.e. admin/zabbix.


We are reached at the Dashboard of Zabbix server.

We have successfully installed Zabbix server on CentOS 8. If you want to explore Zabbix software, then we highly recommend you to buy Zabbix 4 Network Monitoring by Packt Publishing.


  1. I installed exactly as your post but after some time shows me the the zabbix server is not running

    1. Try to start the Zabbix service and checkout the error.
      For further guidance, contact me at our Facebook Page along with the screenshot of the error.

  2. dnf -y install zabbix-web-mysql zabbix-apache-conf while giving this command i am getting the following error

    [root@localhost tmp]# dnf -y install zabbix-web-mysql zabbix-apache-conf
    Zabbix Official Repository - x86_64 1.0 kB/s | 41 kB 00:41
    Failed to synchronize cache for repo 'zabbix', ignoring this repo.
    Last metadata expiration check: 0:15:05 ago on Mon 30 Dec 2019 04:06:23 AM EST.
    No match for argument: zabbix-web-mysql
    No match for argument: zabbix-apache-conf
    Error: Unable to find a match

    CAN U HELP ??

    1. This is caused due to the IPv6 configuration in CentOS / RHEL 8. If you are not using IPv6 then you should disable it using following command.

      # sysctl -w net.ipv6.conf.all.disable_ipv6=1

      Now execute your dnf command again.

  3. grep zabbix_t /var/log/audit/audit.log | audit2allow -M zabbix_server_custom

    it returns: "Nothing to do.".

    May you help me, please?

    1. It means you don't have any policy violations. Skip this step and continue.

  4. Hi, Great tutorial but I getting this message when I wnat to enable and start Zabbix service.
    Job for zabbix-server.service failed because the control process exited with error code.
    See "systemctl status zabbix-server.service" and "journalctl -xe" for details.

    Any ideas what it could be?

    1. It is a generic error. Please execute

      systemctl status zabbix-server.service

      and you may find the actual cause of the error.