Zabbix is an open-source monitoring software used for collecting metrics from various devices and systems such as networks devices, VM systems, Linux/Windows systems, and cloud services. Zabbix can send notification alerts of issues in any monitored system.
In this tutorial, we shall provide you a guide on installing and configuring Zabbix on CentOS system. Before that let’s take a look at the prerequisites.
Prerequisites
- Apache web server
- PHP with required extensions
- MySQL/ MariaDB server
- Installing Zabbix on CentOS
- Login to Terminal as root and start firing up the commands below.
Step 1 – Install yum-utils
# yum install yum-utils
Step 2 – Install and Configure Apache
Use the following commands:
# yum -y install httpd
Start Apache service.
# systemctl start httpd
Enable httpd service on system boot.
# systemctl enable httpd
Check service status.
# systemctl status httpd
Step 3 – Configure Needed Repositories
Install epel and remi repos.
# yum -y install epel-release
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Disable PHP 5 repositories and enable PHP 7.2 repo.
# yum-config-manager --disable remi-php54
# yum-config-manager --enable remi-php72
Step 4 – Install PHP
# yum install php php-pear php-cgi php-common php-mbstring php-snmp php-gd php-pecl-mysql php-xml php-mysql php-gettext php-bcmath
Modify the PHP time Zone by editing the php.ini file.
# vi /etc/php.ini
Uncomment the following line and add your time zone.
date.timezone = Asia/Kolkata
change the below setting
FROM:
post_max_size = 8M
max_execution_time = 30
max_input_time = 60
TO:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
Step 5 – Install MariaDB
# yum --enablerepo=remi install mariadb-server -y
Start the MariaDB service.
# systemctl start mariadb
Enable MariaDB on system boot.
# systemctl enable mariadb
Run the following command to secure MariaDB.
# mysql_secure_installation
Add a new root password and continue. Then it will ask a few questions. Type “Y” to agree to that.
Login to DB server and verify.
# mysql -u root -p
Step 6 – Create a Database for Zabbix
You can choose any name for the database in place of fosslinuxzabbix in the below command:
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Create a DB user and grant privileges.
MariaDB [(none)]> create user 'zabbix'@'localhost' identified BY 'redhat';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost ;
Flush privileges.
MariaDB [(none)]> flush privileges;
Step 7 – Install Zabbix and needed dependencies
Adding Zabbix repository. Copy the latest download URL from the official website. Paste it in the below command appropriately.
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
Install Zabbix.
#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
Step 8 – Configure Zabbix
Change Time Zone by editing the Zabbix Apache configuration file.
# vi /etc/httpd/conf.d/zabbix.conf
Uncomment the following line and add your Time Zone.
php_value date.timezone Asia/Kolkata
Restart HTTPD service.
# systemctl restart httpd
Generally, Zabbix installation package gives SQL file which includes an initial schema and data for the Zabbix server with MySQL.
Change directory and go the Zabbix directory.
# cd /usr/share/doc/zabbix-server-mysql-4.0.43/
Import the MySQL dump file.
# zcat create.sql.gz | mysql -u zabbix -p zabbix
Now modify the Zabbix configuration file with Database details.
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=redhat
Then save and exit the file. Start Zabbix service.
# systemctl start zabbix-server
Enable Zabbix on system boot.
# systemctl enable zabbix-server
Now restart httpd service.
# systemctl restart httpd
Step 9 – Setup Zabbix
You can access Zabbix using following URL:
http://192.168.2.212/zabbix/
You should see the welcome page.
Click Next.
Check Of Pre-Requisites
Here you Zabbix will check installed PHP, MySQL/MariaDB versions and parameters, etc.
If you see any parameter failing, you have to modify it and refresh the page.
E.g.:- for PHP parameter you have to modify (/etc/php.ini) file. Click Next.
Configure DB Connection
Add database details and click Next. Then you will see server details, and you can add any name for “Name”.
Zabbix Server Details
Click Next. You should see the Database details and server details.
Pre-installation Summary
Click Next to complete the installation.
Successfully Installed
Click finish to access the login page.
Login Page
The default login name is “Admin” and password is “zabbix”. You will go to the Zabbix Dashboard.
Dash Board
Step 10 – Monitor Servers with Zabbix Agent
Zabbix Agent collects the data from the client machine and sends them to the Zabbix Server. We will install the Zabbix agent on the Ubuntu machine to monitor it.
Execute following commands to install the agent on Ubuntu 18.04 LTS. As usual, replace the URL with the latest from the official website.
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
# dpkg -i zabbix-release_4.0-2+bionic_all.deb
# apt update
Install agent.
# apt-get install -y zabbix-agent
Execute following commands to install the agent on Centos 7.
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
# yum install zabbix-agent -y
Now modify the agent configuration file.
# vi /etc/zabbix/zabbix_agentd.conf
Modify the following parameters. Replace IP and hostname with yours in the below command:
Server=192.168.2.212
ServerActive=192.168.2.212
Hostname=client-name
Save and exit the file.
Restart Zabbix agent.
# systemctl restart zabbix-agent
Enable on system boot.
# systemctl enable zabbix-agent
Step 11 – Add host to monitor on Zabbix server
Go to Configuration > Hosts > Create host.
Create Host
Then you will get the interface as follows:
Add New Host
Add Hostname, Visible Name and agent interface IP. Select a group from the list. In our scenario, we are going to monitor the Centos server. So we will select Linux servers from the list.
Select Group
Select and go to Template Tab. Then click on the select button and select “Template OS Linux” from the list.
Select Template
Click “add,” and it will list linked templates.
Add Template
Click on the update button to update.
Step 12 – View Graphs
Go to Monitoring > Graphs. You can select needed group, host and graph to display the graphs.
CPU Graph
Memory Usage
Congratulations! You have successfully configured Zabbix server and added hosts to monitor. Let us know your feedback in the comments below.
Now modify the agent configuration file.
# vi /etc/zabbix/zabbix_agentd.conf
Modify the following parameters. Replace IP and hostname with yours in the below command:
Server=192.168.2.212
ServerActive=192.168.2.212
Hostname=client-name
HostMetadata=LinuxServer
- Log in to the Zabbix portal. Go to the Administration tab, then click on Media types. Provide the SMTP server IP address, the SMTP HELO domain name, and enable the SMTP email address.
- Go to Configuration and enable the action.
- Check again in Administration tab.
No comments:
Post a Comment