Zabbix – One tool to monitor ’em all

Zabbix – One tool to monitor ’em all

What is Zabbix?

Zabbix is a very powerful open source tool to monitor availability and performance of your application, service, server and your infra component even cloud services like AWS ELB and AWS RDS.

Zabbix server is available only for Linux/Unix till now, but Zabbix agent is available for windows as well.

Why Zabbix?

  1. Zabbix is an open source tool so no need to spend extra money.
  2. Powerful web interface to configure. Unlike Nagios web interface is mostly read-only.
  3. Multi web scenario option available for website or API performance and availability monitoring.
  4. Very powerful alert system via email/SMS. You can also perform an action on the occurrence of a particular alert.
  5. You can also set up an agentless (SNMP) monitoring for you infra or service.
  6. Hosts can be added automatically using auto-registration/discovery. And server can be deregistered automatically on predefined conditions.
  7. Many templates available to monitor infra on the cloud like Google or AWS. For example, using those templates load balancer or auto-scaling of servers can be monitored.
  8. Graphs/Maps are available to analysis application/server performance.
  9. Zabbix is more focused on JMX technology to monitor Java application.


  1. Linux/Unix to install centralized Zabbix-server.
  2. Relation database like MySQL or PostgreSQL.
  3. Apache/Nginx + PHP(5.5)

Step by step installation:-

NOTE:- We are using Ubuntu as OS, apache as web-server and MySQL as DB for this tutorial.

1. Install required packages:-

sudo apt-get update
sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5 php5-cli php5-common php5-mysql

2. Add the repo to install Zabbix

Ubuntu 16.X

sudo dpkg -i zabbix-release_3.0-1+xenial_all.deb

Ubuntu 14.x

sudo dpkg -i zabbix-release_3.0-1+trusty_all.deb

Ubuntu 12.x

sudo dpkg -i zabbix-release_2.2-1+precise_all.deb

3.Install Zabbix server

sudo apt-get update
apt-get install zabbix-server-mysql zabbix-frontend-php
update-rc.d zabbix-server enable

4.Create the database for Zabbix

mysql -u root -p
mysql> CREATE DATABASE zabbixdb;
mysql> GRANT ALL on zabbixdb.* to [email protected] IDENTIFIED BY 'password';

5.Import Zabbix database

cd /usr/share/doc/zabbix-server-mysql
zcat create.sql.gz | mysql -u root -p zabbixdb

6.Edit Zabbix configuration file

vim /etc/zabbix/zabbix_server.conf

7.Restart apache and Zabbix

sudo service apache2 restart
sudo service zabbix-server restart

8.Start Zabbix web installation


Follow steps given below

i. Welcome screen

ii. check pre-requisites

iii. configure DB connection

iv. Zabbix server details like host, port, server name

v. pre-installation summary

vi. install Zabbix

vi. login to Zabbix with default username and password

  User – admin

  Password – zabbix

9. Install Zabbix Agent on Client machine:-

sudo apt-get install zabbix-agent
/etc/init.d/zabbix-agent start
update-rc.d zabbix-agent enable

10.configure zabbix agent:-

vim /etc/zabbix/zabbix_agentd.conf

save and  quit

11.Restart zabbix agebt:-

/etc/init.d/zabbix-agent restart

Add a host (client) to Zabbix server

1.login as admin

2.Click on configure and choose host

3.Click on create host

4.Fill required details.

5.Select template and add template to host. A new window will popup when you click on “select”. You can check that in the second screen shot of this point.




click on add button to add template and host


Trouble shooting:-

1.Check port 10050 and 10051 are open for zabbix server from client server.

2.Check if zbbix service are listing on 10050 or 10051.

3.Test configuration file  before restarting zabbix service.

zabbix_agent -c /etc/zabbix/zabbix_agentd.conf

zabbix_server -c /etc/zabbix/zabbix_server.conf

4.Change debug level using DebugLevel parameter in config file.

Leave a Reply

Your email address will not be published. Required fields are marked *