Forum Discussion

mnagel's avatar
Icon for Professor rankProfessor
6 years ago

tokens for datapoint values within same datasource instance

The alert "template" system has no way to reference another instance datapoint value currently.  Why would this be good?  If you have a datapoint that alerts for status, you want to insert the value of the thing you care about, not the status value.  I see the contortions LM datasource developers have gone through to workaround this (e.g., Cisco Nexus Temperature).  Please make it possible to reference datapoints at least within the same datasource within alert templates.  There are many other issues with alerts, but I will stop here for now :).

1 Reply

Replies have been turned off for this discussion
  • I just ran into a concrete example of why this missing function is crucial.  Because LM does not support multiple parallel thresholds, it is sometimes necessary to create a virtual datapoint that remaps values to a virtual alert datapoint.  Yet, it is impossible to reference the underlying datapoint in the alert template and the alerting datapoint imparts little useful information other than severity.

    Here is the use case I have right now -- out of the box, LM has no datasource to detect a Catalyst 4K/6K supervisor redundancy failure (and, as it turns out, anything Cisco IOS-like properly uses this MIB, include wireless LAN controllers in SSO mode).  I created one based on a previous plugin we used in Nagios, but unfortunately the various states are not linearly mapped as would be required for the existing threshold mechanism.  As a result, I had to construct this:


    The alerting DP maps "normal" to 0, "error" to 1, and "critical" to 2.  The right thing to include in the alert template is the value of UnitState and PeerUnitState so those could be cross-referenced against the table of possible values, but it is impossible in the current product.

    Please make it a priority to fix this problem.