Idea ID 2838821
Hello Micro Focus & Community 😉
In some monitoring scenarios it's required to first snmpwalk a specific OID to get the instance number to the next snmpget I need to do in order to get the correct values I need.
And after that I might need to do some math on the collected values
Currently NNMi can't do this. So this Idea is to get NNMi to be able to do this:
Call it more intelligent SNMP monitoring.
So for some specifc RSA servers we have been asked to monitor the license usage,
To get the current used licenses we must collect the following OID:
.184.108.40.206.4.1.2220.127.116.11.2.216 = STRING: "45372"
That’s the easy part
To get the total number of licenses we need to do:
First get the Users licenses instance numbers:
snmpwalk -v 2c -c public myRSAnode .18.104.22.168.4.1.222.214.171.124.6 -On|grep Users
.126.96.36.199.4.1.2188.8.131.52.6.2 = STRING: "Users"
.184.108.40.206.4.1.2220.127.116.11.6.9 = STRING: "Users"
.18.104.22.168.4.1.222.214.171.124.6.12 = STRING: "Users"
.126.96.36.199.4.1.2188.8.131.52.6.19 = STRING: "Users"
.184.108.40.206.4.1.2220.127.116.11.6.34 = STRING: "Users"
.18.104.22.168.4.1.222.214.171.124.6.41 = STRING: "Users"
.126.96.36.199.4.1.2188.8.131.52.6.48 = STRING: "Users"
.184.108.40.206.4.1.2220.127.116.11.6.51 = STRING: "Users"
As showed in the above walk there are multiple licenses files loaded. I need to get the Users by doing a grep for the Users part.
After we have located the instance numbers we need to collect how many licenses each lincese file have:
.18.104.22.168.4.1.222.214.171.124.7.2 = STRING: "37505"
.126.96.36.199.4.1.2188.8.131.52.7.9 = STRING: "1000"
.184.108.40.206.4.1.2220.127.116.11.7.12 = STRING: "1000"
.18.104.22.168.4.1.222.214.171.124.7.19 = STRING: "2000"
.126.96.36.199.4.1.2188.8.131.52.7.34 = STRING: "2000"
.184.108.40.206.4.1.2220.127.116.11.7.41 = STRING: "1000"
.18.104.22.168.4.1.222.214.171.124.7.48 = STRING: "1000"
.126.96.36.199.4.1.2188.8.131.52.7.51 = STRING: "1000"
The grep in this scenario is due to I not want to make a snmpget manual.
Then we need to summarize the numbers returned here to get the total number of licenses on the system = 46505:
To calculate the total number of available licenses: total – current usage:
46505 – 45372 = 1133
I ofcause need to graph it all
- Total Licenses
- Uses Licenses
- Available Licenses
Since this is a complicated calculation, and collection for reporting, a solution could be a script based monitoring schedular in NNMi, that accepts return values in, Integer, boolen, gauge or strings (like default SNMPGET commands does, and then able to enable NNMi to add the collected data to NPS/COSO data, same way as custom collection, just custom script that returns the same kind of values as the custom poller values:
The rule in such a script based monitoring would be to report back the above kind of data. It could be like:
- Single keybased value: Total License = 46505
- an array of multiple values: [Total License = 46505 , Used Licenses = 45372 , Available License = 1133]
- A JSON value:
"Total Licenses": 46505,
"Used Licenses": 45372,
"Available License": 133
This would really open up NNMi to be cable of way more intelligent monitoring 😊
Specially the option to walk multiple OID's to get the values we need. Also I do know that this is for some more experienced users, but it's really needed.
Jan P. Madsen
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.