cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 16

Alert Issue (AlertCaption)

We've ben tracking an issue where the name of the object in the alert does not match the current name of an object.

(pedantically we use the IP address for our edge switches, when they renumber the name changes)

the AlertObject table doesn't track changes in caption, and it's the value initially stored in that table that gets displayed in the ActiveAlerts / AllAlerts widget.

Try this database query in your environment to find nodes where the alert captions will not match the [current] node name.

select AO.EntityCaption,AO.RelatedNodeCaption,N.Caption
FROM [dbo].[AlertObjects] AO inner join nodes N on
AO.relatednodeid=N.Nodeid
and AO.EntityType='Orion.Nodes'
where  AO.EntityCaption<>N.Caption or AO.RelatedNodeCaption<>N.Caption
and N.unmanaged=0

Version: 12.0.1

Bug report being filed with SW Support

4 Replies
Level 16

Note: this bug is still there in NPM 12.1 and 12.2

in our upgrade the server names were changed, and staff started troubleshooting alerts on inactive SolarWinds servers.

Also need to fix the engine names

Update AO 
    Set AO.EntityCaption=E.ServerName
    FROM [dbo].[AlertObjects] AO , Engines E
    WHERE AO.EntityCaption<>e.ServerName
        and  AO.EntityType='Orion.Engines'
        and  ':'+cast(E.EngineID  as varchar) = EntityNetObjectID  ;
0 Kudos

Bug is still there in 12.4 as well.

it had always bugged me that i changed the names and they weren't reflected in all areas, i didn't realise how bad it was until l ran your select query and found over 2000 node entries ( i took your interface update and changed it to a select and have 30 entries).

I'm torn between running your provided select statements and leaving as is just in case it causes further damage.

Engine names: Be careful with this one if you have HA running as the Engine names change dependant on active poller.

Thanks for the information and the fixes though.

0 Kudos
Level 12

Nice Catch!  On a different yet related note, I actually switched from using the Caption to using Sysname where possible because of conflicts with CMDB discovery data.  Clients tend to use caption in wildly different ways and can sometimes be nothing like the actual name of the device (sysname).  So things like CI binding (we use ServiceNOW CMDB and ITSM) don't work if you pass caption because ServiceNOW has no clue what device you're trying to bind an incident to!

0 Kudos
Level 16

Here are the Fix Scripts I wrote and applied to correct this issue:

These scripts are provided wholly without warranty, utility, or verification beyond my own environment.

By executing these scripts you take full responsibility for understanding what they do and any outcome

Please contact Solarwinds Support before applying these and open a case before applying

Fix the related node captions

UPDATE AO
set AO.RelatedNodeCaption = N.Caption
FROM [dbo].[AlertObjects] AO inner join nodes N on
AO.relatednodeid=N.Nodeid
and N.unmanaged=0
where  AO.RelatedNodeCaption<>N.Caption

Fix the alert captions on Node Alerts

Update AO
Set AO.EntityCaption=N.Caption
FROM [dbo].[AlertObjects] AO inner join nodes N on
     AO.relatednodeid=N.Nodeid
     and AO.EntityType='Orion.Nodes'
     and N.unmanaged=0
WHERE AO.EntityCaption<>N.Caption

Fix the Alert captions on interface alerts

Update AO
SET AO.EntityCaption= I.Caption
FROM [dbo].[AlertObjects] AO inner join nodes N
     on AO.relatednodeid=N.Nodeid
     and N.Unmanaged=0
Inner join interfaces I
     ON I.Nodeid=AO.relatedNodeID
     and AO.EntityType='Orion.NPM.Interfaces'
     and i.unmanaged=0
where  AO.EntityCaption<>I.Caption
and  'I:'+cast(I.InterfaceID as varchar) = EntityNetObjectID