We're here! The third and final article in our series discussing server monitoring tools. If you're just joining us, you can check out Part I and Part II. Today we're focusing on cloud monitoring solutions, so let's get into it.
Probably the most popular and highly recommended cloud monitoring system is New Relic. It was first designed to support and monitor web apps, specifically ones written in Java, Ruby, Python, PHP, Golang, Node.JS, and .NET. Today, however, it has a full set of support features for mobile apps and server infrastructure.
New Relic allows you to monitor and measure system productivity, both server and clients, report in detail on app functionality, error tracking, database request tracking, visitor tracking and analysis, etc. Its free option stores monitoring data for up to 24 hours requiring a fee to access data older than that. Compared to other monitoring systems like Zabbix or Nagios, New Relic is geared a bit more toward developers rather than sys admins. But due to a huge amount of plugins, you can vastly expand the scope of its monitoring capabilities as well as even write your own!
Datadog is another excellent toolkit for fast and reliable information gathering for key productivity metrics of your apps. Arguably has a fairer pricing policy than New Relic without sacrificing any functionality. It does require a client to be installed to gather the information it needs, and it can be integrated with other services like AWS and GitHub.
If your cloud infrastructure is Amazon Web Services based, then CloudWatch is a natural tool to gravitate to. It allows you to collect data, track productivity metrics, analyze file journals, setup custom notifications, and automatic responses to changes in resource usage. You can also use it for base level monitoring of EC2 and RDS DB instances, DynamoDB tables, as well as usage metrics and logs for apps and services, within its free model. However, more detailed tracking and monitoring requires a subscription. The metrics it gathers can be organized into graphs, too, which is always useful. CloudWatch's most interesting feature by far is its ability to dynamically allocate system resources based on performance requirements.
Finally, we got Pingdom and HostTracker. Both are very similar in their functionality, which is primarily concerned with monitoring site accessibility and speed of content delivery. Pingdom can track uptime on ICMP and HTTP/HTTPS based sites, and evaluates their server to client response time. This can be done completely remotely; however, expanded monitoring - specifically metric logging - requires installing an agent. You can also integrate both of these services with other systems such as Ansible and Chef, as well as use a whole series of plugins for Apache, Nginx, MySQL and others. HostTracker can check site availability from over 140 locations through HTTP, ICMP, SMTP, SNMP, and TCP.
Pingdom and HostTracker can be configured to sent notifications through email, SMS, or through your favorite com apps like Skype, Hangouts, Viber, PagerDuty, Hipchat or Slack, and there are dedicated apps available for Android and iOS as well.
That actually wraps it up for this three parter. Hope it's been helpful. If you have any questions, get in touch with us through Twitter and Facebook, and follow us there to keep up with product updates and new articles!
Until next time!