A Singapore Government Agency Website

Monitoring

Author: Naveen Kumar

Establishing a comprehensive monitoring strategy is crucial for ensuring effective system oversight from the outset. This approach is essential because it aligns monitoring efforts with business objectives, defines clear performance metrics through SLAs and KPIs, and identifies critical components and processes that require vigilant observation. By establishing these parameters early, we can not only track technical performance but also reflects the health of core business operations. This proactive stance enables early detection of potential issues, facilitates rapid response to incidents, and provides actionable insights for continuous improvement. Moreover, a well-defined monitoring strategy from the start ensures that all stakeholders have visibility into system health and performance.

Establish Comprehensive Monitoring Coverage

Monitoring is fundamental to ensuring the reliability, performance, and security of systems and applications. Comprehensive monitoring coverage goes beyond merely observing system metrics; it involves setting up monitoring across various layers of infrastructure, applications, and user interactions to detect and address issues proactively. Below are the key aspects to consider:

Start with the Golden Signals of SRE

The Golden Signals of SRE (Site Reliability Engineering) is a foundation for effective monitoring. At a minimum, ensure that the following four signals are monitored:

  • Latency - Measure the time taken to process a request.

  • Traffic - Monitor request rates.

  • Errors - Track the rate of failed requests

  • Saturation - Measure system saturation levels, such as CPU, memory, disk utilisation, to prevent capacity-related failures.

Consider other types of monitoring to be included based on the needs:

  1. Infrastructure Monitoring This includes:
  • Servers - Monitor CPU, memory, disk usage and uptime

  • Storage - Monitor storage availability, latency and throughput

  • Network - Monitor network devices (routers, switches and firewalls) to detect network latency , packet loss and bandwidth issues.

  • Virtualisation Layer - Monitor hypervisor performance, virtual machine states, and resource contention.

  1. Application Performance Monitoring (APM) APM tools provide visibility into the appliation layer. Key metrics to monitor include:
  • Response Times: Track the time taken for the application tor process requests.

  • Error Rates: Monitor the frequency and nature of application errors.

  • Throughput - Monitor the amount of traffic load

  1. Real User Monitoring (RUM) Track real user interactions to assess the actual load times and errors the experience. Use metrics like Apdex score to quantify user satisfaction levels

  2. Synthetic Monitoring Perform synthetic tests to simulate user actions and proactively detect issues before real users are affected.

  3. Database Monitoring Databases are often the backbone of applications, and their performance is critical. Monitor:

  • Query Performance: Track slow-running queries and optimize database performance.

  • Connection Pool: Ensure connection pools are not exhausted, leading to application timeouts.

  • Transaction Times: Monitor the time it takes for database transactions to complete.

  1. Log Monitoring Logs are a valuable source of information for detecting system health and security issues. Ensure:
  • Centralized Log Collection: Collect logs from all components in a centralized logging system, e.g. ABLR.

  • Log Analysis: Use log analysis tools to detect patterns, anomalies, and errors.

  • Alerts: Set up alerts for critical log messages, such as failed login attempts or application crashes.

  1. Security Monitoring Security is a non-negotiable aspect of monitoring. Implement continuous monitoring to detect:
  • Unauthorized Access: Track failed login attempts, privilege escalation, and other suspicious activities.

  • SQL Injection and Other Threats: Monitor for potential exploits and vulnerabilities.

  • Compliance Requirements: Ensure your monitoring includes tracking compliance-related security events.

  1. Application Middleware Monitoring Monitor middleware components such as message brokers, web servers, and API gateways to ensure seamless communication between services. Key metrics include:
  • Response Time: Track response times of middleware components

  • Throughput: Track message volumes passing through middleware.

  • Error Rates: Monitor failed messages, dropped connections, or service disruptions.

  1. CDN Monitoring Content Delivery Networks (CDNs) offload traffic and ensure global scalability. Monitor:
  • CDN Performance: Track response times, cache hit ratios, and geographical latency.

  • Content Delivery Errors: Monitor for failed asset delivery or long propagation times.

  1. Caching Layer Monitoring Caching is vital for optimizing performance. Monitor the caching layer to ensure efficiency:
  • Cache Hit/Miss Ratios: Optimize cache configurations by tracking how often requests are served from the cache.

  • Eviction Rates: Monitor cache evictions to ensure frequently accessed data is not removed too early.

  • Memory Usage: Ensure the cache does not run out of memory, leading to performance degradation.

  1. Message Queue Monitoring Message queues are crucial in decoupling services. Track:
  • Queue Lengths: Avoid backlogs by monitoring queue sizes and processing times.

  • Message Throughput: Measure how many messages are processed per second.

  • Processing Delays: Alert on messages stuck in queues or delayed processing.

  1. Microservices Monitoring Modern applications are often composed of many microservices. Implement:
  • Distributed Tracing: Track request flows across microservices to identify bottlenecks and errors.

  • Service Health: Monitor each service individually to ensure it remains healthy and performs as expected.

  • Inter-Service Communication: Ensure reliable communication between services by tracking errors and latency in API calls.

  1. API Monitoring APIs are often the backbone of modern applications. Key metrics include:
  • API Response Times: Ensure that APIs are responding within expected timeframes.

  • Error Rates: Track API failures, rate limiting, or throttling errors.

  • API Versioning: Monitor traffic patterns across API versions to ensure deprecated versions are phased out without disruptions.

  1. Mobile App Monitoring For mobile applications, monitor:
  • App Crashes and ANRs (Application Not Responding): Track and resolve app crashes to improve reliability.

  • App Launch Times: Ensure fast load times to improve user experience.

  • Network Performance: Monitor how mobile network conditions (4G, 5G) affect app performance.

  1. SLA and Compliance Monitoring Meeting SLAs and regulatory requirements is critical for business continuity:
  • SLA Monitoring: Ensure compliance with SLAs by tracking availability, uptime, and response times.

  • Compliance Monitoring: Ensure compliance with industry regulations by tracking required security and privacy metrics.

  1. Business Metrics Monitoring Technical performance should be linked to business outcomes. Track:
  • Key Performance Indicators (KPIs): Monitor critical business metrics, such as revenue, conversion rates, and customer retention.

  • Custom Dashboards: Create dashboards that correlate business metrics with system performance.

  • Funnel Analytics: Track user flows through conversion funnels to optimize user experience and business outcomes.

Chat with me!
Bot Launcher