ICMP is used for availability across all devices in the system. We use a 10 poll average to calculate the availability for nodes.
10 pings go out over 20 minutes using the default 120 seconds per poll. If you missed say 4 polls during that period then you would have a 60% availability since only 6 polls were found to respond, and a 40% rate of dropped polls.
Hope this helps you out a bit. This goes for all averages in the system. They use a 10 poll average that will keep rolling throughout the day.
Thanks for quick response!
I guess I am confused.
Table name is InterfaceAvailability_Detail and as far as I know NPM does not track interfaces by IP so how does NPM calculate interface availability using ICMP?
Also, if ICMP is used to track device availability as you say then how do these ICMP requests and reponses relate to global and node specific status polling intervals?
I have always been thrown off by the use of ICMP at the interface level as well. Since not every interface will have an IP how would you ping this to begin with right??
That answer I would like to know since I never have dug deep enough to find out.
The polling intervals are just that how often do we check. Either way if you are doing default of 120 seconds or 3000 seconds we are still going to use the last 10 polls to calculate the availability on that node. This obviously can change based upon the intervals set for each device. The global setting just says any device added that isn't given a specific polling interval use this global setting, and if changed then use the dynamic setting and ignore the global.
Just a small correction: Interface up/down is NOT calculated via ICMP. It's calculated using SNMP for the interface. The is an OID for just that item - usually .22.214.171.124.126.96.36.199.<ifnumber>.8 (ifOperstatus) which can be up, down, testing, unknown, etc.
This *and only this* value is collected for the interface every 120 seconds. All other interface statistics are collected at the 7 minute mark.
Hope this helps.
Based on anaIysis of Wireshark traffic captures I agree NPM uses SNMP and ifOperStatus to determine interface status.
It appears we still need SolarWinds to tell us how NPM calculates entries found in InterfaceAvailability_Detail table.
That sounds right. It's funny that SW will list that polling interval with ICMP polling settings which throws off everyone. It's just saying that we collect those particular OIDs at that said interval.
The averages would be exactly the same calculation which would be an average over 10 polls. Up/Up for 8 polls and Up/Down for 2 then you have an availability of 80%.
It appears entries in InterfaceAvailability_Detail table are created every 5 minutes for every interface.
At the moment inerface status polling interval is 5 minutes.
So if the interface availability is 100% then this means the interface has been up for the last 50 minutes and if the availability is 80% it has been down 2 times during the last 50 minutes?
We really need to know how this is calculated so we can explain it to our customers.
You are correct if you are polling at 5 minute intervals then during the last 50 minutes is how the availability is calculated. So 80% would be correct that you saw it drop 2 times within those last 10 polls or last 50 minutes.
This will keep rolling forward taking out the oldest poll at each new poll and re-calculating the availability based on the 10 poll average.