Hi all,
Search showed nothing helpful, so throwing it out there.
I have a functioning SNMP LLD for Entity Physical Serial Number values, which works fine for simple network devices. Unfortunately, it doesn't provide where the physical entity is hosted on more complex devices (e.g. which line card, module etc.).
I created a more complex LLD that attempted to extract the entPhysicalContainedIn value and get the name of the ContainedIn entity.
Unfortunately, the LLD failed, as it was attempting to reference something that hadn't been parsed yet.
Is there any way that something like this can be achieved inside Zabbix?
Functioning (simple) LLD:
discovery[{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7,{#ENT_SN},1.3 .6.1.2.1.47.1.1.1.1.11]
Failing (more complex) LLD:
discovery[{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7,{#ENT_SN},1.3 .6.1.2.1.47.1.1.1.1.11,{#ENT_CONTAINED_IN},1.3.6.1 .2.1.47.1.1.1.1.4,{#CONTAINED_IN_NAME},1.3.6.1.2.1 .47.1.1.1.1.7.{#ENT_CONTAINED_IN}]
Note that the last macro (CONTAINED_IN_NAME) is attempting to reference the value from the previous macro in the list (ENT_CONTAINED_IN), as this goes back to the same table with a different index.
The error being thrown when the LLD becomes Not Supported is "snmp_parse_oid(): cannot parse OID "1.3.6.1.2.1.47.1.1.1.1.7.{#ENT_CONTAINED_IN}" "
I only need the ENT_NAME and CONTAINED_IN_NAME values for Item creation (from the Item Prototype), and then use the SNMPINDEX macro to set the OID to be polled.
Edit:
I have found the following on Items in a couple of Templates. Any thoughts on if/how this can be grafted into a Discovery Rule?
<snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.11["index",".1.3.6.1.2.1.47.1.1.1.1.4","0"]</snmp_oid>
Thanks
Search showed nothing helpful, so throwing it out there.
I have a functioning SNMP LLD for Entity Physical Serial Number values, which works fine for simple network devices. Unfortunately, it doesn't provide where the physical entity is hosted on more complex devices (e.g. which line card, module etc.).
I created a more complex LLD that attempted to extract the entPhysicalContainedIn value and get the name of the ContainedIn entity.
Unfortunately, the LLD failed, as it was attempting to reference something that hadn't been parsed yet.
Is there any way that something like this can be achieved inside Zabbix?
Functioning (simple) LLD:
discovery[{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7,{#ENT_SN},1.3 .6.1.2.1.47.1.1.1.1.11]
Failing (more complex) LLD:
discovery[{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7,{#ENT_SN},1.3 .6.1.2.1.47.1.1.1.1.11,{#ENT_CONTAINED_IN},1.3.6.1 .2.1.47.1.1.1.1.4,{#CONTAINED_IN_NAME},1.3.6.1.2.1 .47.1.1.1.1.7.{#ENT_CONTAINED_IN}]
Note that the last macro (CONTAINED_IN_NAME) is attempting to reference the value from the previous macro in the list (ENT_CONTAINED_IN), as this goes back to the same table with a different index.
The error being thrown when the LLD becomes Not Supported is "snmp_parse_oid(): cannot parse OID "1.3.6.1.2.1.47.1.1.1.1.7.{#ENT_CONTAINED_IN}" "
I only need the ENT_NAME and CONTAINED_IN_NAME values for Item creation (from the Item Prototype), and then use the SNMPINDEX macro to set the OID to be polled.
Edit:
I have found the following on Items in a couple of Templates. Any thoughts on if/how this can be grafted into a Discovery Rule?
<snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.11["index",".1.3.6.1.2.1.47.1.1.1.1.4","0"]</snmp_oid>
Thanks