Good Day!
I am trying to create a modern SolarWinds dashboard, I have a widget that shows current alerts based on my custom group and its working but the links are not working
I imported a KPI widget from an older dashboard (someone else created a long time ago) and the links are working
Can someone tell me the difference please?
I will add both SWQL scripts:
WORKING:
SELECT N.TheCount
, CASE WHEN D.Link is null then NULL
ELSE CONCAT(D.Link,'?filters=', d.InstanceSiteId, '_Orion.Nodes_Status:eq:1')
END AS Link
FROM
(SELECT COUNT(1) as TheCount FROM Orion.Nodes WHERE Category=2 AND Status = 1) N
LEFT JOIN
(
SELECT TOP 1 InstanceSiteId, '/apps/platform/dashboard/' + TOSTRING(DashboardID) as Link
FROM Orion.Dashboards.Instances
WHERE DisplayName='Servers Summary - Server Status'
ORDER BY DashboardID
) D ON 1=1
NOT WORKING:
SELECT
N.TheCount,
CASE
WHEN D.Link IS NULL THEN NULL
ELSE CONCAT(D.Link, '?filters=', D.InstanceSiteId, '_Orion.Nodes_Status:eq:2')
END AS Link
FROM
(
SELECT COUNT(DISTINCT AH.AlertObjectID) AS TheCount
FROM Orion.AlertHistory AH
JOIN Orion.AlertObjects AO ON AH.AlertObjectID = AO.AlertObjectID
JOIN Orion.AlertConfigurations AC ON AO.AlertID = AC.AlertID
LEFT JOIN Orion.Nodes N ON AO.EntityType = 'Orion.Nodes' AND AO.EntityNetObjectID = 'N:' + TOSTRING(N.NodeID)
LEFT JOIN Orion.NPM.Interfaces I ON AO.EntityType = 'Orion.NPM.Interfaces' AND AO.EntityNetObjectID = 'I:' + TOSTRING(I.InterfaceID)
LEFT JOIN Orion.Volumes V ON AO.EntityType = 'Orion.Volumes' AND AO.EntityNetObjectID = 'V:' + TOSTRING(V.VolumeID)
JOIN Orion.Container CT ON CT.Name = 'Alert Suppression_ Infra'
JOIN Orion.ContainerMembers CM ON
(AO.EntityType = 'Orion.Nodes' AND CM.MemberPrimaryID = N.NodeID AND CM.ContainerID = CT.ContainerID)
OR (AO.EntityType = 'Orion.NPM.Interfaces' AND CM.MemberPrimaryID = I.NodeID AND CM.ContainerID = CT.ContainerID)
OR (AO.EntityType = 'Orion.Volumes' AND CM.MemberPrimaryID = V.NodeID AND CM.ContainerID = CT.ContainerID)
WHERE DAYDIFF(AH.TimeStamp, GETDATE()) = 0
AND AC.Severity = 2
) N
LEFT JOIN
(
SELECT TOP 1 InstanceSiteId, '/apps/platform/dashboard/' + TOSTRING(DashboardID) AS Link
FROM Orion.Dashboards.Instances
WHERE DisplayName='Servers Summary - Server Status'
ORDER BY DashboardID
) D ON 1=1