Analysis, AWS, Cloud Computing

5 Mins Read

Zabbix- A Simpler way of Monitoring

Today, applications have evolved from standalone to the client-server model and ultimately to the cloud-based elastic application. Application performance can directly affect a business, hurting the revenue as customer struggle to complete the process. It’s always been difficult to see what’s going on inside the system. And doing so has become an essential part. Having a good monitoring tool will help us to understand the system status and determine when they are behaving normally and when they are behaving abnormally. When something goes wrong, the tool alerts us quickly and then we can act on it and fix it without affecting customers. Zabbix is a well-known tool to do that for you.

Why do we need Application Monitoring?

  • Information gathering

Large application produces a humongous number of data that should be monitored and analyzed for the performance and improvement of product and thereby better business.

  • Around the clock monitoring

Humans will never be able to monitor each server 24 X 7. But it is very crucial that any unexpected incident on the servers should be notified and act on it immediately.

  • Pre-emptive Alerting

Monitoring tool is an invisible team member who will alert you about unexpected things in the system.

What is Zabbix?

Zabbix is an open source, real-time application, and network monitoring tool. It offers monitoring of thousands of metrics collected from physical machines or virtual machines. Zabbix has a web-based management interface which is centralized through a database. With Zabbix, visualization of your data is available in the form of graphs, screens, maps and overviews.

  • Cloud Migration
  • Devops
  • AIML & IoT
Know More

Why Choose Zabbix?

  • Open Source – Zabbix is purely open source and comes at no cost.
  • Active Monitoring – You can easily monitor servers, applications and network devices, gathering accurate statistics and performance data
  • Enterprise ready – Zabbix has been designed to scale from small environments to large environments
  • Capacity Planning – With the data collected by Zabbix, you will be easy to analyze your infrastructure and plan the capacity accordingly.

Zabbix Architecture

Zabbix is distributed monitoring tool with a central web interface. The simple architecture of Zabbix can be composed of three servers.

  • Web Server
  • RDBMS Server
  • Zabbix server

Zabbix_Arch

This setup is good enough to handle large environment successfully. It’s better to use the dedicated server for each one of these components.

Zabbix uses client-server architecture and uses an agent in the servers that should be monitored. This agent gathers all needed information and status from the system and sends to Zabbix server. Zabbix version 3 and above support encrypted communication between server and clients.

The Zabbix server can take input data also from a Zabbix sender or Zabbix proxy servers.  Zabbix sender is a command line utility to send application performance and availability data to Zabbix servers for processing. Zabbix proxies are used to monitor remote servers. It can collect performance and availability data behalf of Zabbix server and save it in a buffer locally and then send it to Zabbix server. This way the proxy servers can take on itself some of the load and offload the Zabbix servers.

Let us look at some of the terminologies of Zabbix.

  • Frontend – Web interface provided with Zabbix
  • Zabbix Server – Central server to collect the data and process it.
  • Zabbix agent – A process deployed on client servers to monitor locally
  • Host – A networked device that should be monitored
  • Host group – A logical group of hosts. It is used when assigning access rights.
  • Template – A set of entities (items, triggers, applications, low-level discovery rules, graphs, screens, web scenarios) ready to be applied to one or several hosts
  • Item – A data that you want to receive from a host
  • Trigger – It is a logical expression which defines a threshold
  • Event – Occurrence of something that deserves attention
  • Action – Predefined way of reacting to an event.

Install and configure Zabbix

Now let’s look at how to install and configure Zabbix 3.0. I’m going to use one Redhat machine for all the three components. That are Zabbix Web, Zabbix Server and Database.

  • Login to your Redhat machine and install required packages.

Note: Zabbix 3.0 require PHP 5.4 later

  • Configure mysql
  • Configure yum repository to install Zabbix
  • Install Zabbix server
  • Configure apache

Open httpd.conf and add a virtual host entry for zabbix

Append following content in the file and save it

  • Configure database for Zabbix

Create a user and database for zabbix.

After creating database restore the default mysql database provided by zabbix

  • Disable SELinux and Start Zabbix Server
  • Start your Zabbix web installer

Web installer can be accessed from your web browser using your machine’s FQDN or Public IP.

WebInstaller

  • Check for pre-requeisites

Check if you meet all the system requirements. If not configure your php.ini.

prerequest

  • Configure DB Connection

Fill your DB details which you created and click on Next Step

DB

  • Zabbix server details

Edit your server details

Server

  • Pre-Installation Summary

This will give you a summary of your configuration. Click on Next Step

summary

  • Install Zabbix

Click on Finish button to install Zabbix server

install

  • Login to Zabbix

Login to Zabbix with following credentials

UserName: Admin

Password: Zabbix

login

You will see your Zabbix home screen now

HomeScreen

Get your new hires billable within 1-60 days. Experience our Capability Development Framework today.

  • Cloud Training
  • Customized Training
  • Experiential Learning
Read More

About CloudThat

