Hi,

I think this has been mentioned before, but just in case...

I would love to see table/array support for probes and 'probe-lingo' (Do you even have a name for the script language in those probes?  :-)

The cool thing would be if you ask one OID and then can determine how much you need to query for the rest of the probe.
Say we have a devices that supports 1-n clients/access points/interfaces.

Lets us AP's in this example.
Then we send the first query containing basic OID's including an OID that ask how many AP's is currently connected.

    ccAPCount,                        1.3.6.1.4.1.388.6.1.1.23.0,        DEFAULT,        "AP count" -> 12

Knowing that we won't see more than 12 AP's, there is no need to query (and display) data for all possible 30 AP's on the system.

So, it would be grat if we could do something like:

  ${array:name, valueName1, valueName2, valueName, valueName,... , valueNameN}
Ex:
${array:ccAPStatus, ccRadioName, ccRadioChannel, ccRadioMUs, ccRadioOnlineStatus}

And then do:

<SNMP-ARRAY-DEFINE-OIDs>
  -- Like normal OID's, we define OID's that IM should query in the table. Notice that they and with '.' indicating that the table entry # should be added.
    ccRadioName,                        1.3.6.1.4.1.388.6.2.10.1.29.,    DEFAULT,        "Radio Name"
    ccRadioChannel,                    1.3.6.1.4.1.388.6.2.10.1.36.,    DEFAULT,        "Radio Channel"
    ccRadioMUs,                        1.3.6.1.4.1.388.6.2.10.1.48.,    DEFAULT,        "MU's Assosiated"
    ccRadioOnlineStatus,                1.3.6.1.4.1.388.6.2.10.1.31.,    DEFAULT,        "AP's Status"
${array:ccAPStatus, ccRadioName, ccRadioChannel, ccRadioMUs, ccRadioOnlineStatus}
</SNMP-ARRAY-DEFINE-OIDs>


FOR 1 TO ccAPCount
-- Iterate through each table entry where there is possible data and add an array entry.
ADD to ARRAY ccAPStatus($i)
END

Then it should be possible to make a DISPLAY loop like:

${eval-array: $ccAPStatus.ccRadioOnlineStatus.$i == "1" ? "$ccAPStatus.ccRadioName.$i MUs: $ccAPStatus.ccRadioMUs.$i, Ch: $ccAPStatus.ccRadioChannel.$i" : $ccAPStatus.ccRadioOnlineStatus.$i == "3" ? "Alert" : $ccAPStatus.ccRadioOnlineStatus.$i == "0" ? "\B1\Offline: $ccAPStatus.ccRadioName.$i\P0\" : "n/a"}

that would loop through all entries of the array and make a line for each.

A probe I just made would go from 254 lines to 67 lines of code, and query the device more gentle.

I think it would totally rock... (and you must already use the same technic in the build-in AP probes where you get the Client details...)


    Jakob Peterhänsel

"Tell me why, don't we try, not to break our hearts 
  and make it so hard for our selfs"
P.S.B. 1987

Email:     [EMAIL PROTECTED]
AIM:         Marook
Phone:     +45 22684961

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to