Zabbix – An open source monitoring Tool

black laptop computer turned on showing computer codes
Reading Time: 3 minutes

Introduction to Zabbix

Zabbix is a enterprise-class open source distributed monitoring tool created by Alexei Vladishev.
It is managed by Zabbix SIA.

It is used for monitors multiple things like network, health of the servers, applications, services, websites, databases, clouds and many more.
We can send alerts by email, slack, and other ways for any event that is happening
This helps in taking a fast action.
It also has database for saving the events for the future use
It also provides graphs, item values and other ways that helps in visualisation the data.
This uses polling or trapping for monitoring events.
All the reports and dashboards can be viewed using the web interface (frontend).

Features of Zabbix

  • It also supports SNMP (both trapping and polling), IPMI, JMX
  • We can also create custom checks using xml or yaml
  • We can also gathering data at custom intervals
  • It can also use server/proxy or agents for data gathering
  • We can also define macro variables which can be used in templates for variable data
  • We can also check for functionality and response time of the web requests
  • We can create custom graphs by combining multiple items into a single view
  • It also provides high-level (business) view of monitored resources
  • The data can also be stored in a database
  • It has built-in maintenance procedure for the monitoring targets
  • We can add monitored devices as hosts
  • We can also apply templates to monitored devices
  • It automatically discover network devices
  • It also has agent auto-registration
  • It can also discover of file systems, network interfaces and SNMP OIDs
  • It can be accessible from anywhere
  • Zabbix API provides programmable interface for mass manipulations, third-party software integration and other purposes
  • It also provides authentication for secure access
  • We can give users limited access
  • It can also be deployed on monitoring targets like network devices, etc
  • can be deployed on both Linux and Windows machines
  • agent is written in C for performance and small memory footprint
  • easily portable
  • remote monitoring can be done using a Zabbix proxy

Architecture

Zabbix Architecture

It consists of multiple components.

Zabbix Server

  • Zabbix Server is a central component to which agents report data
  • it is also a central repository in which all configuration, statistical and operational data are stored.

Frontend (Web Server)

  • Frontend is a web interface which can be accessed from anywhere and from any platform.
  • It mostly runs on the same machine as the one running the Zabbix server.

Database

  • All configuration information and the data gathered by Zabbix is stored in a Zabbix Database.
  • There are two types of databases that can be used MySQL or PostgreSQL.

Proxy

  • Proxy can collect data on behalf of Zabbix server.
  • It is optional for a deployment
  • It may be beneficial for distributing the load of a single Zabbix server.

Agent

  • Zabbix Agent can be deployed on monitoring targets to monitor resources and applications and sent the data to Zabbix server.
  • From Zabbix 4.4, there are two types of agents:
    • Zabbix agent (lightweight, supported on many platforms, written in C)
    • Zabbix agent 2 (extra-flexible, easily extendable with plugins, written in Go).
Zabbix Frontend
Zabbix Frontend

We have many more blogs, please visit https://blog.knoldus.com

References

Written by 

Shivam Gupta is a Software Consultant at Knoldus Software LLP. He has done MCA from Bharati Vidyapeeth Institute of Computer Application and Management, Paschim Vihar. He has a keen interest toward learning new technologies. He has a decent knowledge of Java Language. His practice area is DevOps. When he is not working, you will find him watching anime or with a book.