CloudThat is also the official AWS (Amazon Web Services) Advanced Consulting Partner and Training partner and Microsoft gold partner, helping people develop knowledge of the cloud and help their businesses aim for higher goals using best-in-industry cloud computing practices and expertise. We are on a mission to build a robust cloud computing ecosystem by disseminating knowledge on technological intricacies within the cloud space. Our blogs, webinars, case studies, and white papers enable all the stakeholders in the cloud computing sphere.

Drop a query if you have any questions regarding Zabbix and I will get back to you quickly.

To get started, go through our Consultancy page and Managed Services Package that is CloudThat’s offerings.

WRITTEN BY CloudThat

Share

Comments

  1. Revanth

    Jun 19, 2019

    Reply

    Can we launch Zabbix server in a Private Subnet of AWS VPC and keep it behind AWS Application load balancer and make sure that it is available for hosts which were already being monitored in which zabbix agent is installed. Because I am trying to move Zabbix server from Pub subnet to Pvt and when I do it is not accessible from Application load balancer endpoint for which a CNAME has been created in Route53 and also the moment I started zabbix in private subnet it is giving alert to my mail saying that Zabbix agent is not reachable in all my hosts.

    • semagn

      Aug 24, 2021

      Reply

      how to monitor cloud computing guys

  2. Ramanjulu Bellala

    Jun 7, 2019

    Reply

    Is it possible I am trying to monitor containers with zabbix server which is running on VM if possible can you please give me a steps.
    Thanks in advance

  3. Ramanjulu Bellala

    Jun 7, 2019

    Reply

    Is it possibleI am trying to monitor containers with zabbix server which is running on VM if possible can you please give me a steps.
    Thanks in advance

  4. venkat

    Aug 13, 2018

    Reply

    How to monitor jvm,heap memory and java threads using zabbix. I am new..so i need step wise document.please

  5. vishal

    May 18, 2018

    Reply

    how to monitor zabbix clients which are in diffrent networks or diffrent aws region

  6. bhuvan

    Sep 19, 2017

    Reply

    I am trying to install zabbix in amazon EC2 and trying to monitor from aws.Did anyone is did this way.

  7. Pallavi

    Jul 4, 2017

    Reply

    Very good article for a beginner. Can you please provide the steps for monitoring the openstack instacnes.Thanks in advance.

  8. Swapnil

    Jun 27, 2017

    Reply

    Really helpful, in very descriptive way but client configuration is missing. It would be very helpful if you provide a client configuration also.

    • Sherin Shahanas

      Jul 6, 2017

      Reply

      I will be writing about the client configuration in my next blog. I will keep you posted

  9. Saurabh Gupta

    Jun 16, 2017

    Reply

    Nice Article We also use Zabbix for Cloud Monitoring AWS/Azure .It can be further integrated with Grafana to provide a even more intuitive user interface

  10. Kinjal

    May 16, 2017

    Reply

    Nice article Sherin!! We have different clusters of servers on different networks. Is it possible to consolidate monitoring information across these clusters?

    • Sherin Shahanas

      May 16, 2017

      Reply

      Yes, It’s possible to have centralized monitoring. To achieve this you should update your routing policy in your network to communicate to Zabbix server.
      Also, you can have a VPN connection between the networks, so that you can communicate to Zabbix server using your private IP’s through configured port. Please click here to read how to configure VPN connection between two AWS VPC’s.

      • Kautilya Fadia

        Jul 10, 2017

        Reply

        well in case of monitoring server clusters behind NAT or Firewall you can use zabbix proxy. Also Zabbix agent and zabbix proxy both can be used in Active mode, means agent and proxy send data to server so they run well behind NAT or firewall without any need of VPN. I know this because I’ve been using Zabbix to monitor 600+ server in different clusters.

  11. Yaakov Berkovitch

    Apr 25, 2017

    Reply

    Nice paper – Did you think about using docker to simplify the install of zabbix ?
    By using a zabbix docker image you have a running instance of zabbix in few minutes.

  12. Nikesh

    Mar 12, 2017

    Reply

    Good work Sherin!!
    Is there any way we can monitor JAVA application on Zabbix?

    • Sherin Shahanas

      Mar 14, 2017

      Reply

      You can configure Zabbix java gateway to monitor your java applications.
      This way, a Zabbix server requests the Zabbix Java gateway a specific JMX counter, which remotely, through the JMX API can provide information about the Java application, without the need for any additional software.

  13. Rahul

    Mar 10, 2017

    Reply

    Great work Sherin!!

    Just wanted to check is there any way through which we can monitor the containers in zabbix and does it support ecs monitoring as well??

    • Sherin Shahanas

      Mar 11, 2017

      Reply

      Yes Rahul, It’s possible to monitor containers (Docker/LXC) using Zabbix Docker Module. You need two things to get your container monitoring in place.
      1. Dockbix agent- Zabbix agent with Docker monitoring
      2. Zabbix Template for App container monitoring.

      Amazon ECS is a manged container service. By configuring Dockbix agent in your cluster you should be able to monitor your containers. I will be explaining more about configuration of monitoring in the next part of this blog.

  14. Bhavik

    Mar 10, 2017

    Reply

    Great Work Sherin. Surely saved couple of hours of cloudOps guy.

  15. Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!