Zabbix is a highly integrated network monitoring solution. It is open-source and offers multiple features in one single package. It is not required to install any additional software on the monitored host. The use of services like SMTP and HTTP can be confirmed using some normal checks.
From servers and proxies, Zabbix will select the data needed for your analysis with custom intervals ensuring accuracy in every measurement! There is a back-end database from where you can refer to values and define problem thresholds which are also known as triggers. You can use macro variables to create notifications which will be more meaningful and helpful and send them in customized manner as per the escalation schedules, media types, and the recipients. You can also automate actions using remote commands.
Within the solution, there is a visualization feature available that quickly graphs the monitored items. You can also check functionality and response time on a website with the collection of data of mouse clicks on it. Zabbix monitoring solution can also provide one single view for many items by creating custom graphs for it. There is also a dashboard style overview in it for which Zabbix creates custom screens, network maps and slide shows.
You can install and configure Zabbix on Windows hosts or UNIX and track information like disk space, CPU load, network utilization, and more. Zabbix proxy collects data from Zabbix agents installed on any remote servers and can send it to Zabbix server which will be then stored in Zabbix database. Alexei Vladishev created the first Zabbix release in April 2001, naming it Zabbix 1.0 alpha 1.
Step by Step Procedure to Install and Configure Zabbix on CentOS
Prerequisites
- Cent-OS machine
- MySQL Database
- Root Privilege
- Hardware requirements:
- 128 MB of Physical memory
- 256 MB of Disk space
ZABBIX Server Installation
1. Update your repositories
Run below command to update your existing repositories
sudo yum update
2. Install official repository
Run below command to install official repository of zabbix
sudo rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
3. Enable repository
Run below commands to enable recently installed repository
sudo yum --enablerepo="base" -y install yum-utils
sudo yum-config-manager --enable rhel-7-server-optional-rpms
4. Configure MySQL Database for Zabbix
Login MySQL and Run below commands to create new zabbix user and database
mysql> CREATE DATABASE zabbixdb CHARACTER SET UTF8;
mysql> GRANT ALL PRIVILEGES on zabbixdb.* to zabbix@localhost IDENTIFIED BY 'zabbix';
mysql> FLUSH PRIVILEGES;
mysql> quit
5. Zabbix server configuration
Run below command to open zabbix_server.conf file for configuration
sudo vim /etc/zabbix/zabbix_server.conf
Now update and uncomment these below values as per your configuration
-
- DBHost=localhost (enter your host name or ip address here)
-
- DBName=zabbixdb (enter your database name here)
-
- DBUser=zabbix (enter your database user here)
- DBPassword=zabbix (enter your database password here)
Save and exit
6. Start zabbix service
Run below command to start zabbix-server
sudo service zabbix-server start
Run below command to enable zabbix-server
sudo systemctl enable zabbix-server
7. Tunning Frontend
Run below command to open zabbix.conf file
sudo vim /etc/httpd/conf.d/zabbix.conf
8. Enable Time Zone
Enable timezone by uncomment below line then save and exit
php_value date.timezone Europe/Riga
9. Restart Services
Run below commands to restart following services
sudo service httpd restart
sudo service mariadb restart
sudo service zabbix-server restart
10. Check Status
Run below commands to check status of following services
sudo service httpd status
sudo service mariadb status
sudo service zabbix-server status
Output of these above commands should be active e.g. [Active: active (running)]
11. Configuration web browser
-
- Open your favourite browser and insert this URL (ip_address/zabbix)
- If you see this Welcome Page then click `Next step` button
- Check pre-requisites and click `Next step` button
-
- Click `Next step` button after configure DB connection
-
- Click `Next step` button after enter Zabbix Server details
-
- Confirm everything and click `Next step` button
-
- Click `Finish` button
12. Login Zabbix
-
- Username: Admin (default)
- Password: zabbix (default)
13. System Information on Dashboard
-
-
Zabbix server is running: Yes hostname:10051 (default port)
-
If you see below error or your zabbix server is not running
#Error: Zabbix server is not running: the information displayed may not be current
then run below commands to install and execute policies :
sudo yum install policycoreutils-python
sudo checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
sudo semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
sudo semodule -i zabbix_server_add.pp
14. Restart Services
Run below commands to restart following services
sudo service zabbix-server restart
sudo service httpd restart
sudo service mariadb restart
15. Reload cache
Run below commands to reload cache of zabbix-server
sudo zabbix_server -R config_cache_reload
ZABBIX Agent Installation
Zabbix agents sits on remote servers and collects data then sends it to zabbix servers for further processing and calculations. Zabbix agents can be Passive or Active, which means there is two different behaviour of communication between zabbix servers and zabbix agents. Active agents itself initiates to make connection with zabbix server and if there exists a firewall between agent and server then prefer Active agent so that you do not have to configure firewall settings to open specific port to open a specific socket.
1. To install zabbix agent
Run below command to install zabbix-agent
sudo yum install zabbix-agent
Run below command to open zabbix_agentd.conf file for configuration
sudo vim /etc/zabbix/zabbix_agentd.conf
Edit below values and leave other values as it is (default):
- #LogFileSize=1
LogFileSize=100
(increase size of log file to store logs) - #EnableRemoteCommands=0
EnableRemoteCommands=1 - #LogRemoteCommands=0
LogRemoteCommands=1 - #Server=
Server=127.0.0.1
(list of servers that can query your agent and here if server is on same
machine you are working, then use 127.0.0.1) - #ServerActive=
ServerActive=127.0.0.1
(the server’s ip to which agent will send data) - #Hostname=
# Hostname=Zabbix server
(comment this line, server identifies agent by its hostname) - #RefreshActiveChecks=120
RefreshActiveChecks=60
save and exit
2. Enable Zabbix agent
Run below command to enable zabbix-agent
sudo systemctl enable zabbix-agent
Run below command to start zabbix-agent
sudo systemctl start zabbix-agent
Run below command to check the status of zabbix-agent
sudo service zabbix-agent status
No need to install any additional software on the monitored host.
We have walked through the steps necessary to install and configure ZABBIX on a CentOS server. While we have only scratched the surface of what is possible with this powerful monitoring tool, we hope that you now have a basic understanding of how to get started using it for your own needs.
A place for big ideas.
Reimagine organizational performance while delivering a delightful experience through optimized operations.
-
Step by Step Procedure to Install and Configure Zabbix on CentOS
- Prerequisites
-
ZABBIX Server Installation
-
- 1. Update your repositories
- 2. Install official repository
- 3. Enable repository
- 4. Configure MySQL Database for Zabbix
- 5. Zabbix server configuration
- 6. Start zabbix service
- 7. Tunning Frontend
- 8. Enable Time Zone
- 9. Restart Services
- 10. Check Status
- 11. Configuration web browser
- 12. Login Zabbix
- 13. System Information on Dashboard
- 14. Restart Services
- 15. Reload cache
-
- ZABBIX Agent Installation