Ad Widget

Collapse

Avaya IP Office

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zabbb
    Junior Member
    • Nov 2021
    • 9

    #1

    Avaya IP Office

    We are trying to monitor our Avaya IPOffice with Zabbix (5.4.6). We believe we have the mibs in the correct location but we keep getting the same error when we try to test an item. (SNMP error no such name There is no such variable name in this MIB) We would greatly appreciate any help.
  • tim.mooney
    Senior Member
    • Dec 2012
    • 1427

    #2
    Does "snmpget" or "snmpwalk" when run from your Zabbix server understand the OIDs you're trying to use? If it does, then you probably have the MIBs in the right place. Zabbix's SNMP support is generally built upon the underlying operating system's SNMP libraries, so you can test with standard SNMP commands on your Zabbix server to verify the MIBs are installed the correct spot.

    Different OSes handle loading the MIBs differently, though. You may want to read your operating system's documentation for "snmp.conf" and "snmp.local.conf", to see if you need to "activate" or "load" specific MIB files.

    Comment

    • zabbb
      Junior Member
      • Nov 2021
      • 9

      #3
      I'm relatively new at snmpwalk and snmpget commands. Can you tell me how to correctly run those so I know I'm testing the right way?

      Comment

      • tim.mooney
        Senior Member
        • Dec 2012
        • 1427

        #4
        There's likely lots of good information on the web on how to use snmpwalk to query a device via SNMP. Do some web searches for that type of general (not specific to Zabbix) info, then follow up here if you have a question that's more specific to Zabbix.

        There's also an example and lots of good information in the snmpwalk man page.

        Comment

        • zabbb
          Junior Member
          • Nov 2021
          • 9

          #5
          snmpwalk is returning results, however none seem to be from the Avaya specific MIB files. Not sure if that is expected or not.
          snmpget is failing with (noSuchName) There is no such variable name in this MIB.

          Comment

          • tim.mooney
            Senior Member
            • Dec 2012
            • 1427

            #6
            Even knowing that is still making progress.

            Ok, a couple more things for you to check
            1. if you view the MIB file for the Avaya stuff with a text editor or pager like "less" or "more", the top of it will probably be a bunch of comments and version history (MIBs effectively use "--" to mean the rest of the line is a comment.), but after any version history or comments one of the first lines should be: "<SOMETHING> DEFINITIONS ::= BEGIN". Whatever the "<SOMETHING>" is before DEFINITIONS is the official name for the MIB. It's probably something like "AvayaOffice" but it could be something else. In any case, the official name for the MIB needs to match the file name, probably with .txt appended. So if you look inside the MIB and see that the DEFINITIONS line begins with (for example) "AvayaCorpOffice", then you must name the mib file: AvayaCorpOffice.txt
            2. While you're looking around inside the MIB, search for the object identifier name that you think should be valid, that snmpget is saying is not valid. Can you find it in the MIB?
            3. Once you've determined what the official MIB name is and you've made sure that the file name matches that, if you re-run your "snmpwalk" command with the additional argument of "-m +<official-mib-name-here>", to make sure that it's loading the MIB file, does the output from snmpwalk change? Does it start to report named object identifiers for any of the Avaya-specific stuff?

            Just for reference, what operating system or Linux distro and version are you using on your Zabbix server?

            Comment

            • zabbb
              Junior Member
              • Nov 2021
              • 9

              #7
              So we saw that the custom MIB files we uploaded were all .mib and the existing MIB files did not have an extension. We changed them to match the existing files.
              I can find the OID name in the MIB file.
              After changing the MIB file name I ran snmpwalk with the additional argument. It did not change the output.

              We're running Ubuntu 20.04.3.

              Comment

              • tim.mooney
                Senior Member
                • Dec 2012
                • 1427

                #8
                Ok, renaming them like you did is (I think) the correct thing to do, so that's also progress.

                By default, if you don't tell 'snmpwalk' which object identifier to start with, it starts with the SNMPv2-SMI::mib-2 part of the object tree. If you look in the "SNMPv2-SMI" MIB that should be installed on your system, you'll see that the "mib-2" branch of the tree is at 1.3.6.1.2.1, which maps to "iso.org.dod.internet.directory.mgmt.mib-2". You can tell "snmpwalk" is doing that by looking at the first couple of OIDs that it reports:

                Code:
                $ snmpwalk -v 2c -c <community name obscured> -Of 10.248.38.182 | head -n 3
                .iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 = STRING: APC Web/SNMP Management Card (MB:v4.1.0 PF:v6.6.4 PN:apc_hw05_aos_664.bin AF1:v6.6.4 AN1:apc_hw05_sumx_664.bin MN:AP9631 HR:08 SN: 5A1936T30502 MD:09/03/2019) (Embedded PowerNet SNMP Agent SW v2.2 compatible)
                .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.318.1.3. 27
                .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance = Timeticks: (920512220) 106 days, 12:58:42.20

                Here's the exact same snmpwalk again, but this time, I'm using "-On" to force it to display the numbers for the OIDs, rather than "-Of" to force it to display the full tree name:

                Code:
                $ snmpwalk -v2c -c <community name obscured> -On 10.248.38.182 | head -n 3
                .1.3.6.1.2.1.1.1.0 = STRING: APC Web/SNMP Management Card (MB:v4.1.0 PF:v6.6.4 PN:apc_hw05_aos_664.bin AF1:v6.6.4 AN1:apc_hw05_sumx_664.bin MN:AP9631 HR:08 SN: 5A1936T30502 MD:09/03/2019) (Embedded PowerNet SNMP Agent SW v2.2 compatible)
                .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.318.1.3.27
                .1.3.6.1.2.1.1.3.0 = Timeticks: (920524800) 106 days, 13:00:48.00

                Now if the Avaya OIDs you care about aren't somewhere under 1.3.6.1.2.1, the default starting place for snmpwalk won't find them. In that case, you need to start somewhere else (a different branch) in the tree. Where? I don't know, because it depends upon what you're trying to query. Avaya's SNMP agent might be using a mix of "standard" object IDs and stuff that's custom to their specific part of the tree. What you need to do is look at the MIB file(s) and figure out either the numeric or textual description of the part of the tree you want to start in.

                Every company or organization that does stuff with SNMP typically has a registered object identifier under the iso.org.dod.internet.private.enterprises part of the tree (numerically that is 1.3.6.1.4.1). All officially registered private enterprise (often abbreviated PENs) OID mappings are maintained by IANA, so you can look them up:



                Avaya appears in that list as private enterprise # 6889, so a guess for a good starting point for any product-specific OIDs would be somewhere under

                1.3.6.1.4.1.6889

                Using the MIB file(s) to determine the number or the name of the place you want to start in the tree is the best procedure, but if you can't figure it out from there, you might want to try using at that as the OID to start with your snmpwalk.

                In any case, if you provide the correct object identifier as a starting point to snmpwalk, do you get better results?

                And if you force snmpwalk to display full textual OIDs with the '-Of' argument, are you getting the full names that you expect? If you're seeing numbers, but not names, that could still mean that your MIB is not being loaded, but if you're seeing the full names then it should be getting loaded correctly. snmpwalk can get numeric OIDs from any part of the tree (that exists) that you point it at, as long as SNMP GETNEXT is working, but to get the names you need the MIB(s).

                Comment

                • zabbb
                  Junior Member
                  • Nov 2021
                  • 9

                  #9
                  We reproduced the steps you laid out above:
                  snmpwalk -v 2c -c <community name obscured> -Of <ip obscured> | head -n 3
                  .iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 = STRING: Linux obscured.domain 2.6.32-754.9.1.el6.x86_64 #1 SMP Thu Dec 6 08:02:15 UTC 2018 x86_64
                  .iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 = OID: .iso.org.dod.internet.private.enterprises.netSnmp. netSnmpEnumerations.netSnmpAgentOIDs.10
                  .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance = Timeticks: (5516396) 15:19:23.96

                  snmpwalk -v 2c -c
                  <community name obscured> -On <ip obscured> | head -n 3
                  .1.3.6.1.2.1.1.1.0 = STRING: Linux obscured.domain 2.6.32-754.9.1.el6.x86_64 #1 SMP Thu Dec 6 08:02:15 UTC 2018 x86_64
                  .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10
                  .1.3.6.1.2.1.1.3.0 = Timeticks: (5520169) 15:20:01.69

                  Then we tried running it against that OID:


                  snmpwalk -v 2c -c <community name obscured> -Of <ip obscured> 1.3.6.1.4.1.6889 | head -n 10
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.1.0 = INTEGER: 309
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.1 = Gauge32: 1
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.2 = Gauge32: 2
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.3 = Gauge32: 3
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.4 = Gauge32: 4
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.5 = Gauge32: 5
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.6 = Gauge32: 6
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.7 = Gauge32: 7
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.8 = Gauge32: 8
                  .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.9 = Gauge32: 9





                  Comment

                  • tim.mooney
                    Senior Member
                    • Dec 2012
                    • 1427

                    #10
                    Originally posted by zabbb
                    Then we tried running it against that OID:
                    snmpwalk -v 2c -c <community name obscured> -Of <ip obscured> 1.3.6.1.4.1.6889 | head -n 10
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.1.0 = INTEGER: 309
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.1 = Gauge32: 1
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.2 = Gauge32: 2
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.3 = Gauge32: 3
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.4 = Gauge32: 4
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.5 = Gauge32: 5
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.6 = Gauge32: 6
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.7 = Gauge32: 7
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.8 = Gauge32: 8
                    .iso.org.dod.internet.private.enterprises.avaya.mi bs.2.1.1.1.1.1.2.1.1.9 = Gauge32: 9
                    Ok, you're now walking the part of the tree that you probably need to and you're getting it to display the "...private.enterprises.avaya.mibs" part, which I believe (I'm not certain, but I think) means that you've got at least one of the Avaya MIBs loaded correctly. I don't think you would be seeing "avaya" without it.

                    However, you're still getting just numeric OIDs for the stuff under there, which means either you're not loading (some of) the MIBs you need or the Avaya MIBs don't fully describe what their agent is reporting.

                    If there are multiple MIB files that have been provided, does the snmpwalk output from that command change if you force snmpwalk to load each of the MIBs? You do that by specifying "-m +<modulename1>:<modulename2>:<modulename3>" somewhere on the snmpwalk command line (I would put it before the -v). For example, if you have 4 MIBs related to the Avaya product and they are "AvayaOffice", "Avaya-Base", "Avaya-SIP", and "Avaya-OldPhone", you would then use something like:

                    Code:
                    snmpwalk -m +AvayaOffice:Avaya-Base:Avaya-SIP:Avaya-OldPhone -v 2c -c <your community name> -Of <your IP> 1.3.6.1.4.1.6889
                    Remember to substitute the example module names I've used with the actual modules that Avaya provided.

                    If you do that, do you get better results with the snmpwalk?

                    Comment

                    • zabbb
                      Junior Member
                      • Nov 2021
                      • 9

                      #11
                      Ok I forced the specific MIBs and we do get different results now. I'm just pasting a sample of the output but the entire file is formatted like this:


                      .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenMibs.ipoPhonesMIB.ipoPh onesMibObjects.ipoPhones.ipoPhonesTable.ipoPhonesE ntry.ipoPhonesIndex.307 = Gauge32: 307
                      .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenMibs.ipoPhonesMIB.ipoPh onesMibObjects.ipoPhones.ipoPhonesTable.ipoPhonesE ntry.ipoPhonesIndex.308 = Gauge32: 308
                      .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenMibs.ipoPhonesMIB.ipoPh onesMibObjects.ipoPhones.ipoPhonesTable.ipoPhonesE ntry.ipoPhonesIndex.309 = Gauge32: 309
                      .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenMibs.ipoPhonesMIB.ipoPh onesMibObjects.ipoPhones.ipoPhonesTable.ipoPhonesE ntry.ipoPhonesExtID.1 = INTEGER: 11200
                      .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenMibs.ipoPhonesMIB.ipoPh onesMibObjects.ipoPhones.ipoPhonesTable.ipoPhonesE ntry.ipoPhonesExtID.2 = INTEGER: 11201
                      .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenMibs.ipoPhonesMIB.ipoPh onesMibObjects.ipoPhones.ipoPhonesTable.ipoPhonesE ntry.ipoPhonesExtID.3 = INTEGER: 11202

                      Comment

                      • tim.mooney
                        Senior Member
                        • Dec 2012
                        • 1427

                        #12
                        Ok, good! You're almost there.

                        If you can get the textual OIDs to appear with SNMPwalk, then you have the right MIBs and you have tools like snmpwalk and snmpget that you can use for manually investigating parts of the tree.

                        Zabbix uses the exact same shared libraries that snmpwalk and snmpget use, and there are configuration options in each Zabbix interface to specify the SNMP version, the community string, etc. What you can't specify in the Zabbix interface is any special MIBs you need to load.

                        The SNMP libraries provide a way to do that, though. If you look at the manual page for "snmp.conf" on your server, you'll see it mentions "snmp.conf" and "snmp.local.conf", and it will probably tell you what directory snmp.conf can be found in. I'm not sure where Ubuntu keeps it, it might just be /etc/snmp.conf or it might be /etc/snmp/snmp.conf. Either way, if you create an "snmp.local.conf" file in the same directory that contains the "snmp.conf" and put

                        Code:
                        mibs +<your_list_of_mibs_that_you_specified_on_the_command_line>
                        and then save that file, it should cause all of the MIBs you listed to be available within the Zabbix SNMP item interface, so you can use the textual OIDs (if you want). Note that you can *always* use the numeric OIDs, even without the MIBs loaded, so which you choose to use it up to you, but it may be easier for your coworkers that don't understand SNMP as well as you do if you use the textual OIDs.

                        With the MIBs loaded, assuming you're using an OID that is actually defined in one of the MIBs, you should no longer receive the error you were originally getting.

                        Comment

                        • zabbb
                          Junior Member
                          • Nov 2021
                          • 9

                          #13
                          Below are the results when running snmptranslate on a specific OID that I'm trying to get:

                          snmptranslate -m IPO-MIB -Of 1.3.6.1.4.1.6889.2.2.1.2.0.31
                          .iso.org.dod.internet.private.enterprises.avaya.mi bs.ipoMIB.ipoGeneric.ipoGenTraps.ipoGTEvents.ipoGe nAppSvcEvent

                          I'm not sure what to put in my item creation in Zabbix to get this to work.

                          Comment

                          • tim.mooney
                            Senior Member
                            • Dec 2012
                            • 1427

                            #14
                            One part of that OID says "ipoGenTraps", which has me wondering: is your actual goal to receive SNMP TRAPs? The questions you asked made me think you were interested in using Zabbix to periodically poll (query) the Avaya Office system for one or more bits of information. snmpwalk and snmpget commands are likewise polling operations. You're asking the device or software for specific bits of information.

                            SNMP TRAPs are an an asynchronous "push" operation from the Avaya device or software to Zabbix. Your Zabbix server needs to be set up to receive SNMP traps, and then relay those traps to Zabbix. This setup is a little different from configuring Zabbix to poll some device via SNMP.

                            If the OID you show above is a TRAP, then you probably want to read the Zabbix documentation on SNMP Traps, https://www.zabbix.com/documentation...types/snmptrap

                            Comment

                            • zabbb
                              Junior Member
                              • Nov 2021
                              • 9

                              #15
                              You are absolutely correct. We're working now to configure SNMPTraps. I'll let you know if this gets us up and running.

                              Comment

                              Working...