5 Replies Latest reply on Aug 9, 2016 12:24 PM by jbiggley

    Dynamic Baseline Thresholds, where art thou?

    jbiggley

      I've been digging through the Orion 2015 DB schema to try and find the values presented when using dynamic baseline thresholds and I can't seem to find them.  It seems odd that there isn't a table for them somewhere, or at least one that I can readily find, as the values are used in a number of our alerts, etc. 

       

      Any help?  Does anyone know the SQL tables where the node and interface values for ${USE_BASELINE_WARNING} and ${USE_BASELINE_CRITICAL} can be found?

        • Re: Dynamic Baseline Thresholds, where art thou?
          Tony Vispetto

          I believe it is located in the APM_Threshold table. Below is a SQL query I use to find columns in my DB, change '%software%' to whatever value you believe the column name may be.

           

          SELECT t.name AS table_name,

          SCHEMA_NAME(schema_id) AS schema_name,

          1. c.name AS column_name

          FROM sys.tables AS t

          INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID

          WHERE c.name LIKE '%software%'

          ORDER BY schema_name, table_name;

          1 of 1 people found this helpful
            • Re: Dynamic Baseline Thresholds, where art thou?
              jbiggley

              First -- wicked query!  I'm going to use that all the time now.

               

              Unfortunately, I don't think that the APM tables are what I'm looking for in this case.  Granted, the APM tables *do* have a place to store the dynamic warning and critical thresholds, but that is for applications.  There is a Thresholds table, but it doesn't hold the calculated values, only the assigned values. For example, these are two entries in our Thresholds table.  Note that one of the nodes has the dynamic thresholds enabled while the other does not.

               

              There are a couple of tables related to thresholds (Thresholds, ThresholdLevelSettings and ThresholdNames) but none of them seem to hold the key to 'What is the current value of the dynamic baseline warning and critical thresholds for metric [X]?"

               

              IdInstanceIdThresholdTypeThresholdNameIdThresholdOperatorWarningCriticalWarningFormulaCriticalFormulaBaselineFromBaselineToBaselineAppliedBaselineApplyError
              211109095NULLNULLNULLNULLNULLNULL
              1922101623${USE_BASELINE_WARNING}${USE_BASELINE_CRITICAL}2015-11-22 05:00:52.8832015-11-30 03:56:04.0072015-11-30 04:00:13.420NULL

               

              There is a view called NodesThresholds which I thought might do it too -- but it was more of the same.  It lists the values of ${USE_BASELINE_WARNING} and ${USE_BASELINE_CRITICAL} but only if the use of those dynamic baselines are enabled for that metric.

               

              I am beginning to think that those values are calculated when you go to the dialogue to override them on the node/interface/app etc. and the the calculated values are only stored in the DB once they are enabled, otherwise they are the global values.  Of course, that means that there is likely a stored procedure somewhere that calculates those values....

               

              <starts digging>

            • Re: Dynamic Baseline Thresholds, where art thou?
              jbiggley

              I think I found it vispetto -- or at least the start of it.

               

              The stored procedure for the CPU statistics is called dbm_CPULoad_DetailToStatistics. My SQL kung-fu is weak, but I'll take a peak at the query and see if I can extrapolate it into a report of some type.  I'd love to be able to hand teams a report showing what the dynamic thresholds WOULD be if they chose to enable them.