8 years ago
Complex Datasources
Is there any possibility of creating complex datasources in the future? I would imagine it being similar to complex datapoints from the user perspective and could be even more useful.
Is there any possibility of creating complex datasources in the future? I would imagine it being similar to complex datapoints from the user perspective and could be even more useful.
Hi Drew -
LogicMonitor supports what we call "scripted" datasources, which means you can make a datasource as complex as you want. For details, see:
I am familiar with this method but this doesn't easily accomplish what I'm talking about. And not every customer is proficient in scripting, I'm sure.
The idea is to allow what already exists as independent datasources to be combined into a dependent metric without any redundancy of data collection. The uses for this are varied. CPU/memory/volume stats for nodes in a working cluster could be averaged into an overall cluster monitor. A datasource indicating a critical job is filling a message queue combined with an alert that a consumer service is not running could be of higher criticality than either of the 2 pieces of data alone.
Adding to this (since it was recently referenced and I am in a similar situation). There are several areas where improvements could be massively leveraged related to this:
* allow easy introspection within scripting -- currently, I could get information about other instances from other LogicModules, but I have to use the REST API, and it is from scratch in each case. I am trying to put together an eventsource that reacts to an alarm in a service -- this is basically not possible without the REST API, and that is a lot of code to deal with each time.
* allow library management for code so we don't have to cut and paste virtually identical code into umpteen places. you might say, build your own libraries and push them out, but there is no real facility for file distribution across collectors in LM.
Imagine how much better LMConfig modules could be written and maintained if libraries existed in the framework. As it stands, with each weighing in at 1000+ lines (most of which is duplicated), I would not dream of editing them myself. If they were done more like Oxidized, that would be a very different story. With library support, I could even deal with the pain of introspection since then at least the REST API portion can be maintained only once.