Saturday 7 December 2013

Monitoring and alarams: The essential tools

Monitoring and alarms are must have tools on each and every component, including software components, services, hardware. There is very minor difference between monitoring and alarms.  You can not afford any delay in service in ecommerce business, the down time causes direct financial  loss at that time and effects your brand name.
You can follow best practices and have best infrastructure, but still you cannot be 100% be sure of nothing bad can happen. The bad code and peek traffic can create havoc. Bad code consumes infinite memory if the proper cleanup code is not written, or sudden 10x traffic increase crashes your website. So the monitoring gives a way to track the usage and the workflow and take necessary actions before it happen. It is pre-crash notifying system.

  • Monitoring usally present on a portal, or written some where on system files, you go and see whenever it is  required. It is pull based model - see it when required. 
  • Alarms is push based model, where if some thing is going to be wrong, you get the notification. It is push based model and  preemptive alert system. The notification purpose is to take some preemptive action. Well, to issue a alarm you need to have monitoring configured, in some way alarms are notification wrapper on Monitoring. 
  • If you are choosing AWS for hosting, then you can do monitoring from Amazon cloud watch, the in built facility to monitor.
We are listing  different types of alarms and monitoring and its use cases below. 

Host Monitoring

  • It checks host health like free memory and used memory, CPU usage, swap space, number of process running and threads, disk latency.  During the peak time, or on a weekend if the load increases you can see spikes in the hardware usage graphs.
  • You can take prompt action accordingly. The actions including - safe host  restart, host switching, adding a host, taking out the bad host, killing high resource consuming process.
  • In the beginning you can setup a free open source set up. One of the standard tool is Nagios. From Wikipedia: Nagios  is an open source computer system monitoring, network monitoring and infrastructure monitoring software application. Nagios offers monitoring and alerting services for servers, switches, applications, and services. It alerts the users when things go wrong and alerts them a second time when the problem has been resolved. Read more at Wikipedia.
  • You can opt for paid tools on this as well.


Database Monitoring

Similar to the host,  you can  monitor database as well. Read more on this at Wikipedia


Amazon CloudWatch for AWS

Amazon CloudWatch can also monitor metrics that are generated by the applications you run on AWS resources. Using a simple Put API call, you can immediately send and store any metrics that are important to your business performance or your application’s operational performance. You can submit as much or as little custom metric data as you need. All the same Amazon CloudWatch functionality will be available at up to one-minute frequency for your own custom metric data, including statistics, graphs, and alarms. 

Apart from host, databases each and every hardware component you use, you have to monitor it. In the future posts, we will discuss about  functional or axiomatic alarms. 

1 comment:

  1. Superb posts with lots of information!!! This is really the most miraculous blog site dude….
    100K Blueprint an Dasilva