How to monitor the application availability without using Synthetic.
Synthetic gives availability for a specific scenario or URL.
Thanks and good day.
IMO you will need first to decide what is your availability KPI and what are the trasholds for it.
According to the decision of the KPI you will be able to utilize one of the OOTB metrics dynatrace already collects or to set a calculate one.
By KPI my intention was business wise, i.e. what is availability from business guys perspective.
Our experience shows that the answers to this question are not always the same, some business wants to check that login is working with out errors while others wants to get alert if no purchases are made in 10 minutes time frame from 9 to 17 , others wants to be sure that all response time of load user actions are in less then 2 sec and with out any server side errors and so on ...
To make the story short what we have found out is that availability metric from synthetic, for us at least, is good answer for only some availability KPIs and the answer for your question is not technical one but applicative one.
Now the question is back to you to answer, what is availability in your case, when do you say that your application is not available any more?, with applicative answer for this question you will be able to set the technical alert with no time.
As @Yosi_Neuman mentions, the definition of availability is where it should start, and as almost always is the case, it depends 😁
If you are trying to factor in bad things that might happen before your servers, than synthetic is almost the only way to go. @Babar_Qayyum mentions though "Unexpected low traffic", as it also helps to track these type of issues, but you will be blind on the causes.
If there are no defined ways to measure availability, you can start with some simple ones. These are some of the ones we use with our clients, and that @Yosi_Neuman has not mentioned already:
Now, when these are asked by Management/BusinessAreas, they normally just ask for availability. You have than the chance to explain that availability is a much broader topic today... And in can be a never ending discussion, as you have to define if an availability event occurs when:
Almost all of these issues can be tracked easily by Dynatrace, but you have to give Management a perspective that nowadays measuring availability is an engineering task, and not a particularly easy one. Take synthetics, for instance: how frequently will you measure? One hour? One minute? One second? In the latter case, what is availability if that synthetic measurement worked, and at the same millisecond, another user measurement failed?