I provide a cloud service (SaaS) on an Ubuntu machine and will be faced with service level agreements (SLAs) soon. I.e., we'll have to see what service level we can provide (probably on daily or weekly base), and then have a reliable recording of availability to prove the service level in a specific time frame.
For now, it will be sufficient to record the availability directly on the server that also provides the service. Yet, I failed to find a solution that will record availability of the service and "return" an availability index per day, month, and year.
The task (as I imagined it so far) is quite simple: Request a HTTP/S resource every (e.g.) 20 seconds, check for a keyword in the content, create a logfile entry, and (optionally) compute the availability percentage from it and store this to a table. Ideally, it would also be possible to define a core-time (e.g. 9 am to 5 pm) and compute separate percentages for this time.
Technically, it should not be a difference, if such a software runs on the service server or on a monitoring server (of course, it makes a difference regarding the accuracy of downtime recordings).
- I already use monit for server monitoring, but the logfiles seems inappropriate to compute availability percentages from it.
- I also considered a simple script the just writes the logfile, but I assume that there are at least some software packages that will do the job much better.
Thanks for any ideas. And please let me know, if I am completely wrong. SLA is new territory for me and I am not beyond the web introductions on this, yet.