Skip to content

Cacti should support with bogus OIDs coming from devices (example: Juniper Netscreen security metrics) #6108

@bernisys

Description

@bernisys

Feature Request

Is your feature request related to a problem? Please describe

This might be a corner case, but i think Cacti could support here easily, requiring less effort in the XML part of the query.

The Juniper Netscreen devices offer security metrics (like SYN attack counters) under the OID .1.3.6.1.4.1.2636.3.39.1.8.1.1.1.1.1

Problem here is, that the string indexes of the contained objects are padded with trailing zeros ..
If someone from Juniper reads this: Guys this is majorly ugly .. someone might think a check for an end-of-string is missed in the code :)

Cacti doesn't parse this properly out of the box, the zeros seem to irritate it too much, the index enumeration is not counting up the object number, the result is that only the first element is kept in the list of returned objects, even though the debug output lists all strings properly.

Describe the solution you'd like

Cacti should drop trailing zeros in the OIDs before parsing the name objects of an OID-index.

Describe alternatives you've considered

The XML solution is to use this regex to parse out the zeros at the end:

<oid_index_parse>OID/REGEXP:\.*1\.3\.6\.1\.4\.1\.2636\.3\.39\.1\.8\.1\.1\.1\.1\.1\.([0-9.]*?)[0.]*$</oid_index_parse>

Though this can really be a bit misleading for even advanced Cacti users, to have to produce a regex parser for something that should actually work without it.

Additional context

Here's the result without the regex:
Image

Here with regex parser included in the XML:
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementGeneral tag for an enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions