Amazon CloudWatch vs Nagios: What are the differences?
Developers describe Amazon CloudWatch as "Monitor AWS resources and custom metrics generated by your applications and services". With Amazon CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health. Programmatically retrieve your monitoring data, view graphs, and set alarms to help you troubleshoot, spot trends, and take automated action based on the state of your cloud environment. On the other hand, Nagios is detailed as "Complete monitoring and alerting for servers, switches, applications, and services". Nagios is a host/service/network monitoring program written in C and released under the GNU General Public License.
Amazon CloudWatch and Nagios are primarily classified as "Cloud Monitoring" and "Monitoring" tools respectively.
Some of the features offered by Amazon CloudWatch are:
- Basic Monitoring for Amazon EC2 instances: ten pre-selected metrics at five-minute frequency, free of charge.
- Detailed Monitoring for Amazon EC2 instances: seven pre-selected metrics at one-minute frequency, for an additional charge.
- Amazon EBS volumes: eight pre-selected metrics at five-minute frequency, free of charge.
On the other hand, Nagios provides the following key features:
- Monitor your entire IT infrastructure
- Spot problems before they occur
- Know immediately when problems arise
"Monitor aws resources" is the primary reason why developers consider Amazon CloudWatch over the competitors, whereas "It just works" was stated as the key factor in picking Nagios.
Nagios is an open source tool with 60 GitHub stars and 36 GitHub forks. Here's a link to Nagios's open source repository on GitHub.
PedidosYa, Sellsuki, and eTobb are some of the popular companies that use Amazon CloudWatch, whereas Nagios is used by Twitch, Vine Labs, and PedidosYa. Amazon CloudWatch has a broader approval, being mentioned in 707 company stacks & 321 developers stacks; compared to Nagios, which is listed in 176 company stacks and 39 developer stacks.
What is Amazon CloudWatch?
What is Nagios?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Amazon CloudWatch?
What are the cons of using Nagios?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Why we spent several years building an open source, large-scale metrics alerting system, M3, built for Prometheus:
By late 2014, all services, infrastructure, and servers at Uber emitted metrics to a Graphite stack that stored them using the Whisper file format in a sharded Carbon cluster. We used Grafana for dashboarding and Nagios for alerting, issuing Graphite threshold checks via source-controlled scripts. While this worked for a while, expanding the Carbon cluster required a manual resharding process and, due to lack of replication, any single node’s disk failure caused permanent loss of its associated metrics. In short, this solution was not able to meet our needs as the company continued to grow.
To ensure the scalability of Uber’s metrics backend, we decided to build out a system that provided fault tolerant metrics ingestion, storage, and querying as a managed platform...
(GitHub : https://github.com/m3db/m3)
We use Nagios to monitor our stack and alert us when problems arise. Nagios allows us to monitor every aspect of each of our servers such as running processes, CPU usage, disk usage, and more. This means that as soon as problems arise, we can detect them and call out an engineer to resolve the issues as soon as possible.
If you have a single server, checking log files is as easy as SSHing to it and viewing logs. When you move to the container world, with many servers, you need a place to aggregate and search through all of your logs. CloudWatch provides us with this and it was trivial to setup.
We use Nagios to monitor customer instances of Bridge and proactively alert us about issues like queue sizes, downed services, errors in logs, etc.
CloudWatch is “on by default” in Amazon. And by just configuring a few alarms you can have a near-zero-cost monitoring service of your own.
- Collect metrics for Grafana.
- Alerts for AutoScale.
- Centralized-logging: rds, ec2, app logs with CloudWatch Log
CloudWatch is used to monitor various aspects of our production infrastructure deployed at Amazon.
We use nagios based OpsView to monitor our server farm and keep everything running smoothly.
CloudWatch is used to monitor our servers on AWS including our EC2, RDS and ElastiCache.