A small approach to Synthetic Monitoring

Most of us who work in IT understand the concept of basic monitoring. It is not that it is an irrelevant concept, but rather, it is essential for any infrastructure, either manual, by reading logs and checking machines and services; semi-automated, using custom-made scripts or, the safest and most recommended, using a specific tool such as Pandora FMS to centralize your monitoring. But what is synthetic monitoring? We will see that throughout this article.

Basic monitoring provides you with full visibility on your entire infrastructure, the status of the machines or the network and even the status of certain applications and services. That gives you a large-scale health map of the environment and you may quickly and accurately identify problems within your applications.

So far it seems that we have everything under control and that things is going smoothly, but who has not experienced that, despite having all of your indicators in green, you find users opening tickets in support, or worse, giving up on a transaction because it is slow, troublesome, or it is simply impossible to move forward. In these cases, it is not always so obvious where the problem is and how to deal with it, since the user’s perspective, unfortunately, is not always a true reflection of the state of our infrastructure, and having customers who cannot complete their transactions, in most cases means losing money. No company likes to lose money, well I think no one in general, but this is a personal opinion of course.

So, what can we do? How can we deal with this kind of situation? Do we sit and wait for users to give us feedback to take a look and solve the problem? Do we hire someone to check the app constantly 24/7? What other choice do we have?

To begin with, waiting for the user to give you feedback is not usually a good idea, they are not controlled environments so the failure variables are very complex to obtain objectively, not to mention that you would be working in a reactive way and not proactive, so in many cases you may pinpoint the problem too late.

Second option, do we hire someone to look at the web every day 24 hours to see if something goes wrong? That could be possible, if we had just one application and a couple of use cases. You could consider this alternative, however, honestly it is not too fun a job and it is very difficult to scale when you start having more applications or more use cases, so it starts becoming more and more complex and more expensive and inefficient. That without taking into account human errors, which for some things we are wonderful, but for others not so much…

So, what other alternative do we have? Well, here we are talking about IT, the alternative to repetitive tasks is always the same, developing automations. We can automate these tests, use custom-made scripts and a user transaction simulation engine such as Selenium, to take care of these transactions for us. It’s a great idea! Now we just need someone to start developing it and designate a resource to see the status of the completed transactions and notify the corresponding person or team… Wait a minute… this problem is very similar to the one described at the beginning of this article with basic monitoring. Where, if I remember correctly, we concluded that using a dedicated tool was the most reliable, efficient and scalable solution. That would be perfect then, to have a similar solution for the case of synthetic user transactions and be able to perform synthetic monitoring. Well, here I go, I have good news, not only is it possible, but you can use exactly the same tool with which you do your standard monitoring. That’s right, Pandora FMS! This will allow the information obtained from the synthetic transactions to be correlated with that of the rest of the monitoring, enabling you to have all metrics in a single central point where to identify possible problems efficiently.

Pandora FMS offers you, in addition to basic monitoring, a series of advanced modules, among which you may find WUX (Web User Experience) and UX (User Experience), that will allow you to carry out synthetic monitoring of different types.

To begin with, with WUX you may record synthetic web transactions with the browser itself using the Selenium IDE extension and export the recording to be executed by Pandora FMS WUX server, allowing any web transaction that may be critical for your business to be monitored 24/7. Not only is it possible to record and reproduce transactions, it also allows us to select the web browser that we want to use for the execution of the transaction, divide the transaction into stages to identify possible different causes or measure the time that each part of our application takes separately, and even take a screenshot if the transaction were to fail, to know exactly what the user would see in the same circumstances.

Not only this, but by behaving as standard Pandora FMS modules it is possible to exploit this information in the same way as we do with the rest of the monitoring: use the powerful alert system, see response time graphs, generate reports or even have Dashboards with the browser display on a permanent screen, to see how our synthetic transactions are executed.

Selenium IDE

Monitorización-Sintética-Transaccional

WUX Agent view.

Monitorización-Sintética-Transaccional

Transaction Failed with WUX screenshots.

Monitorización-Sintética-Transaccional

View of dashboards with browsers and WUX status graphs.

Monitorización-Sintética-Transaccional

In a similar way to WUX, there is the Pandora FMS UX tool that allows you to make recordings, but this time of synthetic transactions in Windows desktop applications, because, at least today, not all applications are web applications.

Pandora FMS UX will allow you to reproduce these synthetic desktop transactions and will provide you as metrics, if the transaction was successfully completed, the time it took to execute them and, in case of failure, a screenshot of the application right at the moment it failed, of course, as with WUX, it is possible to divide your synthetic transaction into stages to be able to segment the transaction and obtain separate results for each stage as well as a global one.

UX Agent View.

Monitorización-Sintética-Transaccional

Transaction Failed with WUX screenshots.

Monitorización-Sintética-Transaccional

If besides synthetic monitoring you are interested in finding out in more detail how synthetic transactions are configured and executed with Pandora FMS, do not hesitate to visit our YouTube channel, where you may find different contents such as tutorials, workshops and lots of other resources devoted to this and many other topics related to monitoring.

Shares