In NPM the nodes are sorted in alphabetically or ascending/descending order of resource utilization, How to sort the node status in group in below order.
Down,
Critical,
Warning,
UP
gangadhar.ksagar.bRaviKabdhijasharmadefieguydevendrab
Its not possable to sort the 'Group Members' from what i have seen. you could on the other-hand create a custom resourse on the Group Details page, such as this:
SELECT n.Caption as [Node],
n.IP_Address AS [IP Address],
c.Detailsurl as [_linkfor_Node]
,'/Orion/images/StatusIcons/Small-' + n.StatusIcon AS [_IconFor_Node] ,
n.StatusDescription AS [Status]
FROM Orion.Nodes n
INNER JOIN Orion.ContainerMembers c on c.MemberPrimaryID=n.Nodeid AND MemberEntityType = 'Orion.Nodes'
WHERE C.ContainerID = ${ID}
ORDER BY n.Status DESC
i have made some updates to this query to include Perfstack charts to pre populate 'Availability'
,n.StatusDescription AS [Status]
,'Availability' as [Availability]
,'/Orion/images/StatusIcons/Small-' + n.StatusIcon AS [_IconFor_Node]
,'/ui/perfstack/?presetTime=last24Hours&charts=0_Orion.Nodes_' + TOSTRING(n.NodeID) + '-Orion.ResponseTime.Availability,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.PercentLoss,0_Orion.Nodes_' + TOSTRING(n.NodeID) + '-Orion.ResponseTime.PercentDown,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.MinResponseTime,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.MaxResponseTime,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.AvgResponseTime;'AS [_LinkFor_Availability]
@prashant Kadechkar - Just click on sort symbol next to Status tab and have it arranged as per your requirement. PFA for ref
Made some further updates to include Interfaces, also added a case statement to dynamically build Perfstack charts and Maps for both interfaces and nodes
SELECT c.FullName as [OBJECT],c.Detailsurl as [_linkfor_OBJECT] ,'/Orion/images/StatusIcons/Small-' + s.StatusName +'.gif' AS [_IconFor_OBJECT],s.ShortDescription AS [Status],'Statistics' as [PerfStack],CASE WHEN c.MemberPrimaryID = n.NodeID THEN TOSTRING('/ui/perfstack/?presetTime=last24Hours&charts=0_Orion.Nodes_' + TOSTRING(n.NodeID) + '-Orion.ResponseTime.Availability,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.PercentLoss,0_Orion.Nodes_' + TOSTRING(n.NodeID) + '-Orion.ResponseTime.PercentDown,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.MinResponseTime,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.MaxResponseTime,0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '-Orion.ResponseTime.AvgResponseTime;') WHEN c.MemberPrimaryID = i.InterfaceID THEN TOSTRING('/ui/perfstack/?presetTime=last7Days&charts=0_Orion.NPM.Interfaces_' + TOSTRING(i.InterfaceID) + '-Orion.NPM.InterfaceAvailability.Availability,0_Orion.NPM.Interfaces_' + TOSTRING(i.InterfaceID) + '-Orion.PerfStack.Status;0_Orion.NPM.Interfaces_' + TOSTRING(i.InterfaceID) + '-Orion.NPM.InterfaceTraffic.OutPercentUtil,0_Orion.NPM.Interfaces_' + TOSTRING(i.InterfaceID) +'-Orion.NPM.InterfaceTraffic.InPercentUtil;') END as [_LinkFor_PerfStack],'Map' as [Map],CASE WHEN c.MemberPrimaryID = n.NodeID THEN TOSTRING('/ui/maps/staticsubview/?netobject=N:'+ TOSTRING(n.NodeID) + '&view=NodeDetails&ViewID=196&opid=Orion.Nodes_'+ TOSTRING(n.NodeID) + '&zoom=1&selected=0_Orion.Nodes_'+ TOSTRING(n.NodeID) + '&layoutId=LayoutForceDirected')WHEN c.MemberPrimaryID = i.InterfaceID THENTOSTRING('/ui/maps/staticsubview/?NetObject=I:'+ TOSTRING(i.InterfaceID) + '&ViewID=195&opid=Orion.NPM.Interfaces_'+ TOSTRING(i.InterfaceID) + '&zoom=1&selected=0_Orion.NPM.Interfaces_'+ TOSTRING(i.InterfaceID) +'&layoutId=LayoutForceDircted') END AS[_LinkFor_Map]FROM Orion.ContainerMembers c LEFT JOIN Orion.NPM.Interfaces i on i.InterfaceID = c.MemberPrimaryID LEFT JOIN Orion.Nodes n ON n.NodeID = c.MemberPrimaryID LEFT JOIN Orion.StatusInfo s ON s.StatusId = c.StatusWHERE c.ContainerID = ${ID}ORDER BY c.Status DESC