This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

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?

GARBAGE!

  • How's this look?

    pastedImage_0.png

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

    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]

    -- ,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]

    ,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

    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

  • This works fantastic!

    What's the easiest way to filter only specific alerts an to this view? In my case I only want node down alerts  that contain "Intel P3 Node Down" in the alert name or description.

  • See line 35 where I commented out an example of filtering against the alertconfiguration.name, so yours would be .name like 'intel p3 node down' or you could do like '%p3%' or however narrow/wide you need it.

  • Thanks mesverrum  that work great! Setting this up for our NOC to keep tabs on nodes/circuits that are down longer that expected. Having the notes section allows them to display ticket numbers and status of what's going on with the alert.

  • Based on your feedback added this at line #35. It filters out the acknowledged alerts so those won't show and then the alert name must contain 'intel p3 node down'.

    WHERE AcknowledgedBy IS NULL AND o.AlertConfigurations.Name like '%intel p3 node down%'

  • Thanks, Marc...this will come in handy

  • if i want to display all acknowledged alerts on month basis then is there a way to modify this query?

  • Yes there would be, but exactly what modifications depends on what your end goal is

    Is the month an alert falls into based on the time the alert triggered, or are you looking for the time the alert was ack'ed?

    Do you just need a count of all alerts that month, or trying to get a list of all alerts and their names and all the rest of this info during the time window?

    Could you draw a mock up of the things you would expect to be in the report and how you might want it laid it?

  • M looking for the same report format which u have put together but need to

    be able to pull every month..it would be alert created time and not ACK

    time...

    It's for my one team who monitors the alerts and informs the technical

    teams.