Greetings,
Working on a template for FortiOS with VDOM support, I face a challenge.
Some context: FortiOS is the operating system on FortiGate firewalls. FortiOS supports VDOMs, which are essentially isolated partitions on the device. Interfaces, as well as a number of other objects are configured to belong to a VDOM. This is reflected in SNMP, although not exactly in a way where I can seemingly use it.
While we do support standard interface mibs for our device, we have a separate vendor specific OID table which contains the following mappings:
interfaceindex -> vdomindex
And then yet another OID table which contains:
vdomindex -> vdomname
Now my goal is to create an application for each VDOM on the host device and set that application for discovered objects that have a vdomindex number. I can accomplish that by the use of LLD application prototypes. But here is the challenge: this results in the usage of vdomindex (the vdom number) rather than its name.
I cannot find any clear way to be able to use the related vdomname in my context since the various objects that are bound to a VDOM refer to vdoms by index in the SNMP tables and I would have to have a mechanism which lets me lookup the vdomindex-to-vdomname value in order to use that instead of the index.
Is there a way where I could lookup an OID like this and use the resulting value in template discovery rules? I cant really use the value map feature that exists globally in Zabbix due to VDOM listings changing from one device to another.
Suggestions are welcome!
Mat
Working on a template for FortiOS with VDOM support, I face a challenge.
Some context: FortiOS is the operating system on FortiGate firewalls. FortiOS supports VDOMs, which are essentially isolated partitions on the device. Interfaces, as well as a number of other objects are configured to belong to a VDOM. This is reflected in SNMP, although not exactly in a way where I can seemingly use it.
While we do support standard interface mibs for our device, we have a separate vendor specific OID table which contains the following mappings:
interfaceindex -> vdomindex
And then yet another OID table which contains:
vdomindex -> vdomname
Now my goal is to create an application for each VDOM on the host device and set that application for discovered objects that have a vdomindex number. I can accomplish that by the use of LLD application prototypes. But here is the challenge: this results in the usage of vdomindex (the vdom number) rather than its name.
I cannot find any clear way to be able to use the related vdomname in my context since the various objects that are bound to a VDOM refer to vdoms by index in the SNMP tables and I would have to have a mechanism which lets me lookup the vdomindex-to-vdomname value in order to use that instead of the index.
Is there a way where I could lookup an OID like this and use the resulting value in template discovery rules? I cant really use the value map feature that exists globally in Zabbix due to VDOM listings changing from one device to another.
Suggestions are welcome!
Mat