2 Replies Latest reply on Jul 26, 2017 7:49 AM by etcentene

    Has anyone figured out how to create report that actually shows all acknowledged alerts with NOTES ?


      Constantly running into SOLARWINDS short comings!!!    Why the would you not allow the active alerts page to be modified?    Or at the least add a field to the damn view that allows the person who acknowledges the alert to enter the ticket number or a comment?


        • Re: Has anyone figured out how to create report that actually shows all acknowledged alerts with NOTES ?

          How's this look?



          Add it to your page as a custom query and paste this into it


            o.AlertConfigurations.Name AS [ALERT NAME]
            ,'/Orion/NetPerfMon/ActiveAlertDetails.aspx?NetObject=AAT:' + ToString(o.AlertObjectID) AS [_LinkFor_ALERT NAME]
          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]
          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]
          -- ,o.AlertActive.TriggeredMessage AS [ALERT MESSAGE]
          --,'/Orion/images/StatusIcons/Small-' + n.StatusIcon AS [_IconFor_ALERT OBJECT]
          ,'/Orion/images/StatusIcons/Small-' + p.StatusIcon AS [_IconFor_RELATED NODE]
          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]
          ,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


          If you want to be able to search it then check the box, paste the same into there and remove the comment marks from lines 35 and 36


          -Marc Netterfield

              Loop1 Systems: SolarWinds Training and Professional Services

          5 of 5 people found this helpful