24 Replies Latest reply on Nov 14, 2019 1:08 PM by mesverrum

    Filter Active Alerts on Dashboard

    wayne318

      Not sure if this is possible, but right now I have Node Alarms on the summary dashboard with Filter Nodes (SQL), filled in to only show the nodes I want. Works great, Dashboard is extremely useful and I'm watching it most of the day.

       

      Soon we are going to a fully redundant network. In theory, Node Alarms won't exist because nothing will go down. BGP Neighbors will be lost and links will go down, but the Node will always be pingable.

       

      We have an alert setup for "Alert me when a neighbor goes down" which works, but shows up on the All Active Alerts screen (we also have email alerts setup for "neighbor down"). Alerts can be searched, acknowledged etc on this page.

       

      If I add "Active Alerts" to the dashboard, it works, but I'm unable to filter or search. Edit only allows changing the title and subtitle.

       

      How can I only see the Active Alerts that I want to see instead of all alerts on the customized dashboard?

       

      I understand I can keep a tab open for active alerts, but would really like to have a one-stop awesome, useful dashboard.

       

      NPM 12.0

       

      Thanks,

      Wayne

        • Re: Filter Active Alerts on Dashboard
          cfizz34

          I too would only like to see certain alerts when on certain pages/views as well.  Such as I don't really care about the vm tools alert on the main dashboard but would like to see them under the virtualization view.

          • Re: Filter Active Alerts on Dashboard
            mesverrum

            I wrote a SWQL resource that does this for me a while ago, tailoring it would require you to be comfortable in SWQL but it can be made to show or not show anything you want.

             

             

            SELECT

            o.AlertConfigurations.Name AS [ALERT NAME]

            ,'/Orion/NetPerfMon/ActiveAlertDetails.aspx?NetObject=AAT:' + ToString(o.AlertObjectID) AS [_LinkFor_ALERT NAME]

            ,CASE

            WHEN o.AlertConfigurations.Severity = 2 THEN '/Orion/images/ActiveAlerts/Critical.png'

            WHEN o.AlertConfigurations.Severity = 3 THEN '/Orion/images/ActiveAlerts/Serious.png'

            WHEN o.AlertConfigurations.Severity = 1 THEN '/Orion/images/ActiveAlerts/Warning.png'

            WHEN o.AlertConfigurations.Severity = 0 THEN '/Orion/images/ActiveAlerts/InformationalAlert.png'

            WHEN o.AlertConfigurations.Severity = 4 THEN '/Orion/images/ActiveAlerts/Notice.png'

            END AS [_iconfor_ALERT NAME]

            ,o.EntityCaption AS [ALERT OBJECT]

            ,o.EntityDetailsURL AS [_LinkFor_ALERT OBJECT]

            ,case

            WHEN o.RelatedNodeCaption=EntityCaption THEN 'Self'

            When o.RelatedNodeCaption!=EntityCaption THEN RelatedNodeCaption

            End as [RELATED NODE]

            ,o.RelatedNodeDetailsURL AS [_LinkFor_RELATED NODE]

            ,ToLocal(o.AlertActive.TriggeredDateTime) AS [ALERT TRIGGER TIME]

            ,'/Orion/images/StatusIcons/Small-' + p.StatusIcon AS [_IconFor_RELATED NODE]

            ,CASE

            when minutediff(o.AlertActive.TriggeredDateTime,GETUTCDATE())>1440 then (tostring(round(minutediff(o.AlertActive.TriggeredDateTime,GETUTCDATE())/1440.0,1)) + ' Days')

            when minutediff(o.AlertActive.TriggeredDateTime,GETUTCDATE())>60 then (tostring(round(minutediff(o.AlertActive.TriggeredDateTime,GETUTCDATE())/60.0,1)) + ' Hours')

            else (tostring(minutediff(o.AlertActive.TriggeredDateTime,GETUTCDATE())) + ' Minutes')

            end as [Time Active]

            ,aa.AcknowledgedBy

            ,ah.Message as [Note]

             

            From Orion.AlertActive aa

            join Orion.AlertObjects o on aa.alertobjectid=o.alertobjectid

            LEFT join Orion.Nodes p on p.nodeid=relatednodeid

            left join orion.alerthistory ah on ah.AlertActiveID=aa.AlertActiveID and ah.EventType in (2,3)

             

            --where (o.AlertConfigurations.Name like '%${SEARCH_STRING}%' or o.RelatedNodeCaption like '%${SEARCH_STRING}%' or o.EntityCaption like '%${SEARCH_STRING}%' or ah.Message like '%${SEARCH_STRING}%')

             

            ORDER by o.AlertActive.TriggeredDateTime DESC

             

            -Marc Netterfield

                Loop1 Systems: SolarWinds Training and Professional Services

            3 of 3 people found this helpful
              • Re: Filter Active Alerts on Dashboard
                caseysteinberg

                This seems pretty complex, I'm not even sure where I'd begin to modify it to fit my needs :/

                  • Re: Filter Active Alerts on Dashboard
                    mesverrum

                    Helps if you know SWQL, but basically if you see an alert that you want to exclude from a view you just change the where condition to

                     

                    where o.AlertConfigurations.Name not like 'Alert I want to hide'

                    and o.AlertConfigurations.Name not like 'second alert I want to hide'

                     

                    You can get a lot more elaborate than that if you are motivated. For example, I typically use this to hide all the VMAN alerts from my app admin dashboards since that is outside their area of interest

                     

                     

                    1 of 1 people found this helpful
                  • Re: Filter Active Alerts on Dashboard
                    cscoengineer

                    Great script marc!! I like to keep things in custom properties, so instead of “and” statements to filter -I decide to use a alert custom property.    Now what ever alert you want in the filtered alerts, just check the noc flag.  I also threw in number of triggers the alert has.

                     

                    What I have seen are two custom properties (NOC1, NOC2).  NOC1 will be critical issues (Node down,Volume full, Memory full). NOC2 will be less critical (High CPU, High Memory, High IOPS, service down, hardware issues, etc).

                     

                    Thanks
                    Amit

                      • Re: Filter Active Alerts on Dashboard
                        mesverrum

                        Good point,  if you are going to be filtering in more than one or two alert's it makes more sense to reference a property.   When I actually use this script I am usually filtering against alerts on certain object types, typically excluding all the orion.vim.xx object types from app team dashboards since they don't normally care to know that vmtools is out of date.

                        • Re: Filter Active Alerts on Dashboard
                          ckillpack@melaleuca.com

                          cscoengineer,

                           

                          Could you post your swql query in filtering alerts by custom properties?

                            • Re: Filter Active Alerts on Dashboard
                              jack.vaughan

                              ckillpack@melaleuca.com here's how I adapted the query to use a custom property:

                               

                              SELECT

                                   o.AlertConfigurations.Name AS [ALERT NAME],

                                   '/Orion/NetPerfMon/ActiveAlertDetails.aspx?NetObject=AAT:' + ToString(o.AlertObjectID) AS [_LinkFor_ALERT NAME],

                                   CASE

                                        WHEN o.AlertConfigurations.Severity = 2 THEN '/Orion/images/ActiveAlerts/Critical.png'

                                        WHEN o.AlertConfigurations.Severity = 3 THEN '/Orion/images/ActiveAlerts/Serious.png'

                                        WHEN o.AlertConfigurations.Severity = 1 THEN '/Orion/images/ActiveAlerts/Warning.png'

                                        WHEN o.AlertConfigurations.Severity = 0 THEN '/Orion/images/ActiveAlerts/InformationalAlert.png'

                                        WHEN o.AlertConfigurations.Severity = 4 THEN '/Orion/images/ActiveAlerts/Notice.png'

                                   END AS [_iconfor_ALERT NAME],

                                   o.EntityCaption AS [ALERT OBJECT],

                                   o.EntityDetailsURL AS [_LinkFor_ALERT OBJECT],

                                   CASE

                                        WHEN o.RelatedNodeCaption = EntityCaption THEN 'Self'

                                        WHEN o.RelatedNodeCaption != EntityCaption THEN RelatedNodeCaption

                                   END AS [RELATED NODE],

                                   o.RelatedNodeDetailsURL AS [_LinkFor_RELATED NODE],

                                   TOLOCAL(o.AlertActive.TriggeredDateTime) AS [ALERT TRIGGER TIME],

                                   '/Orion/images/StatusIcons/Small-' + p.StatusIcon AS [_IconFor_RELATED NODE],

                                   CASE

                                        WHEN MINUTEDIFF(o.AlertActive.TriggeredDateTime,GETUTCDATE()) > 1440

                                             THEN (TOSTRING(ROUND(MINUTEDIFF(o.AlertActive.TriggeredDateTime,GETUTCDATE())/1440.0,1)) + ' Days')

                                        WHEN MINUTEDIFF(o.AlertActive.TriggeredDateTime,GETUTCDATE()) > 60

                                             THEN (TOSTRING(ROUND(MINUTEDIFF(o.AlertActive.TriggeredDateTime,GETUTCDATE())/60.0,1)) + ' Hours')

                                        ELSE (TOSTRING(MINUTEDIFF(o.AlertActive.TriggeredDateTime,GETUTCDATE())) + ' Minutes')

                                   END AS [Time Active],

                                   aa.AcknowledgedBy,

                                   ah.Message as [Note]

                               

                              FROM Orion.AlertActive AS aa

                               

                              JOIN Orion.AlertObjects AS o ON aa.alertobjectid = o.alertobjectid

                              LEFT JOIN Orion.Nodes AS p ON p.nodeid = o.relatednodeid

                              LEFT JOIN Orion.alerthistory AS ah ON ah.AlertActiveID = aa.AlertActiveID AND ah.EventType IN (2,3)

                              LEFT JOIN Orion.AlertConfigurationsCustomProperties AS acp ON o.AlertID = acp.AlertID

                              WHERE acp.CUSTOMPROPERTYNAME = 'Networking'

                                   --AND (

                                        o.AlertConfigurations.Name LIKE '%${SEARCH_STRING}%'

                                        OR o.RelatedNodeCaption LIKE '%${SEARCH_STRING}%'

                                        OR o.EntityCaption LIKE '%${SEARCH_STRING}%'

                                        OR ah.Message LIKE '%${SEARCH_STRING}%')

                              ORDER by o.AlertActive.TriggeredDateTime DESC

                              2 of 2 people found this helpful
                        • Re: Filter Active Alerts on Dashboard
                          omarba

                          I create new ID with limited node filter so automaticly I only sees specific devices. Hope this help.

                          • Re: Filter Active Alerts on Dashboard
                            serena

                            Have you looked at the custom tile widget? It allows you to get a quick summary of status and alerts for a filtered set of entities.

                             

                            • Re: Filter Active Alerts on Dashboard
                              gjp1971

                              My issue is that I had an issue with seeing the note added wen the acknowledgement was made, this led to me delving in to CONCAT and SQL to create a new dashboard for my team. I did not want to lose too much functionality from the main alert page as well.  I also decided to break up the alerts in to separate tables, but removing a simple "WHERE" line can put them all on one.

                              Unacknowledged is at the top.  Only thing I could not figure out was coding an ACK button, so the ling takes you to the "Active Alert Details" Page in a new tab where you can click a real ACK button.

                              Notice the big thing for me was being able to see the ACH Notes on the right column.

                              if anyone knows how to code the ACK button like on the Active Alert Page, I would LOVE to try and add it here.

                               

                              New Alert Dash

                              Note I forgot to change the DESC for the top one to ALL UNACKNOWLEDGED.  It's not just Volumes.  Only acknowledged ones were separated to Nodes, Volumes and Other.

                              Also, make sure when adding the columns from the EDIT tab you set anything with hyperlinks to "Allow HTML Tags" so it shows a link and hover.

                              Hovering over a link does the same thing the Active Alert Page does and clicking a link takes you to the same pages.

                               

                              Hover Over

                              Here are the SQL Scripts I use in the "SELECT DATASOURCE" portion of the Edit and set it to ADVANCED DATABASE QUERY (SQL, SWQL) and set it to SQL..

                               

                              Datasource

                               

                              UNACKNOLWEDGED - For the first table

                              ---------------------------------

                              1. SELECT
                              2. CONVERT(char(10),AlertStatusView.TriggerTimeStamp,121) AS Date,
                              3. CAST(DATEADD(HOUR,-5,AlertStatusView.TriggerTimeStamp) AS time(0)) AS Time,
                              4. DATEADD(HOUR,-5,AlertStatusView.LastUpdate) AS LastUpdate,
                              5. DATEADD(HOUR,-5,AlertStatusView.TriggerTimeStamp) AS TriggerTime,
                              6. CONCAT('<a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a>') as 'Caption',
                              7. CONCAT('<a href="',AlertObjects.EntityDetailsUrl,'">',AlertObjects.EntityCaption,'</a> on <a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a>') as 'AlertMessageUrl',
                              8. CONCAT('<a href="/Orion/NetPerfMon/ActiveAlertDetails.aspx?NetObject=AAT:',AlertStatusView.AlertObjectID,'#" target="_blank">','Acknowledge','</a>') as 'Active Object',
                              9. NodesData.IP_Address,
                              10. AlertObjects.RelatedNodeCaption,
                              11. NodesData.IP_Address,
                              12. AlertStatusView.ObjectName,
                              13. AlertStatusView.AlertMessage,
                              14. AlertStatusView.AcknowledgedBy,
                              15. AlertStatusView.Notes,
                              16. AlertConfigurations.Severity
                              17. ,CASE
                              18. WHEN AlertConfigurations.Severity = 5 THEN 'Notice'
                              19. WHEN AlertConfigurations.Severity = 4 THEN '<font color="Blue">Informational Alert</font>'
                              20. WHEN AlertConfigurations.Severity = 3 THEN 'Serious'
                              21. WHEN AlertConfigurations.Severity = 2 THEN '<font color="Red"><strong>Critical</strong></font>'
                              22. WHEN AlertConfigurations.Severity = 1 THEN '<font color="909500"><strong>Warning</strong></font>'
                              23. END AS [_iconfor_Active Alerts]
                              24. FROM AlertStatusView
                              25. INNER JOIN AlertObjects ON AlertObjects.AlertObjectID = AlertStatusView.AlertObjectID
                              26. INNER JOIN NodesData ON NodesData.NodeID = AlertObjects.RelatedNodeID
                              27. JOIN AlertConfigurations ON AlertConfigurations.AlertRefID = AlertStatusView.AlertDefID
                              28. WHERE Acknowledged = '0

                               

                              ACKNOLWEDGED - For the lower table  (To show ALL just remove [ AND AlertStatusView.ObjectType='Node' ] from Line 37

                              ---------------------------------

                               

                              1. SELECT
                              2. CONVERT(char(10),AlertStatusView.TriggerTimeStamp,121) AS Date,
                              3. CAST(DATEADD(HOUR,-5,AlertStatusView.TriggerTimeStamp) AS time(0)) AS Time,
                              4. DATEADD(HOUR,-5,AlertStatusView.LastUpdate) AS LastUpdate,
                              5. DATEADD(HOUR,-5,AlertStatusView.TriggerTimeStamp) AS TriggerTime,
                              6. CONCAT('<a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a>') as 'Caption',
                              7. CONCAT('<a href="',AlertObjects.EntityDetailsUrl,'">',AlertObjects.EntityCaption,'</a> on <a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a>') as 'AlertMessageUrl',
                              8. CONCAT('<a href="/Orion/NetPerfMon/ActiveAlertDetails.aspx?NetObject=AAT:',AlertStatusView.AlertObjectID,'#" target="_blank">','Acknowledge','</a>') as 'Active Object',
                              9. NodesData.IP_Address,
                              10. AlertConfigurations.Severity,
                              11. AlertObjects.RelatedNodeCaption,
                              12. NodesData.IP_Address,
                              13. AlertStatusView.ObjectName,
                              14. AlertStatusView.AlertMessage,
                              15. AlertStatusView.AcknowledgedBy,
                              16. AlertStatusView.Notes,
                              17. AlertStatusView.ObjectType
                              18. ,CASE
                              19. WHEN AlertConfigurations.Severity = 5 THEN 'Notice'
                              20. WHEN AlertConfigurations.Severity = 4 THEN '<font color="Blue">Informational Alert</font>'
                              21. WHEN AlertConfigurations.Severity = 3 THEN 'Serious'
                              22. WHEN AlertConfigurations.Severity = 2 THEN '<font color="Red"><strong>Critical</strong></font>'
                              23. WHEN AlertConfigurations.Severity = 1 THEN '<font color="909500"><strong>Warning</strong></font>'
                              24. END AS [_iconfor_Active Alerts]
                              25. ,CASE
                              26. WHEN AlertStatusView.ObjectType = 'Volume' THEN
                              27. CONCAT('<a href="',AlertObjects.EntityDetailsUrl,'">',AlertObjects.EntityCaption,'</a> on <a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a>')
                              28. WHEN AlertStatusView.ObjectType = 'Node' THEN
                              29. CONCAT('<a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a> is down')
                              30. ELSE
                              31. CONCAT('<a href="',AlertObjects.EntityDetailsUrl,'">',AlertObjects.EntityCaption,'</a> on <a href="/Orion/View.aspx?NetObject=N:',NodesData.nodeid,'">',NodesData.caption,'</a>')
                              32. END AS [AlertMsgURL]
                              33. FROM AlertStatusView
                              34. INNER JOIN AlertObjects ON AlertObjects.AlertObjectID = AlertStatusView.AlertObjectID
                              35. INNER JOIN NodesData ON NodesData.NodeID = AlertObjects.RelatedNodeID
                              36. JOIN AlertConfigurations ON AlertConfigurations.AlertRefID = AlertStatusView.AlertDefID
                              37. WHERE Acknowledged = '1' AND AlertStatusView.ObjectType='Node'

                               

                              ALL        = Line 37 ::  WHERE Acknowledged = '1'

                              Volumes = AND AlertStatusView.ObjectType='Volume'

                              Other    = AND AlertStatusView.ObjectType != 'Volume' AND AlertStatusView.ObjectType != 'Node'

                               

                              Hopefully this helps.  There are a few things that SolarWinds does not currently have that I had to find a way around.  The other being a dashboard that shows large numbers for issues.

                              IE : each is clickable to take you to the list of items represented under each such as the "2" under Node Status-Down

                              Dashboard

                              1 of 1 people found this helpful
                                • Re: Filter Active Alerts on Dashboard
                                  liammiller

                                  Do you have the query for those resources you created at the bottom of the post the traffic lights, thanks. gjp1971

                                    • Re: Filter Active Alerts on Dashboard
                                      mesverrum

                                      I believe those are based on this post from one of my colleagues

                                      Scoreboard


                                      1 of 1 people found this helpful
                                        • Re: Filter Active Alerts on Dashboard
                                          gjp1971

                                          THERE IT IS!!! Thanks SO MUCH mesverrum !!

                                          When I first saw this a few years ago I was not the admin for SolarWinds and saw it while just looking through Thwack.  Last year I started working on it and all I could remember was the RED / YELLOW / GREEN blocks with the numbers and was not able to remember what the title was.  While the scripting, etc was eventually figured out, there is no way I ever would have thought of it had it not been for my seeing that when your colleague first posted it! 

                                          I want to make sure to give cscoengineer credit for the idea. 

                                        • Re: Filter Active Alerts on Dashboard
                                          gjp1971

                                          I do. Now I will admit, I am not the best SQL query person, but I was able to get these to work, so feel free to modify as needed to your specs or make it more efficient.  I don't have headers on the job that runs on the DB Server, but added them here between ====='s .   A few things to note:

                                          1 : Custom Pollers are used  for COMM ROOM temps, so those near the bottom are looking at those

                                          2 : A "Custom Property" for each of these below on Nodes.

                                          3 : I update that custom property on the main SolarWinds server

                                          4 : I have it show the Custom Property on the map for each by creating a template for each with a RED / YELLOW / GREEN square then use  ${AppDown} for example.

                                           

                                          ============================================================

                                          NODE STATUS

                                          ============================================================

                                           

                                          UPDATE NodesCustomProperties  

                                          SET Count1_Up =

                                          (SELECT COUNT(*) FROM NodesData WHERE Status = '1') 

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties 

                                          SET  Count2_Down =

                                          (SELECT COUNT(*) FROM NodesData WHERE Status = '2') 

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties 

                                          SET  Count3_Warn =

                                          (SELECT COUNT(*) FROM NodesData WHERE Status = '3') 

                                          Where NodeID = 5592;

                                           

                                          ============================================================

                                          APPLICATION STATUS

                                          ============================================================

                                           

                                          UPDATE NodesCustomProperties

                                          SET AppUp =

                                          (SELECT COUNT(*) FROM APM_CurrentApplicationStatus WHERE Availability = '1')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET AppDown =

                                          (SELECT COUNT(*) FROM APM_CurrentApplicationStatus WHERE Availability = '2')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET AppWarn =

                                          (SELECT COUNT(*) FROM APM_CurrentApplicationStatus WHERE Availability = '3')

                                          Where NodeID = 5592;

                                           

                                          ============================================================

                                          HARDWARE SWITCH STATUS

                                          ============================================================

                                           

                                          UPDATE NodesCustomProperties

                                          SET HardwareUp =

                                          (select COUNT(*) from HWH_HardwareItem WHERE Status = '1' AND IsDisabled = '0')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET HardwareWarn =

                                          (select COUNT(*) from HWH_HardwareItem WHERE Status = '3' AND IsDisabled = '0')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET HardwareCritical =

                                          (select COUNT(*) from HWH_HardwareItem WHERE Status = '14' AND IsDisabled = '0')

                                          Where NodeID = 5592;

                                           

                                          ============================================================

                                          CURRENT VOLUME STATUS - SERVERS

                                          ============================================================

                                           

                                          UPDATE NodesCustomProperties

                                          SET VolumesHealthy=

                                          (select COUNT (*) from VolumesPercentDiskUsedForecastCapacity WHERE CurrentValue < '90' AND InstanceCaption NOT LIKE '%memory' AND InstanceCaption NOT LIKE '%RAM' AND InstanceCaption NOT LIKE '/%')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET VolumesWarning=

                                          (select COUNT (*) from VolumesPercentDiskUsedForecastCapacity WHERE  CurrentValue > '90' AND  CurrentValue < '95' AND InstanceCaption NOT LIKE '%memory' AND InstanceCaption NOT LIKE '%RAM' AND InstanceCaption NOT LIKE '/%')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET VolumesCritical=

                                          (select COUNT (*) from VolumesPercentDiskUsedForecastCapacity WHERE  CurrentValue > '95' AND InstanceCaption NOT LIKE '%memory' AND InstanceCaption NOT LIKE '%RAM' AND InstanceCaption NOT LIKE '/%')

                                          Where NodeID = 5592;

                                           

                                          ============================================================

                                          CURRENT VOLUME STATUS - AXV, MAXV, ESXI

                                          ============================================================

                                           

                                          UPDATE NodesCustomProperties

                                          SET AXVVolumesHealthy=

                                          (select COUNT (*) from VolumesPercentDiskUsedForecastCapacity WHERE CurrentValue < '90' AND InstanceCaption NOT LIKE '%memory' AND InstanceCaption NOT LIKE '%RAM' AND InstanceCaption LIKE '/%')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET AXVVolumesWarning=

                                          (select COUNT (*) from VolumesPercentDiskUsedForecastCapacity WHERE  CurrentValue > '90' AND  CurrentValue < '95'  AND InstanceCaption NOT LIKE '%memory' AND InstanceCaption NOT LIKE '%RAM' AND InstanceCaption LIKE '/%')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET AXVVolumesCritical=

                                          (select COUNT (*) from VolumesPercentDiskUsedForecastCapacity WHERE  CurrentValue > '95' AND InstanceCaption NOT LIKE '%memory' AND InstanceCaption NOT LIKE '%RAM' AND InstanceCaption LIKE '/%')

                                          Where NodeID = 5592;

                                           

                                          ============================================================

                                          CURRENT ACCESS POINTS STATUS

                                          ============================================================

                                          UPDATE NodesCustomProperties

                                          SET AccessPointUp =

                                          (SELECT COUNT(*) FROM Wireless_AccessPoints WHERE Status= '1')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET AccessPointDown =

                                          (SELECT COUNT(*) FROM Wireless_AccessPoints WHERE Status= '2')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET AccessPointWarn =

                                          (SELECT COUNT(*) FROM Wireless_AccessPoints WHERE Status= '4')

                                          Where NodeID = 5592;

                                           

                                          ============================================================

                                          CURRENT LOCKED OUT USERS

                                          ============================================================

                                          UPDATE NodesCustomProperties

                                          SET LockOutGood =

                                          (SELECT ComponentStatisticData FROM APM_CurrentStatistics WHERE  ApplicationID = '15106' AND ComponentStatisticData < '14' )

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET LockOutWarn =

                                          (SELECT ComponentStatisticData FROM APM_CurrentStatistics WHERE  ApplicationID = '15106' AND ComponentStatisticData > '14' AND ComponentStatisticData < '25')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET LockOutCrit =

                                          (SELECT ComponentStatisticData FROM APM_CurrentStatistics WHERE  ApplicationID = '15106' AND ComponentStatisticData > '24' )

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties SET LockOutGood = '-' Where LockOutGood IS NULL AND NodeID = 5592;

                                          UPDATE NodesCustomProperties SET LockOutWarn = '-' Where LockOutWarn IS NULL AND NodeID = 5592;

                                          UPDATE NodesCustomProperties SET LockOutCrit = '-' Where  LockOutCrit IS NULL AND NodeID = 5592;

                                           

                                          ============================================================

                                          COM ROOM TEMP

                                          ============================================================

                                          UPDATE NodesCustomProperties SET TempCrit=(

                                          select COUNT(*)

                                          from CustomPollerAssignmentView (NOLOCK)

                                          WHERE

                                             CustomPollerID IN (

                                                        'f64f0c6b-d92c-47f5-a33c-9b6acf3a5c6e',

                                                        '7085e18f-c843-43ea-909a-e30b5ad4cd17',

                                                        '08d646a9-7c6b-4a14-b905-9955858036b2',

                                                        'd0224ddd-c11b-4a42-8cad-7d2f6a1a2522',

                                                        'f64f0c6b-d92c-47f5-a33c-9b6acf3a5c6e',

                                                        '79451d11-9dc2-4a02-a7ac-e5079c71f404',

                                                        '239862d7-112c-4fd6-bb01-056f4cbd6e7f',

                                                        '63cb31e4-ba3e-4619-af50-75381e078cf7',

                                                        'b9d4d1d8-5847-4124-a41d-306a982b2f1e',

                                                        '1538a719-9912-4991-97d4-b4a899aa39b5',

                                                        '0a6bb83b-c074-402a-9b38-bec6ad35993a')

                                                 AND CASE WHEN ISNUMERIC(CurrentValue) = 1 THEN CAST(CurrentValue AS DECIMAL(18,2)) ELSE 0 END >120

                                          )

                                          WHERE NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties SET TempWarn=(

                                          select COUNT(*)

                                          from CustomPollerAssignmentView (NOLOCK)

                                          WHERE

                                             CustomPollerID IN (

                                                        'f64f0c6b-d92c-47f5-a33c-9b6acf3a5c6e',

                                                        '7085e18f-c843-43ea-909a-e30b5ad4cd17',

                                                        '08d646a9-7c6b-4a14-b905-9955858036b2',

                                                        'd0224ddd-c11b-4a42-8cad-7d2f6a1a2522',

                                                        'f64f0c6b-d92c-47f5-a33c-9b6acf3a5c6e',

                                                        '79451d11-9dc2-4a02-a7ac-e5079c71f404',

                                                        '239862d7-112c-4fd6-bb01-056f4cbd6e7f',

                                                        '63cb31e4-ba3e-4619-af50-75381e078cf7',

                                                        'b9d4d1d8-5847-4124-a41d-306a982b2f1e',

                                                        '1538a719-9912-4991-97d4-b4a899aa39b5',

                                                        '0a6bb83b-c074-402a-9b38-bec6ad35993a')

                                                 AND CASE WHEN ISNUMERIC(CurrentValue) = 1 THEN CAST(CurrentValue AS DECIMAL(18,2)) ELSE 0 END  BETWEEN 105 AND 120

                                          )

                                          WHERE NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties SET TempGood=(

                                          select COUNT(*)

                                          from CustomPollerAssignmentView (NOLOCK)

                                          WHERE

                                             CustomPollerID IN (

                                                        'f64f0c6b-d92c-47f5-a33c-9b6acf3a5c6e',

                                                        '7085e18f-c843-43ea-909a-e30b5ad4cd17',

                                                        '08d646a9-7c6b-4a14-b905-9955858036b2',

                                                        'd0224ddd-c11b-4a42-8cad-7d2f6a1a2522',

                                                        'f64f0c6b-d92c-47f5-a33c-9b6acf3a5c6e',

                                                        '79451d11-9dc2-4a02-a7ac-e5079c71f404',

                                                        '239862d7-112c-4fd6-bb01-056f4cbd6e7f',

                                                        '63cb31e4-ba3e-4619-af50-75381e078cf7',

                                                        'b9d4d1d8-5847-4124-a41d-306a982b2f1e',

                                                        '1538a719-9912-4991-97d4-b4a899aa39b5',

                                                        '0a6bb83b-c074-402a-9b38-bec6ad35993a')

                                                 AND CASE WHEN ISNUMERIC(CurrentValue) = 1 THEN CAST(CurrentValue AS DECIMAL(18,2)) ELSE 0 END  <105

                                          )

                                          WHERE NodeID = 5592;

                                           

                                          ============================================================

                                          CURRENT ACCESS POINTS STATUS

                                          ============================================================

                                          UPDATE NodesCustomProperties

                                          SET InterfaceUp =

                                          (SELECT COUNT (*) FROM Interfaces where  Status='1')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET InterfaceWarn =

                                          (SELECT COUNT (*) FROM Interfaces where  Status='3')

                                          Where NodeID = 5592;

                                           

                                          UPDATE NodesCustomProperties

                                          SET InterfaceDown =

                                          (SELECT COUNT (*) FROM Interfaces where  Status='2')

                                          Where NodeID = 5592;

                                          1 of 1 people found this helpful