Submit a ticketCall us

AnnouncementsSystem Monitoring for Dummies

Tired of monitoring failures disrupting the system, application, and service? Learn the key monitoring concepts needed to help you create sophisticated monitoring and alerting strategies that can help you save time and money. Read the eBook.

Get your free eBook.

Home > Success Center > Server & Application Monitor (SAM) > SAM - Knowledgebase Articles > Disabled components still trigger alerts for Other Statuses in older versions of SAM

Disabled components still trigger alerts for Other Statuses in older versions of SAM

Updated November 28, 2018

Overview


This article describes how component status alerts may still be triggered for components even though the component status is set as disabled on the application level in earlier versions of SAM.
 

Components Disabled the Application Level

image003 (1).png

 

The following figure shows that alerts are still being triggered even though the component status is disabled at the application level:

 

dasda.png

Environment

SAM 6.4 and earlier

Cause 

The IsDisabled flag in APM_Component table is set to NULL
There is no record in APM_CurrentComponentStatus for disabled components so the Status field returns a default value 0 (Unknown) or Last polled value instead of Disabled (27).

The value from the APM_CurrentComponentStatus is used in alerting and reporting, resulting in false alerts.

This issue also occurred in the Advanced Alert Manager, which was deprecated in Orion Platform 2011.4. Alert functionality is now handled in the Alert Manager. For more information, see Alerting resources for Orion Platform products.

Resolution

This issue was fixed in SAM 6.5, released in 2017. Upgrade to the latest version of SolarWinds SAM.

As a workaround, to fix without upgrading, use the following script in SQL Server Management Studio to mark all disabled components on the template level as Disabled at the application level.

SolarWinds recommends backing up your database before running this script. Follow instructions in Back up and restore your NPM database.

 

DECLARE @ComponentID int

DECLARE @ApplicationID int

 

DECLARE db_cursor CURSOR FOR  

SELECT c.ID, c.ApplicationID FROM APM_ComponentTemplate ct

INNER JOIN APM_Component c ON c.TemplateID = ct.ID

WHERE ct.IsDisabled = 1 AND ISNULL(c.IsDisabled, 0) = 0

 

OPEN db_cursor   

FETCH NEXT FROM db_cursor INTO @ComponentID, @ApplicationID

 

WHILE @@FETCH_STATUS = 0   

BEGIN   

 

UPDATE APM_Component SET IsDisabled = 1 WHERE ID = @ComponentID

 

UPDATE APM_ComponentSetting SET Value = 'True' WHERE ComponentID = @ComponentID AND [Key] = '__Disabled'

IF @@ROWCOUNT = 0

INSERT INTO APM_ComponentSetting(ComponentID, [Key], [Value], [ValueType], [Required])

VALUES (@ComponentID, '__Disabled', 'True', 3, 0)

UPDATE APM_CurrentComponentStatus SET Availability = 7, [TimeStamp] = GETUTCDATE(), ComponentStatusID = 0, ErrorCode = 0 WHERE ComponentID = @ComponentID

IF @@ROWCOUNT = 0

INSERT INTO APM_CurrentComponentStatus (ComponentID, ApplicationID, Availability, [TimeStamp], ComponentStatusID, ErrorCode)

VALUES (@ComponentID, @ApplicationID, 7, GETUTCDATE(), 0, 0)

 

FETCH NEXT FROM db_cursor INTO @ComponentID, @ApplicationID  

END   

 

CLOSE db_cursor   

DEALLOCATE db_cursor 

 

 

 

Last modified

Tags

Classifications

Public