01/26/2009 (2:48 pm)

This guide provides step by step instructions for installing all Cisco Mibs in to Zenoss. This method was derived from hours of research and testing. I have attempted to explain the necessity of each step as best I can. Please feel free to contact me if you have any questions about any of the steps in this process.

Please note that the steps in this guide should be performed as the zenoss user.

I have modified about 10 of the Mibs files so that they work in Zenoss. Details of the errors which I encountered and what was changed in each file are provided below. I have also included a list of Mibs that would not load before these modifications were made. This is only for reference in case you are curious as to what modifications were made. You can safely skip to step 2 from here if you wish.

First of all, note that I made copies of SNMPv2-TC-V1SMI.my and SNMPv2-SMI-V1SMI.my. I saved the copies as SNMPv2-TC-v1.my and SNMPv2-SMI-v1.my. This is so that the Mib filenames were the same as the actual Mib name. I did this because some other Mibs were having trouble finding these files by their original name.

I was encountering errors referencing ‘Unsigned64’ as Zenoss does not apparently support this function. I ended up having to go in to CISCO-TC.my and delete any reference to Unsigned64. I then had to go in to each file that would not load and change any instance of Unsigned64 that I found to Unsigned32.

I was also encountering errors referencing ‘TimeTicks’. I had to edit SNMPv2-TC-V1SMI.my and SNMPv2-TC-v1.my.

I changed:

IMPORTS
TimeTicks
FROM SNMPv2-SMI-v1;

to

IMPORTS
TimeTicks
FROM RFC1155-SMI;

As SNMPv2-SMI-v1.my does not contain any reference to TimeTicks, but the RFC1155-SMI Mib does.

After these modifications were made I was able to finally get all of the Mibs to load in to Zenoss.

2. Many of the Cisco Mibs depend on libsmi2. You will need to install it on the server. If you are using a copy of Ubuntu then you can simply type apt-get install libsmi2 libsmi2-common. You can install this same package on other Linux distros via their respected package managers. If the package is not available in your package manager then you can also install it from an RPM, or compile it from source.

3. Next, you need to transfer cisco-mibs-zenoss.tar.gz to the server under /home/zenoss/mibs. You then need to extract it by using the following command:

tar -xvzf cisco-mibs-zenoss.tar.gz

Once it is extracted there should be a folder with the path of /home/zenoss/mibs/mixed. Once you have this folder created you are ready to proceed to the next step.

4. You will need to set the SMIPATH environment variable to include all possible paths for the Mibs that get installed by default with Zenoss as well as the /home/zenoss/mibs/mixed directory that you just created.

5. Now we are ready to build up the first batch of Mibs. During this process some Mibs will fail to load. This is perfectly normal at this point so simply disregard any errors that you may see and let the command run through (this can take a while, so go make a pizza or something).

Make sure that you are in the /home/zenoss/mibs/mixed directory then run the following command:

zenmib run *

6. Once the last command has run through, we need to build some of the core Cisco Mibs which did not build the first time around. We do this by loading them in a specific order with the following command:

7. Once the last command has run through and some of the core Cisco Mibs are loaded, we have to run through the building process again by executing:

zenmib run *

This should run through with significantly less errors (though you will probably still see some). Take note of which Mibs do not load during this process (make a list of the names).

8. Now, we should only be down to a small amount of Mibs that did not load. Since you are using the custom Mibs pack you won’t have to modify Mibs files like I did, but you still may need to load them in a similar way as was done in step 6. To do this you first need to find out what dependencies the Mibs are complaining about.

You can do this with the command:

zenmib run -v10 NAME-OF-THE-MIB.my

Obviously fill in the name of whichever MIB you want to check dependencies for. Once you know what dependencies it is expecting and in what order, then simply make a command similar to the one in step 6, but replace the MIBs listed in that command and ensure that they are in the specific order specified in the debug output.

After you have completed step 8 for each Mib and have them all loaded you should be done. Login to Zenoss and ensure that you have 1128 Cisco Mibs loaded. You can then start moving them in to a Subfolder called Cisco to keep things tidy. Move them 40 at a time (yes, it will be time consuming but it’s the best way to do it). Once they are all moved in to a subfolder you are done.