Yes, hardware health details can only be available if its already enabled.. Can't you just add the condition from your report where Node Name does not contain "Virtual"?
To enable hardware health for devices in bulk, I suppose you can do a scheduled Network Discovery for all your managed devices..
I ended up putting together a custom SQL report to grab the data I needed. Basically, I grab the nodes that don't exist in the APM_HardwareInfo table and don't exist in the VIM_VirtualMachines table. Seemed to work -- although it does require that NPM's IVIM module is set up correctly and that virtual machines are managed nodes in NPM.
SELECT Nodes.NodeID, Nodes.Caption, Nodes.ObjectSubType, Nodes.IP_Address, Nodes.MachineType, Nodes.Prod_State, Nodes.OwnerGroup FROM Nodes
LEFT OUTER JOIN APM_HardwareInfo ON Nodes.NodeID = APM_HardwareInfo.NodeID
LEFT OUTER JOIN VIM_VirtualMachines VM ON Nodes.NodeID = VM.NodeID
WHERE ObjectSubType <> 'ICMP'
AND APM_HardwareInfo.NodeID IS NULL
AND VM.NodeID IS NULL
ORDER BY Nodes.Caption
It looks like in my environment it picks up all VMs as well. I have checked VIM_VirtualMachines table and it is empty (I am on NPM 11.5) - that's why I guess. What did you mean by "IVIM module is set up correctly"?
Alex, sorry -- bad writing skills are to blame. There are two conditions that must exist. First, VMs must be managed nodes in NPM and second, in a multi-poller environment IVIM needs to have both hosts and the vCenter that manage them assigned to the same poller. If you only have a single poller then you can ignore that 'IVIM set up correctly' comment.
I would also recommend polling hosts through vCenter rather than directly. That is a task for IVIM even if you have VMAN in the mix, but I'm just splitting hairs now