Hi,
Background: For application monitoring I have various monitors that pings several component periodically that makes up a complete application/system. Each of these individual ping in inserted into elasticsearch with information if a particular run of monitor resulted in SUCCESS or FAIL alongside other details.
So let's say if I have 3 monitors MON1, MON2, MON3 executing every 5 minutes (all these monitors must result is SUCCESS for system to be 100% up) and result in following data.
timestamp | monitor | result |
---|---|---|
t1 | MON1 | SUCCESS |
t2 | MON2 | FAIL |
t3 | MON1 | SUCCESS |
t4 | MON3 | SUCCESS |
t5 | MON2 | FAIL |
t5 | MON1 | SUCCESS |
t6 | MON2 | SUCCESS |
What I am able to do so far is using TSVB visualization is to calculate the percentage of uptime grouped by monitor which gives me 3 percentage(in the given example).
My need is to then multiply these 3 individual percentages (not average) to have one number as the overall uptime of the system. So if a time range is chosen from t2 to t5 then over all uptime should be 0%.
Any help is much appreciated!