Jul 19, 2012 11:15 AM
Using Multiple Community strings on one device
-
Like (0)
Hi
I am trying to load Intracom Licensed Band Radio equipment to my monitoring server.
The Intracom units consist of a Controller which contain the IP address for the device and use the standard "Public" community string.
The controller might contain up to 4 different modems in slot 1 to 4 which cannot be setup with an IP address.
The community string for the different slots(Modems) are setup as public.1 , public.2 , public.3 , public.4
Each modem might use the same OID but they use the different Community strings to display the information related to that specific Slot/modem
I have set up the differnet communities under SNMPCommunities, but it still does not pull the information for each community string
IT only uses the community string associated to zSNMPCommunity
How can i enable the other communities strings.
I need to use all the differnet community strings to enable me to pull the information i require.
Kind Regards
Erick
As I understand them, the multiple values should be read "Try these in order *until* you find one that works", rather than "Try them all" as it sounds like you want.
This sounds like a wonky SNMP implementation, so you might need some tweaking as I don't think the standard SNMP modelers are going to do what you need.
My guess is that the only way you'll get this working is to write a custom modeler, and or/or custom command data source so you can run a bash script to gather the data you need. Its really shame you can't just access everything using a single SNMP community string, like most devices
Hi
When I change the standard community string to (public.1 or public.2 or public.3 or public.4) i do get the information for that specific slot/modem.
I have seen on other NMS software that you can setup an OID and link a specific community string to that OID.
Then you can create multiple OIDs (Which are the same) each working with a different community string.
Writing scripts is a little bit above my head.
Let me play around with the modeler plugins
Regards
As I understand each modem has it's own ip address? Why not to add modems to zenoss as seprate devices using specific communities?
Nope. As stated in my first comms: The controller has the IP address. The controller can have up to four Slots into where every modem will be slotted in.
Each Slot has its own community string.
So if a controller is fully populated- It will use about 5 differnet community strings
If you are just trying to do SNMP graphing of modem OIDs, you can use a simple command data source script to run an snmpget, append the .1 .2 .3 .4 to the community name string, and then you will have graphing working.
The following would work as a simple command template for modem 1 (you can copy and paste this directly into the command template box when you add a new data source:
/bin/echo "SNMP Status OK|modem1OidIWant=$(snmpget -${dev/zSnmpVer} -c ${dev/zSnmpCommunity}.1 -OUvq ${dev/manageIp} 1.3.6.1.4.1.10854.10.8.4)"
Replace the oid number above with the oid you want to graph. The -c ${dev/zSnmpCommunity}.1 should call the command with -c public.1 which would work for modem 1
Then you add a data point called "modem1OidIWant" and graph that.. you should get the value.
Hi Michael
Thank you for your input
It still seems i am doing something wrong as is still does not display anything.
From this i gather that i will not be able to do a test on the OID.
To confirm, do i need to copy and paste your command in the OID line where i create a new Data source?
Regards
Hi, you have to make a new data source of type "COMMAND", not type "SNMP". When you do so, there will not be an OID prompt, instead there will be a "command template" box. That is where you want to copy and paste the line.
Hi Michael
I managed to pull the information i require, but how do I add them to a graph?
It is not listed as a normal Graph point and under Manage Graph point(under graph Definitions) you can add a custom graph point.
When doing that it requires an instruction type.
Which do i need to take and how do you amend this instruction?
Hi, I'm sorry that my instructions were not more clear..
After you add the data source you have to add one or more data points.. if you don't have the data point there is nothing to add to a graph.
The data point gets added inside the data source.. with the command data source selected, use the menu above to choose "add data point" and add a new data point. Make sure it uses the same name as you specified in the command data source string (in my example this was 'modem1OidIWant').
Hi
I still cannot see the Graphs.
I manage to pull the information from the command but getting it displayed on a graph seems to be above my understanding Im adding some screenshots which may indicate where the problem resides.
I have created several graphs and scenarios to test the outcome but none was successful.
* My first attempt i kept the DataSource name explainatory( oduRSSIModem1). My Data point which resides in that Data source was called modem1OidWant as specified in the command.
* My second attempt was basically the same but at the data point, i entered the supplied command in "Create command"
This also proved to be not working
* My third attempt was to create The Data source and the data point with the same name. This also did not work.
What am i missing,cause i think your explanations are pretty good?
Regards
Hi, I see the issue.. the command template has in it "modem2OidIWant" but the data point does not have the letter "I" (uppercase i). If you don't want the 'I', remove it from the command template so that it starts with /bin/echo "SNMP Status OK|modem2OidWant=$( etc....
Also, to clarify, the data source name can be whatever you want (although normally with this method you would make it the same just for consistency). The critical thing is that the variable name in the command template between the '|' and '=' has to match exactly the name of the data point - otherwise, it will not realize that the data returned by the command is to be associated with that data point.
When I gave my example, I was not sure what you wanted to graph.. you would probably want to adjust the command template and the data point to have your explanatory name for it:
oduRSSIModem1
instead of the "modem1OidIWant" example I gave.
You can use whatever name you want - as long as what is in between the | and = of the command template matches the data point name.
Hi Michael
Thank you so much for your time and effort.
Its perfect.
Follow Us On Twitter »
|
Latest from the Zenoss Blog » | Community | Products | Services Resources | Customers Partners | About Us | ||
Copyright © 2005-2011 Zenoss, Inc.
|
||||||||