SELECT n.Caption AS [Name],m.Comments, n.DetailsUrl, n.Status,
TOSTRING(ROUND(AVG(Availability),2))+' %' AS [SLA],
AVG(Availability) AS [SLATemp],
CASE
WHEN AVG(Availability) = 100 THEN 1
WHEN AVG(Availability) <100 AND AVG(Availability) >= 99.9 THEN 3
WHEN AVG(Availability) <99.9 AND AVG(Availability) >= 99.8 THEN 14
ELSE 2
END AS [SLAStatus]
FROM Orion.Nodes n
JOIN Orion.ResponseTime r ON n.NodeID = r.NodeID
JOIN Orion.NodesCustomProperties m ON n.NodeID = m.NodeID
WHERE r.DateTime >= AddDay( -31, GETUTCDATE()) AND
(
n.Vendor = 'Windows'
OR
n.Vendor = 'Linux'
OR
(n.vendor = 'net-snmp' AND n.Category = 2)
OR
(n.vendor = 'Unknown' AND n.Category = 2)
)
GROUP BY n.Caption, n.DetailsUrl, n.Status, m.Comments