Is Your Monitoring Advanced Enough

Is Your Monitoring Advanced Enough


Is your monitoring advanced enough ?
Complex architectures, pressure to deploy faster, and the need for optimal performance put more pressure on monitoring teams. As a result, more and more people are looking to implement more advanced surveillance techniques. In this article, we use Postgres as an example to differentiate between basic and advanced monitoring.

Monitoring .Basic and Advanced Monitoring


Basic monitoring is red/green monitoring, eg is your system up or down ? Is your system malfunctioning?
Monitoring .Basic monitoring (for example, knowing if your system is down) is a simpler problem than advanced monitoring (for example, are you meeting quality of service guarantees), but it is no less important than advanced monitoring. Basic monitoring should prioritize where the value is actually generated—usually systems and services that are in close proximity to users.
If you have applied basic monitoring but don't know your system yet, you need advanced monitoring techniques.
Unlike basic red/green monitoring, advanced monitoring is primarily responsible for observing the system to see if it is behaving normally. This is an easy question to ask, but difficult to answer. In fact, answering this question is often a long process. It needs to revolve around how you think the system should behave, and see how it actually behaves, getting it closer and closer to the desired way. Once this point is reached, advanced monitoring often automates observation and diagnosis.

Monitoring .Basic vs Advanced Monitoring: Postgres


To better illustrate what advanced monitoring techniques include and how they differ from basic monitoring, let's take Postgres as an example.

Connectivity and Quality of Service
If you use basic monitoring techniques to monitor Postgres, then you typically monitor the following:
•Is Postgres running?
•Running out of system space?
•Can system services be queried?
•Does the simple query return the expected results?
These are easy and simple -- on/off, healthy/unhealthy, true/false -- questions. When you start applying advanced monitoring techniques, things are less simple and more obscure. What you're asking now is how you expect it to behave. For example, Postgres' job is to receive connection requests and answer questions from the application. With advanced monitoring, you can observe, monitor the following:
•What are all the queries that are being run or asked by the application?
•What is the latency profile for the query and has it changed?
•When do we expect to run out of space?
•How is the service saturation?
The first step in advanced monitoring is being able to observe what is happening and compare it to what you expect to happen. For example, you might want a workload running on Postgres to look a certain way, and your monitoring system is telling you that the workload isn't actually what you expect it to be. This isn't necessarily a bad thing, it just means that something might need your attention. If you're only applying basic monitoring and just checking for workload connections open/closed, this may not be enough to diagnose the problem. Basic monitoring in Postgres is about functionality, while advanced monitoring is about quality of service, performance, and behavior.

Comprehensive and real-time analytics
Basic monitoring is often a comprehensive analysis. However, relying on comprehensive work alone does not provide real, accurate insights.
Advanced monitoring sometimes includes comprehensive analysis, but it tends to be about observing the behavior of the system in real-time—meaning you're actually observing real events happening in the system and measuring them. For example, when a user logs into an application, multiple queries may be run. To ensure performance requirements are met, engineers using advanced monitoring will observe the following measurements:
•How long does each query take?
•What is the size of the result set?
•Is there a query error?
While synthetic analysis has value, state-of-the-art monitoring relies on observations of actual work to guide analysis and decision-making.

Instantaneous observation and historical analysis
While it may be helpful to know if there is disk space remaining on Postgres, it is more valuable to have historical measurements of disk space usage. This gives you insights such as how fast disk space is being consumed.
For example, with Postgres concurrent connections, one of the classic problems is knowing if you have enough connections. With basic monitoring, you can't answer exactly. However, when you apply advanced monitoring, you can log how many concurrent users you have every few seconds over time, giving you a better understanding of space shortages and making dynamic adjustments in real-time as needed.
With this historical data, you can identify trends and understand system behavior so you can accurately plan capacity:
•Are your user connections approaching the limit?
•Is your number of user connections steadily increasing?
If you had 100 users two weeks ago , 110 last week , and 120 this week , next week could be even bigger. Historical data allows you to understand these trends to accurately plan future capacity.

The payoff of applying advanced monitoring
Gain amazing insights about your system
Some of the biggest benefits of applying advanced monitoring don't come from actually having advanced monitoring, but from getting you into the advanced monitoring journey.
Engineers have expectations about how the system should work, but they are often not accurate. It's not that the expectations are bad, instead, you might assume that someone did something in the system or that something is connected in some way, but it turns out that's not the case. Comparing your expectations to a set of measurements is often eye-opening. You learn something about your system, or you learn how destructive it is, both of which are valuable learnings. In fact, learning something new about a system is often more valuable than finding the broken parts.

Improve efficiency and speed up repairs
Applying advanced monitoring techniques can often help you diagnose inefficiencies in your system, whether it's a slow page loading inefficiency, or a logistical inefficiency, for example. Whatever it is, you'll gain insight into your system, understand the things in your system that challenge your expectations, and notice problems you've never encountered before. You can also fix problems in a timely manner, or even prevent them from happening in the first place.

Have the confidence to understand your system

The more complex the system, the more difficult it is to solve the problem. Today's IT environments are complex and have so many system components that when a system fails, the failure can occur elsewhere. Advanced monitoring gives engineers the confidence to understand the complex systems they operate. This is useful for troubleshooting, capacity planning, and failure prediction. If you have a solid understanding of how the system behaves, you can predict where or when the next failure will occur.

Monitoring.If you don't have proper monitoring, you're spending all your time fighting fires, which ends up exhausting your staff and taking you off the product roadmap. Advanced monitoring won't eliminate all firefighting efforts, but your problems will become less urgent and you'll have more confidence in addressing them.

Monitoring.Surveillance is a journey


Some organizations have realized the benefits they could reap if they implemented more advanced monitoring techniques, but many have not changed their processes and tools. The key is to remember that it doesn't have to happen overnight. Moving to more advanced monitoring is a journey, and you can set the pace. When you start that journey, you'll have immediate and unexpected benefits.

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00