I have a NET SNMP linux device and the volumes are not being pulled in using the API but it can easily be done within the SW admin site.
It will work on some devices like Juniper for example, it will pull in the volumes.
This is my code for building the poller types. I can also query the pollers table and find the poller types assigned to the node.
function prepareCreatePoller($node_id, $device_type_name = null)
{
$poller_types = array(
'V.Statistics.SNMP.Generic' => true, <----
'V.Details.SNMP.Generic' => true, <----
'V.Status.SNMP.Generic' => true, <----
'I.Status.SNMP.IfTable' => true,
'I.Rediscovery.SNMP.IfTable' => true,
'N.Status.ICMP.Native' => true,
'N.Status.SNMP.Native' => false,
'N.ResponseTime.ICMP.Native' => true,
'N.ResponseTime.SNMP.Native' => false,
'N.Details.SNMP.Generic' => true,
'N.Uptime.SNMP.Generic' => true,
'N.IPAddress.ICMP.Generic' => true,
'N.IPAddress.SNMP.Generic' => true,
'N.AssetInventory.Snmp.Generic' => true,
'N.Routing.SNMP.Ipv4CidrRoutingTable' => true,
'N.Topology_Layer3.SNMP.ipNetToMedia' => true,
'N.Memory.SNMP.HrStorage' => true,
'N.Memory.SNMP.NetSnmpReal' => true,
'N.Memory.SNMP.CpqHostPhysicalMemory' => true,
'N.Cpu.SNMP.NetSnmpCpuIdle' => true,
'N.Cpu.SNMP.NetSnmpSystemStats' => true,
'N.Cpu.SNMP.HrProcessorLoad' => true,
);
if(stripos($device_type_name, "juniper") !== false)
{
$juniper = array(
'N.Memory.SNMP.JuniperSSGNetScreen' => true,
'N.Memory.SNMP.JuniperERX' => true,
'N.Memory.SNMP.JuniperJunOS' => true,
'N.Cpu.SNMP.JuniperSSGNetScreen' => true,
'N.Cpu.SNMP.JuniperJunOS' => true,
'N.Cpu.SNMP.JuniperERX' => true,
);
$poller_types = array_merge($poller_types, $juniper);
}
if(stripos($device_type_name, "cisco") !== false)
{
$cisco = array(
'N.Cpu.SNMP.CiscoCadant' => true,
'N.Cpu.SNMP.CiscoExtreme' => true,
'N.Cpu.SNMP.CiscoFoundry' => true,
'N.Cpu.SNMP.CiscoGen1' => true,
'N.Cpu.SNMP.CiscoGen2' => true,
'N.Cpu.SNMP.CiscoGen3' => true,
'N.Cpu.SNMP.CiscoNexus' => true,
'N.Cpu.SNMP.CiscoRiverDelta' => true,
'N.Memory.SNMP.CiscoExtreme' => true,
'N.Memory.SNMP.CiscoCadant' => true,
'N.Memory.SNMP.CiscoFoundry' => true,
'N.Memory.SNMP.CiscoGen1' => true,
'N.Memory.SNMP.CiscoGen2' => true,
'N.Memory.SNMP.CiscoGen3' => true,
'N.Memory.SNMP.CiscoGen4' => true,
'N.Memory.SNMP.CiscoGen3SystemMemory' => true,
'N.Memory.SNMP.MemoryCiscoNexus' => true,
'N.Memory.SNMP.CiscoRapid' => true,
'N.Memory.SNMP.CiscoRiverDelta' => true,
);
$poller_types = array_merge($poller_types, $cisco);
}
if(stripos($device_type_name, "windows") !== false)
{
$windows = array(
'N.Cpu.WMI.Windows' => true,
'N.Cpu.WMI.WindowsRaw' => true,
'N.Cpu.WMI.Windows2000' => true,
'N.Cpu.WMI.Virtual' => true,
'N.Details.WMI.Generic' => true,
'N.Details.WMI.Vista' => true,
'N.Details.WMI.XP' => true,
'N.Uptime.WMI.Generic' => true,
'N.Uptime.WMI.XP' => true,
'N.AssetInventory.Wmi.Generic' => true,
'V.Details.WMI.MountPoint' => true,
'V.Details.WMI.Windows' => true,
'V.Details.WMI.NativeVolume' => true,
'V.Statistics.WMI.MountPoint' => true,
'V.Status.WMI.MountPoint' => true,
'V.Status.WMI.PhysicalMemoryVolume' => true,
'V.Statistics.WMI.NativeVolume' => true,
'V.Statistics.WMI.PhysicalMemoryVolume' => true,
'V.Statistics.WMI.Windows' => true,
'V.Statistics.WMI.VirtualMemoryVolume' => true,
'V.Status.WMI.NativeVolume' => true,
'V.Status.WMI.Windows' => true,
'V.Status.WMI.VirtualMemoryVolume' => true,
);
$poller_types = array_merge($poller_types, $windows);
}
$pollers = [];
foreach($poller_types as $name => $poller_type)
{
$pollers[] = array(
'PollerType' => $name,
'NetObject' => 'N:' . $node_id,
'NetObjectType' => 'N',
'NetObjectID' => $node_id,
'Enabled' => $poller_type
);
}
$result = [];
foreach($pollers as $poller)
{
$result[] = $poller_result = $this->prepareAction("Create", null, "Orion.Pollers", null, $poller);
if($poller_result['success'] != true)
{
throw new Exception($poller_result['data']);
}
}
}
Its simply not pulling in the volumes. Everything else is working.
Is there a way to get volumes data on the device somehow and put that data in SW for monitoring?
Please review the attached screenshot.
Thanks in advance!