In this tutorial we will setup a complete Network Monitoring System to install and configure Zabbix Server and its agent on latest version of CentOS 7 to monitor our complete IT infrastructure whether its Linux servers running with different applications and critical services, Windows servers running with IIS, SQL and exchange servers or any SNMP devices. Other than servers monitoring we can check the status of websites for their response time and bandwidth transfer rate.
Basic parameters configuration
Zabbix requires minimum of 128 MB of RAM and 256 MB of free disk space to setup its installation process but the amount of required disk memory obviously depends on the number of hosts and the parameters that are being monitored.
Considering the below parameters we will go through the steps to build Zabbix Server.
|Base Operating System||CentOS Linux 7 (Core)|
|Database||mysql Ver 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64)|
|Client View||PHP 5.4.16 (cli)|
|RAM and CPU||4 GB , 2.0 GHZ|
|Hard Disk||30 GB|
Zabbix Servers Installation
Create a backup directory and download the Zabbix Application for CentOS operating system.
[[email protected] backup]# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
Extract the zabbix application package here
[[email protected] backup]# ls
[[email protected] backup]# tar zxvf zabbix-2.4.5.tar.gz
Before starting the Zabbix setup we need to create Zabbix group and user.
Perform the following steps to create.
Create new group Zabbix
[[email protected] backup]# groupadd zabbix
create new user Zabbix and add it to the group Zabbix
[[email protected] backup]# useradd zabbix
Once zabbix user is done we need to create a new database for zabbix server. To do so we need to perform following steps.
Login to MySQL MariaDB
[[email protected] backup]# mysql -u root –p
Create new database
MariaDB [(none)]> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
Grant all privileges to zabbix user on zabbix database
MariaDB [(none)]> grant all privileges on zabbix .* to 'zabbix'@'localhost' identified by 'zabbix123' with grant option;
Query OK, 0 rows affected (0.00 sec)
Now Import initial schema and data.
[[email protected] zabbix-2.4.5]# mysql -u zabbix -p zabbix < /backup/zabbix-2.4.5/database/mysql/schema.sql
[[email protected] zabbix-2.4.5]# mysql -u zabbix -p zabbix < /backup/zabbix-2.4.5/database/mysql/images.sql
[[email protected] zabbix-2.4.5]# mysql -u zabbix -p zabbix < /backup/zabbix-2.4.5/database/mysql/data.sql
[[email protected] zabbix-2.4.5]#
Start Zabbix Server and its Agent Installation
Before running the installation script make sure that all the required php extensions and other supporting libraries including mysql-devel php-mysql and net-snmp are installed without that installation process will not be complete.
[[email protected] zabbix-2.4.5]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp
[[email protected] zabbix-2.4.5]# make install
Front-End Installation using PHP
Now we need to create the apache document root directory to then move all frontend php files in it.
[[email protected] zabbix-2.4.5]# mkdir /var/www/html/zabbix
[[email protected] zabbix-2.4.5]# cp -r frontends/php/* /var/www/html/zabbix/
[[email protected] zabbix-2.4.5]#
Setup basic parameters in PHP configuration file php.ini
[[email protected] zabbix-2.4.5]# vim /etc/php.ini
Restart Apache service to take effect after making change in php.ini file.
[[email protected] zabbix-2.4.5]# systemctl restart httpd.service
In your browser, open Zabbix URL as per your server IP or name.
Once php parameters are setup in the screen it should be all parameters ok. Click on to NEXT
Enter details for connection to the database. Zabbix database must be already created.
Then Enter Zabbix servers detail and click on Test Connection to confirm its connectivity with the database.
Review a summary of settings.
Download the configuration file and place it under following conf directory.
After uploading conf file into mentioned destination folder click to "Retry" and the click to "Finish" after it appears OK status.
Zabbix frontend is now ready to access with default user name "Admin" and password "zabbix".
Zabbix Server Configuration
Now lets come to zabbix server configuration file to configure it to start monitoring hosts.
Open the configuration file.
Zabbix Agent Configuration
As we already installed zabbix agent now we just need to configure its parameters to make it communicate with the server. So lets open the zabbix agent configuration file and configure the parameters.
Start Zabbix Services:
After making changes to zabbix server and its agent configurations start zabbix server and zabbix agent services as.
[[email protected] zabbix-2.4.5]# zabbix_server
[[email protected] zabbix-2.4.5]# zabbix_agentd
Enable Your First Monitoring
Lets point to zabbix Configuration and then Hosts to enable the zabbix server to start its monitoring and then add many hosts and web scenerios to enjoy with an awesome interface, dashboard and graphs.
Zabbix is an open source enterprise monitoring solution for networks and applications designed to monitor and track the status of various network devices, performance and availability of cross platform servers and other network hardware. It has allowed us to address a number of issues within our client’s infrastructure that allows us to monitor hundreds and thousands of devices with high performance, and high capacity platform.