Uploaded image for project: 'Observium'
  1. Observium
  2. OBS-50

Add support for aruba controllers and access points

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • None
    • None
    • Poller
    • any

    Description

      I have added support for aruba networks controllers and access points.

      I will attach my patch.

      One thing which is a bit unusual is that the aruba access points don't have an SNMP agent themselves. Instead you can get information about each access point from the controller it is connected to. I added support for the access points in a similar manner to getting information about ports of a switch.

      Attachments

        1. arubapatchv1.patch
          65 kB
        2. arubapatchv2.patch
          32 kB
        3. arubapatchv3.patch
          32 kB
        4. arubapatchv4.patch
          27 kB
        5. accesspoint.sql
          54 kB
        6. arubapatchv5.patch
          25 kB
        7. arubapatchv6.diff
          9 kB
        8. arubapatchv7.patch
          21 kB
        9. accesspoints.tgz
          5 kB
        10. newfiles.patch
          13 kB

        Activity

          [OBS-50] Add support for aruba controllers and access points

          Using this on a master and slave aruba 3400 controller, when viewing the "Access points" tab on the controller host page it show "noauth" on the graphs and if you click on the graph you get a "You do are not authorized to view this page" message. I am logged in as a level 10 user on SVN revision 3835.
          Here is the url that I am not permitted to view:
          http://observium/graphs/to=1364490153/type=accesspoints_numasoclients/from=1363885353/
          and screenshots of the errors here: http://dl.dropbox.com/u/5551808/Screenshots/s.png and http://dl.dropbox.com/u/5551808/Screenshots/t.png

          If this needs to be a new bug report let me know.

          slm4996 Solomon Seal added a comment - Using this on a master and slave aruba 3400 controller, when viewing the "Access points" tab on the controller host page it show "noauth" on the graphs and if you click on the graph you get a "You do are not authorized to view this page" message. I am logged in as a level 10 user on SVN revision 3835. Here is the url that I am not permitted to view: http://observium/graphs/to=1364490153/type=accesspoints_numasoclients/from=1363885353/ and screenshots of the errors here: http://dl.dropbox.com/u/5551808/Screenshots/s.png and http://dl.dropbox.com/u/5551808/Screenshots/t.png If this needs to be a new bug report let me know.

          committed in 3223

          adama Adam Armstrong added a comment - committed in 3223

          the accesspoints.tgz should go in observium/html/includes/graphs

          sommere Ethan Sommer added a comment - the accesspoints.tgz should go in observium/html/includes/graphs

          with the rest of the files (I hope)

          sommere Ethan Sommer added a comment - with the rest of the files (I hope)

          exported with svn diff
          sql-schema renamed to 026.sql

          sommere Ethan Sommer added a comment - exported with svn diff sql-schema renamed to 026.sql

          RRDs consolidated
          accesspoint renamed

          sommere Ethan Sommer added a comment - RRDs consolidated accesspoint renamed

          I've attached a dump of my accesspoint table (now renamed)

          sommere Ethan Sommer added a comment - I've attached a dump of my accesspoint table (now renamed)

          I will try to make everything use "accesspoint" and see if I can consolidate down to one rrd file per accesspoint.

          sommere Ethan Sommer added a comment - I will try to make everything use "accesspoint" and see if I can consolidate down to one rrd file per accesspoint.

          > Are the different RRDs optional?

          I could probably put them all in one per AP.

          >Why are you using numeric oids? this is weird :

          Because the OID contains the mac address of the AP in binary. If I don't use numeric APs, non-printable characters show up as periods (.) so multiple APs have the same index eg ..F.... So the numeric OIDs are necessary.

          sommere Ethan Sommer added a comment - > Are the different RRDs optional? I could probably put them all in one per AP. >Why are you using numeric oids? this is weird : Because the OID contains the mac address of the AP in binary . If I don't use numeric APs, non-printable characters show up as periods (.) so multiple APs have the same index eg ..F.... So the numeric OIDs are necessary.

          Thanks!

          Would you believe it, but I've just started to merge generate_port_link into generate_entity_link. (we're trying to do away with "entity-type" specific functions).

          Don't worry though, I'll merge generate_ap_link and generate_ap_url at the same time.

          And now...

          This part:

          $ap=accesspoint_by_id($id);
          $device = device_by_id_cache($ap['device_id']);

          $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] ."/".
          safename("arubaap-$ap[name].$ap[radio_number].nummonclients.rrd");

          Should be done in auth.inc.php, a 'graph category', like "port" or "sensor" is a grouping of things where the id passed is related to the same thing.

          Are the different RRDs optional? Is there scope to merge any of them? Each RRD file we write involves at least a read to read the pointer, and a write to write the pointer, on top of the data writing.

          Why are you using numeric oids? this is weird :

          $type =$aruba_apstats["1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.2.$radioid"][''];

          And I just noticed, but the table should be called accesspoints, as the id field is "accesspoint_id" (it makes it easier to do a lot of other things later). It'd also be a good idea to make sure the same term is used everywhere in the code, i.e. ap vs accesspoint vs access_point, it gets hard to guess

          Could you also attach a couple of rows from your database from the accesspoints table, and the matching rrds in a .tar.gz? So i can put them on the dev install and see how it looks.

          I don't think anyone else has every committed anything which creates a new entity category before. It's hard work :>

          adam.

          adama Adam Armstrong added a comment - Thanks! Would you believe it, but I've just started to merge generate_port_link into generate_entity_link. (we're trying to do away with "entity-type" specific functions). Don't worry though, I'll merge generate_ap_link and generate_ap_url at the same time. And now... This part: $ap=accesspoint_by_id($id); $device = device_by_id_cache($ap ['device_id'] ); $rrd_filename = $config ['rrd_dir'] . "/" . $device ['hostname'] ."/". safename("arubaap-$ap [name] .$ap [radio_number] .nummonclients.rrd"); Should be done in auth.inc.php, a 'graph category', like "port" or "sensor" is a grouping of things where the id passed is related to the same thing. Are the different RRDs optional? Is there scope to merge any of them? Each RRD file we write involves at least a read to read the pointer, and a write to write the pointer, on top of the data writing. Why are you using numeric oids? this is weird : $type =$aruba_apstats ["1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.2.$radioid"] [''] ; And I just noticed, but the table should be called accesspoints, as the id field is "accesspoint_id" (it makes it easier to do a lot of other things later). It'd also be a good idea to make sure the same term is used everywhere in the code, i.e. ap vs accesspoint vs access_point, it gets hard to guess Could you also attach a couple of rows from your database from the accesspoints table, and the matching rrds in a .tar.gz? So i can put them on the dev install and see how it looks. I don't think anyone else has every committed anything which creates a new entity category before. It's hard work :> adam.

          People

            adama Adam Armstrong
            sommere Ethan Sommer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: