How to setup end-to-end monitoring for your web applications

September 4, 2016

Keeping your web application running smoothly is not always a straightforward task. For each product that I maintain, I typically use a combination of several different monitoring services to give me alerts and insights into the company.

Here are the different monitoring services I utilize to help me keep my web application run smoothly:

HTTP Monitoring

pingdom-website-monitoring-made-easy-20161014-214203

This is the most basic type of monitoring. All you need to do is to provide the service with your website URL, set the monitoring interval (how often the service should check the website), and you’re good to go. The service will check your website periodically, at the previously set interval and you’ll get alerted when your website is inaccessible/down.

Keyword Monitoring

This is a very important feature of HTTP monitoring. With Keyword monitoring, the service will also check the website to see if a predefined keyword is present. If the keyword is NOT present, even if the website is accessible, you will get alerted.

Example: PingdomHost-Tracker, and UptimeRobot

System Monitoring

cloud-monitoring-as-a-service-datadog-20161014-214252

This service monitors the servers’ disk space, memory (RAM), CPU usage, disk usage, and other system performance metrics. This is done to ensure that the servers running your web applications are performing optimally.

Example: Nagios and Datadog

Application Performance Monitoring (APM)

application-performance-management-monitoring-new-relic-20161014-214335

This service monitors how each section of your application performs. This is very useful to find out which part of your application is causing your application to run slowly.

Example: NewRelic and Dynatrace

Database Monitoring

vividcortex-20161014-214506

This service monitors your database servers for abnormal activities and areas that performs poorly (slow).

Example: VividCortex

API Monitoring

api-monitoring-and-testing-%c2%b7-runscope-api-testing-monitoring-20161014-214620

If your web application has an REST API server, as many do, API monitoring is a smart way of monitoring the health status of your API server. In addiiton to checking the availability of the API server, API monitoring services also validates the response the API server gives. The difference between API monitoring services and HTTP keyword monitoring is API monitoring services have the ability to understand (parse) the response generated by your API server (advanced checking) instead of just performing basic text/keyword-matching (basic).

Example: RunScope

Synthetic Monitoring

Synthetic monitoring monitors your website by simulating real user’s behavior on the website. The monitoring service simulates the real user’s behavior by performing a series of actions that a typical user performs while browsing your website. For example: registering for an account, logging in, editing profile, changing password, and logging out.

Example: AlertBot

Happy monitoring!

Author
Ryan Harijanto

Head of Engineering. Former Sr. Engineer @Netflix , @HotelTonight , @Shutterstock. Previously a Senior Systems Engineer at Netflix, currently technology advisor and board member for emerging companies. Diverse technological knowledge and understanding of various industries.

Leave a Reply

Your email address will not be published. Required fields are marked *