As the dominant cloud vendor by market share, AWS—in efforts to rein back control of its public cloud ecosystem—has expanded its plethora of built-in console offerings to go head-to-head with leading 3rd party-developed tools. For example, Amazon Inspector now enables native automated security assessments while AWS CodePipeline offers continuous delivery and release automation services, all from within AWS. And for keeping a keen eye on EC2 instances and application, there's Amazon CloudWatch for native monitoring of AWS cloud resources. Let's see how it stacks up against Nagios, the leading open source infrastructure monitoring platform.
There's certainly no shortage of infrastructure monitoring tools these days, especially when it comes to watching over cloud-based deployments. That said, few open source enterprise monitoring platforms are as ubiquitous and well-respected as Nagios. Various forks exist for the open source project; for the sake of this comparison, we'll be focusing on Nagios Core—the foundational monitoring/alerting engine upon which thousands of Nagios projects are built, and Nagios XI, the commercial offering built on Core.
CloudWatch is AWS' native component for real-time monitoring of AWS cloud resources: EC2 instances, EBS volumes, Elastic Load Balancers, RDS instances, and more. As a native AWS offering, the service is directly accessible from within the AWS management console.
The service dashboard automatically generate graphs and charts representing cloud infrastructures metrics like read/write bandwidth, throughput, latency, CPU utilization, and request counts, among others.
CloudWatch alarms can be set up to alert administrators via Amazon Simple Notification Service (SNS) once certain thresholds are surpassed or changes in state are detected. Different types of actions can be configured per alarm type—for example, to invoke auto-scaling policies for scaling up/down AWS resources based on server load.
Nagios began as NetSaint—a rudimentary MS-DOS application for pinging Novell Netware servers and relaying machine statuses via numeric pages, with extended functionality provided by external third-party applications. Now referred to as Nagios Core, the platform has since become the preeminent platform for IT infrastructure monitoring. Nagios XI encompasses and augments Core with web-based dashboards, configuration/customization, wizards, and reporting for streamlined enterprise use.
Side-by-Side Scoring: Amazon CloudWatch vs. Nagios
1. Capability Set
Both CloudWatch and Nagios are competent platforms for monitoring AWS cloud-based deployments. For AWS-specific capabilities such as autoscaling and setting up alarms for EC2 instances, Elastic Load Balancers, and Amazon RDS database instances, CloudWatch unsurprisingly excels over Nagios. But when it comes watching multi-cloud deployments and integrating into custom monitoring frameworks, Nagios reigns supreme. Recall that since its inception, the open source platform was designed for interoperability with 3rd party tools. In contrast, CloudWatch alarm notifications are limited to Amazon SNS emails, with no native ability to route messages to popular solutions like Slack or PagerDuty.
2. Ease of Use
Nagios is a powerful monitoring platform—but with this power comes a steep learning curve. Shortcomings in usability and sophistication are addressed with Nagios XI, the enterprise offering built on top of Nagios Core. However, XI's streamlined interface and visual management console come at a hefty enterprise price. In contrast, Amazon CloudWatch's centralized monitoring service is easy to set up and manage, albeit limited in its capabilities.
3. Community Support
As the longstanding leader in open source infrastructure monitoring, Nagios has a built up a sizable following of community supporters over the years, with a myriad of online support resources to boot. When it comes to CloudWatch, however, community support resources are limited.
4. Release Rate
Since its public beta release back in 2009, CloudWatch has seen a relatively limited amount of releases over the years. In contrast, both Nagios Core and Nagios XI undergo regular monthly releases and have evolved significantly since their initial releases.
5. Pricing and Support
A monitoring system won't troubleshoot a configuration error. A configuration test script will.
Nagios Core is a free, open source offering—but for the enterprise features and capabilities that come with XI, be prepared to shell out a pretty penny. On the low end, pricing starts at $1,995 and tops out at $6,495 (enterprise edition) for unlimited nodes.
True to AWS' metered pricing model, CloudWatch can be a bit hard to price—albeit, monitoring for most organizations are clearly more cost-effective than Nagios XI. For example, each dashboard costs $3.00/month and detailed monitoring for EC2 instances costs $3.50 per instance/month.
6. API and Extensibility
As a web service, CloudWatch offers a fully-realized REST API as well as SDKs for building custom applications with popular languages such as PHP, Java, Python, .NET, and Ruby, among others. Similarly, both Nagios Core and XI feature RESTful APIs for custom integrations and extending the offerings' capabilities to perform additional tasks.
7. 3rd Party Integrations
Again, Nagios Core was designed to be integrated with 3rd party software since its inception—the website features a slew of plugins for extending the platform's features, from netflow and bandwidth analysis to Nessus scan checks and Unicenter Service Desk ticket monitoring. CloudWatch can be extended/integrated with 3rd party offerings using its REST API and SDK, but doesn't offer any out of the gate.
8. Companies that Use It
Both monitoring platforms are used extensively by leading enterprises and organizations; as a native web service of AWS, CloudWatch garners many users from the leading public cloud vendor's vast customer base. Some of Nagios' open source Core offering and enterprise XI marquee customers include Comcast, DHL, Sony, Siemens, Yahoo, and Toshiba.
9. Learning Curve
As mentioned previously, Nagios' main drawback is its notoriously steep learning curve—even with the streamlined enterprise offering Nagios XI, the platform can be daunting for less technically-inclined users. CloudWatch is not as complicated an offering as Nagios and subsequently is less of a challenge to master for non-techies.
10. Security rating
Scoreboard and Summary
Amazon CloudWatch—albeit rudimentary—is a competent monitoring solution for AWS-based cloud infrastructures. For monitoring multi cloud deployments, advanced metrics and reporting, and a host of other enterprise features, Nagios XI is the better option. However, the two are commonly used in tandem—for organizations deploying into AWS' public cloud, CloudWatch can be used as an easy starting point for monitoring; XI's CloudWatch plugin can then configured to pull in metrics for a consolidated view.