{"id":452,"date":"2013-12-27T13:21:29","date_gmt":"2013-12-27T20:21:29","guid":{"rendered":"http:\/\/10.43.101.63:24469\/?p=452"},"modified":"2014-12-18T11:57:11","modified_gmt":"2014-12-18T19:57:11","slug":"open-source-project-of-the-month-zabbix","status":"publish","type":"post","link":"https:\/\/aarontc.com\/archive\/2013\/12\/open-source-project-of-the-month-zabbix\/","title":{"rendered":"Open Source Project of the Month: Zabbix"},"content":{"rendered":"

It’s time again for another Project of the Month<\/a>! December is a pretty busy month for most people, with holidays to plan\/shop for, using up that remaining vacation time, and other end-of-year tasks. That’s why it’s particularly nice to leave monitoring your IT infrastructure (or your refrigerator!) to an automated system like Zabbix. One less thing to worry about!<\/p>\n

Zabbix<\/h2>\n

This month we’ll take a look at the Zabbix Enterprise-class Open Source Monitoring System<\/a>. Zabbix has years of history as a successful distributed monitoring system, and can be configured to keep tabs on just about anything. From disk space utilization to CPU load, to the temperature of your refrigerator, Zabbix can monitor it all. Being distributed, Zabbix can scale to monitor as much or as little as you want, even across multiple networks in multiple locations.
\n
\"zabbix-screenshot\"<\/a>
\nZabbix consists of several pieces, which work together to form a full-featured monitoring system:<\/p>\n

Zabbix Server<\/h4>\n

The Zabbix server is the heart of the system. It relies on an external relational database (usually PostgreSQL or MySQL) to store values from monitored items, and keeps an eye on the values to spot any triggers that should be activated. The server is responsible for polling agents and possibly discovering new agents automatically, as defined by the discovery rules. The server may also receive ad-hoc push updates from agents.<\/p>\n

Zabbix Proxy<\/h4>\n

The proxy essentially performs the same functions as the server. Each server or proxy instance can have zero or more other Zabbix servers configured as children, and up to one Zabbix server configured as a parent, to facilitate highly-distributed, hierarchical monitoring. Proxies can be deployed on various LANs to aggregate monitoring data for the whole LAN and relay to a remote NOC, or in countless other configurations to reduce the load on the primary server.<\/p>\n

Zabbix Agent<\/h4>\n

While the Zabbix server can monitor some items natively, such as SNMP targets, ICMP echo requests, and HTTP process flows, most item values are gathered by agent processes running on the systems being monitored. Zabbix provides agents for every platform listed in the Requirements section below. Each agent is fine-tuned to the platform it will run on, and abstracts OS-level support requirements away from the server or proxy processes.<\/p>\n

The agent is lightweight to ensure minimal system disruption, and multithreaded to collect lots of data quickly when necessary.<\/p>\n

Zabbix Web Frontend<\/h4>\n

The Zabbix web frontend is usually run on the same machine as the Zabbix server, but can be run separately if scaling is desired\/required. The web frontend just requires access to the relational database storing Zabbix’s configuration. Most configuration is handled through the web frontend, and it is the de-facto monitoring implementation.<\/p>\n

Third Party Frontends<\/h4>\n

There are numerous third-party frontends to Zabbix – from Android\/iOS apps for your phones and tablets, to plugins which activate warning lights or sirens, depending on the severity of the alarms.<\/p>\n

APIs to interface with Zabbix, with bindings to most scripting languages, are also available. Zabbix can be tailored to almost any set of needs!<\/p>\n

Features\/Benefits<\/h3>\n

(As stated by Zabbix.)<\/p>\n