I am looking for a monitoring/alerting tool/system which can support very arbitrary data source and logic.
(following is a made up example to more easily demonstrate my needs)
I have a database where I can find out the query execution times for my clients(which are individual companies). The query times are expected to vary greatly between clients, because of the data of each company. I want to have an alert when the query time for a client is ?% over some median value from the past, and where I am comparing Monday's data against previous Mondays' data(I am being difficult for demonstration purpose).
I want to avoid defining a separate alert for each company client.
I want to avoid defining a separate alert for each kind of query I want to monitor.
I want to avoid having each source pre-push data to one central place.
I would like to monitor some other things that has nothing to do with databases, and want to apply some entirely different logic for my alerts - e.g. some REST api call to some other system, or some ELK or time series data, or some hardware monitoring data.
I am contemplating a custom solution, but want to see if there is already a solution out there that can meet some or more of my needs. I have seen/used some monitoring solutions out there such as Nagios, though not an expert on those. Will appreciate any pointers or recommendation.