How To Install Zabbix Server 4.0 on CentOS 7 / RHEL 7
Zabbix uses client (Zabbix Agent) installed on the monitored client-server to collect the data. Also, it can monitor standard services such as e-mail, web service without installing a client on the monitored devices.
With Zabbix, you can monitor almost everything that is on your infrastructure. Since Zabbix is enterprise-ready, you can use Zabbix monitoring for environments ranging from small to larger.
Zabbix is free, released under the GPL license, so it is free commercial and non-commercial use.
Features of Zabbix
- Monitor the metrics like CPU, memory, disk space, network and process of servers (Requires Zabbix Agent)
- Monitoring of VMware vCeneter, VMware hypervisor, and virtual machines.
- Automatically discovers VMware hypervisor and virtual machines using low-level discovery.
- Monitoring of MySQL, PostgreSQL, Oracle and Microsoft SQL Server.
- Zabbix has built-in Java application server monitoring.
- Monitoring the network device with SNMP.
- Web services monitoring.
- Hardware monitoring such as temperature, fan speed, and disk state.
What’s New in Zabbix 4
- Enhanced visualization
- Time range selection with ease
- Stay focused, avoid distraction
- Same screen size, more details
- Faster and more secure distributed monitoring
- Better workflow for faster problem resolution
- Tag based permissions
- Tag based maintenance
- Collect data over HTTP/HTTPS
- Single sign-on
Detailed information can be found here.
In this guide, we will talk about installing Zabbix Server on CentOS 7 / RHEL 7.
Zabbix requires at least 128MB memory and 256MB of disk space to start with. However, the amount of memory depends on the number of hosts and parameters are being monitored.
Install PHP and PHP Extensions
Install the required PHP extension using the following command.
yum -y install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml
Enable optional repository on RHEL 7.
yum-config-manager --enable rhel-7-server-optional-rpms
Configure Zabbix repository
Zabbix is not available in our base OS by default, so install Zabbix repository configuration package.
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
Install Zabbix Server with MySQL
Use the following command to install Zabbix server along with MySQL database support package on your system.
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
To begin using the Apache with the Zabbix server. Zabbix configuration file needs to be updated with TimeZone.
Update the below line with correct timezone. Find more time zones in the official site.
php_value date.timezone America/New_York
Create Zabbix database
Start the MariaDB service.
systemctl start mariadb
Login to MariaDB and create the database and user for our Zabbix installation.
mysql -u root -p
Create a database with the following details.
DBName = zabbixdb
DBUser = zabbixuser
DBPassword = password
mysql> create database zabbixdb character set utf8 collate utf8_bin; mysql> grant all privileges on zabbixdb.* to zabbixuser@localhost identified by 'password'; mysql> quit;
Once you are done creating the database for Zabbix installation, then import initial schema and data to the newly created database.
cd /usr/share/doc/zabbix-server-mysql*/ zcat create.sql.gz | mysql -u zabbixuser -p zabbixdb
Update Database Configuration
Edit the zabbix_server.conf file to set the database details.
Make sure you set as follows.
DBHost=localhost DBName=zabbixdb DBUser=zabbixuser DBPassword=password
SELinux (CentOS 7)
If you have SELinux enabled on your server, you need to run the following command to enable successful connection of Zabbix web frontend to the server.
yum install -y policycoreutils-python setsebool -P httpd_can_connect_zabbix on
Also, add a few custom rules.
curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp semodule -i zabbix_server_add.pp
Thanks to catonrug blog.
Restart all the services.
systemctl restart zabbix-server systemctl restart httpd
Enable the service to start automatically on system reboot.
systemctl enable zabbix-server systemctl enable httpd systemctl enable mariadb
Configure the firewall to allow Zabbix agent to reach the Zabbix server.
firewall-cmd --permanent --add-port=10050/tcp firewall-cmd --permanent --add-port=10051/tcp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload systemctl restart firewalld
Configure Zabbix via Web Installer
Open up your web browser and point it to the following URL.
Follow the below steps to complete the Zabbix installation.
Click Next Step on Zabbix welcome page.
This step verifies all the pre-requisites are met for Zabbix Installation. If there are any issues, this page will tell you what all the extension are missing. Click on Next Step.
Enter the Zabbix database name, DB user, and password. Click Next Step.
Mention the Zabbix server details, port number, and the name for Zabbix installation and then click Next step.
You will get a pre-installation summary like below. Click Next step.
Now, you have completed the installation of Zabbix. Click the Finish.
Once after you clicked on Finish, the installer will redirect you to the Zabbix web console.
Access Zabbix Dashboard
Log in with the Zabbix default username and password.