Zabbix is a customizable open source tool that adapts well to a wide variety of applications, allowing centralized monitoring of a complete infrastructure. It's easy to build custom plugins for applications that may not be part of the existing community. It's a very visual tool and useful for trending and visualizing your data.
It allows the creation of custom graphs, charts and alerts. Its extensibility means that we can use it as a single monitoring and alerting solution for nearly everything we do.
There is a relatively steep learning curve to Zabbix. Some of the navigation and screens are not initially intuitive and take some getting used to.
As with any open source project, there are some situations where an enhancement requires you to get your hands dirty. The "vendor" (community) may not have it as a priority so you'll take it upon yourself to develop the change you want.
If evaluating Zabbix, give it a thorough try. It can be difficult to wrap your hear around at first, but it's a lightweight solution that, quirks aside, can be a complete one as well.
We use Zabbix to monitor our site infrastructure. This includes load balancers, web servers, databases, storage appliances, etc. We track application and database performance, and monitor throughput.
We use the custom graphing capabilities to produce informative charts. Its ability to show trending data going back for years is helpful for identifying events of interest. For example, we trend a number of response times for hardware and applications and visualize changes to identify the positive or negative impacts.
Zabbix is our centralized monitoring and escalation solution. We create multiple tiers for support personnel, build in escalation paths, and automatically rotate on call resources according to a pre-determined schedule.