cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 10

Changed Polling Method, Ran discovery on ~200 nodes. All missing cpu/memory monitoring.

I changed polling method from SNMP to WMI on around 200 nodes.   I then ran discovery on them to add volumes/nic/etc.. back.    Everything was added fine with the exception of CPU/Memory. 

Is there a way to bulk add this without deleting the nodes and running another discovery? 

Thanks

--Ben

Labels (1)
0 Kudos
11 Replies
Level 9

I have similar issue. Not sure if the script posted by bscherer​ works for everybody.

0 Kudos
Level 10

I would probably change it to only do the CPU/MEMORY pollers.  Some of the pollers in my list are module specific.

$snmpPollers = @(

    "N.Cpu.SNMP.HrProcessorLoad",

    "N.Memory.SNMP.HrStorage"

)

$wmiPollers = @(

    "N.Cpu.WMI.Windows",

    "N.Memory.WMI.Windows"

)

0 Kudos
Level 10

So this is how i ended up fixing this.  I grabbed all the assigned pollers from a node i knew was configured correctly and then ran the following script.  Note: I only did windows nodes and some pollers may not apply to you(SRM for example). I also did -trusted in order to use my logged in AD creds.  This is also very chatty, because i wanted to watch the output.

Not sure if this is the best way, but it worked for me.  Hopefully this formats ok...

function AddPollers() {

    param($nodeid, $objectType)

    $poller = @{

      NetObject="N:" + $nodeid;

      NetObjectType="N";

      NetObjectID=$nodeid;

      }

      if ($objecttype -eq "SNMP") { $pollers = $SNMPNodes} else { $pollers = $wmiPollers}

      $curPollersQuery = "select pollertype from Orion.Pollers where netobjectid = '" + $nodeid + "'"

       $assignedPollers = Get-SwisData $swis $curPollersQuery

       $Pollers| %{

           if(-not ($assignedpollers -match $_)){

        "adding Poller {0}" -f $_

        $poller["PollerType"]=$_;

        New-SwisObject $swis -EntityType "Orion.Pollers" -Properties $poller

        }

       }

    

}

$snmpPollers = @(

    "N.Details.SNMP.Generic",

    "N.Uptime.SNMP.Generic",

    "N.Cpu.SNMP.HrProcessorLoad",

    "N.Memory.SNMP.HrStorage",

    "N.AssetInventory.Snmp.Generic",

    "N.Status.ICMP.Native",

    "N.ResponseTime.ICMP.Native",

    "N.ResponseTime.SNMP.Native",

    "N.Status.SNMP.Native",

    "N.Topology_Layer3.SNMP.ipNetToMedia"

)

$wmiPollers = @(

    "N.Status.ICMP.Native",

    "N.ResponseTime.ICMP.Native",

    "N.Details.WMI.Vista",

    "N.Uptime.WMI.XP",

    "N.Cpu.WMI.Windows",

    "N.Memory.WMI.Windows",

    "N.SRM.Topology.WMI.SCSI",

    "N.SRM.Topology.WMI.Disks",

    "N.AssetInventory.Wmi.Generic"

)

Add-PSSnapin SwisSnapin

$hostname = 'mtssprmon20'

$swis = Connect-Swis -host $hostname -trusted

$swisQuery = "SELECT n.caption,n.nodeid,n.objectsubType

FROM Orion.Nodes n

where n.nodeid not in (select p.netobjectid from Orion.Pollers p where p.pollertype like '%cpu%' or p.pollertype like '%memory%') and n.vendor = 'Windows' and (n.ObjectSubType = 'WMI' or n.ObjectSubType = 'SNMP')

"

Get-SwisData $swis $swisQuery| %{

   $_.caption

    AddPollers $_.nodeid $_.ObjectsubType

}

0 Kudos
Level 8

Just one question, is the CPU/Memory was working fine iwth SNMP.. if yes then run the WMI tester on one ofht enodes where CPU and memory is not fetching.. Have make sure that WMI itself able to detect the CPU and Memory details on target server.

Test WMI on the Target Server
http://www.solarwinds.com/NetPerfMon/SolarWinds/SAMAdminGuide.16.670.htm

***In the WMI class list that appears, please look for the following:***
Win32_Processor

0 Kudos
Level 10

Dipak,

     Thank you for the response.   If i manually run "List Resources" on a node; CPU/Memory is there, but unchecked.  Checking it enables normal collection.   I just want to avoid having to manually enabled it on all of these servers or removing/readding the nodes.  

Thanks

--Ben

0 Kudos

Hi bscherer , Please follow the below steps to enable them at once:

1. Go to settings -> Under Node & Group Management you will "Manage Pollers" click on it

2. Check on CPU & Memory and click on Assign

CM.JPG

3. This would open up all the nodes in your current environment , select the nodes that you want to assign it to Click on Enable Poller

EN.JPG

Note: You can enable CPU & Memory for the one's with Scan Result: Exact match

SR.JPG

This process is much quicker and hopefully you were looking for the same in your scenario

MVP
MVP

I swapped some servers from SNMP to WMI today and ran into the same issue - a discovery picks up all interfaces/volumes but CPU/Memory is not being polled unless I manually go through each server and List Resources, etc.

I tried to use the Manage Pollers but the Scan Results show Not a Match for all of the servers. If I manually go and List Resources for a server, select CPU/Memory, then go back to Manage Pollers it will show as Exact match and enabled.

Modules running in this particular instance are: NPM 11.0.1, SAM 6.1.1, IPAM 4.2.0.

0 Kudos
Level 9

Don't suppose you found a fix for this?

0 Kudos
MVP
MVP

Unfortunately not. I've had mixed results by running a network discovery over the devices. Sometimes works, sometimes doesn't.

there is the pollercheckertool that you run on the server that might allow you to bulk-correct this.

(look in C:\Program Files (x86)\SolarWinds\Orion)

0 Kudos
Level 17

Unless all of those devices are the same make / model, we can rule out device-specific issues. We may want to open a support ticket: http://www.solarwinds.com/support/

0 Kudos