Introduction:
Sometimes a single agent can take an extended time to poll.
Advanced logging can be enabled to see poll times at the agent level.
It is important to understand that an "agent" is identified by uniqueDeviceId
and SNMP port.
Instructions:
1) Back up the $NH_HOME/sys/debugLog.cfg file.
2) In the $NH_HOME/sys/debugLog.cfg file:
Change:
program nhiPoller[Net] {
arguments "-Dm poller:tb -Df dtp -Dt"
}
To:
program nhiPoller[Net] {
arguments "-Dm poller:tb -Df Ddtp -Dt"
}
Note the additional "D" added to the flags after -Df
3) Enable advanced logging for "Statistics Poller" in OneClick for eHealth under:
Tasks and Information->Setup->Advanced logging
This will create the nhiPoller_Net.txt file under $NH_HOME/log/advanced.
4) After at least 3 polls turn off "Statistics Poller' advanced logging.
In the resulting $NH_HOME/log/advanced/nhiPoller_net.txt you will now see a secion like:
<date> <time> [D,poller] Device <uniqieDevId>@<snmpPort> completed 9 elems in 0.10334 seconds with 0 backoffs, 0 skipped retries, and 0 skipped elems
<date> <time> [D,poller] Device <uniqieDevId>@<snmpPort> completed 32 elems in 0.869681 seconds with 0 backoffs, 0 skipped retries, and 0 skipped elems
<date> <time> [D,poller] Device <uniqieDevId>@<snmpPort> completed 242 elems in 1.2059 seconds with 0 backoffs, 0 skipped retries, and 0 skipped elems
This shows how many seconds it took to poll the agent with the corresponding uniqueDevId and snmpPort
Note that on some revisions of eHealth the snmpPort will appear as 0 if it is the default of 161.
To find the elements/device you can use nhListElements:
nhListElements -where "uniqueDevId = <uniqueDevId>"
Example:
nhListElements -where "uniqueDevId = ABC012345DE"
Or if there is a port other than 161 and you have multiple agents on one device you can use:'
nhListElements -where "uniqueDevId = <uniqueDevId>" -where "ipAddr matches :<snmpPort>"
Example:
nhListElements -where "uniqueDevId = ABC012345DE" -where "ipAddr matches :1691"