Build It In: Instrumentation and Monitoring of a System
Written by: Alex
Most systems (especially web applications) are built with very little thought about the post implementation life cycle of the system. One of the key components to staying ahead of the growth curve of a system (and quickly diagnosing problems) is a monitoring system that includes key system metrics.
Ping monitoring a server to determine if it’s alive is helpful to identify critical failures but does very little to tell you in advance when you’re going to run out of disk space or need to upgrade the server. The monitoring system should include key server level parameters (hard drive free space, memory used, CPU usage, network interface bandwidth, disk activity) as well as application specific items (numbers of users, page views, transaction counts, queue lengths, etc.) Having this information available for trending analysis makes it very managable to plan for system upgrades well in advance of the system going BOOM.
Identifying those key system metrics up front and building them into the application initially will be much more cost effective than try to retrofit them into an existing infrastructure. Putting in place a simple web based dashboard that includes graphs over time of those metrics allows any member of the technical or operational team to identify potential pitfalls.
Tags: scalability, web2.0












