I'd like to suggest that user macros be evaluated earlier than they are currently. This would add a lot of power to monitoring SNMP tables.
We monitor several things that have complex SNMP tables. One example is an Acme Packet Session Border Controller, which is used to switch VOIP calls between a number of endpoints. The SBC has tables of "Agents" which hold a number of items we want to monitor for each endpoint, for example, Agent Status, Current Active Calls Inbound, Current Active Calls Outbound, Total Inbound Calls, Total Outbound Calls, etc.
These tables are indexed by an Agent index number, which can change when the SBC's configuration is changed. We configure the items using the Zabbix OID "index" function so that they don't break when the index number changes.
This all works, but is very tedious to configure. One of our SBC's has 32 SIP Agents, with 5 items per agent, and that doesn't count H323 Agents and Realms which add even more items.
All of these hundreds of items had to be individually configured. Templates won't work here because the agents on each SBC are indexed with different IP's or names. And you can't use the "$1" key parameter in an OID, so it's a separate step to configure the OID. We can use the "$1" key parameter in the Item Description, but then the items are displayed in incorrect (non-alphabetical) order. [REQUEST: Please allow "$1" key parameters in OIDs, and please evaluate "$1" key parameters in item descriptions before alphabetizing]
What I'd really like to do is to define an Agent object with 5 parameterized items in it, then "instantiate" it multiple times in a host, using different parameters for each instance.
Zabbix comes REALLY close to allowing something like this with nested templates. I've tried creating a template which defines a generic Agent's items with User Macros as parameters, then nesting that to create templates for each Agent with unique User Macros. But they don't work because the User Macros are evaluated too late - I can't assign more that one of the templates to a host because Zabbix flags an error: "Template with item key [Sessions_Inbound[{$AGENT_IP}]] already linked to host".
REQUEST: User Macros should be evaluated BEFORE checking for uniqueness of item keys. Then this nested template method would work. When configuring triggers or graphs, the items should be listed AFTER the macros have been evaluated.
And FYI this is not just an SBC issue, we have similar large SNMP tables with the same problem in Avaya PBX's and other gear.
Thanks for such a great piece of software,
Kevin
We monitor several things that have complex SNMP tables. One example is an Acme Packet Session Border Controller, which is used to switch VOIP calls between a number of endpoints. The SBC has tables of "Agents" which hold a number of items we want to monitor for each endpoint, for example, Agent Status, Current Active Calls Inbound, Current Active Calls Outbound, Total Inbound Calls, Total Outbound Calls, etc.
These tables are indexed by an Agent index number, which can change when the SBC's configuration is changed. We configure the items using the Zabbix OID "index" function so that they don't break when the index number changes.
This all works, but is very tedious to configure. One of our SBC's has 32 SIP Agents, with 5 items per agent, and that doesn't count H323 Agents and Realms which add even more items.
All of these hundreds of items had to be individually configured. Templates won't work here because the agents on each SBC are indexed with different IP's or names. And you can't use the "$1" key parameter in an OID, so it's a separate step to configure the OID. We can use the "$1" key parameter in the Item Description, but then the items are displayed in incorrect (non-alphabetical) order. [REQUEST: Please allow "$1" key parameters in OIDs, and please evaluate "$1" key parameters in item descriptions before alphabetizing]
What I'd really like to do is to define an Agent object with 5 parameterized items in it, then "instantiate" it multiple times in a host, using different parameters for each instance.
Zabbix comes REALLY close to allowing something like this with nested templates. I've tried creating a template which defines a generic Agent's items with User Macros as parameters, then nesting that to create templates for each Agent with unique User Macros. But they don't work because the User Macros are evaluated too late - I can't assign more that one of the templates to a host because Zabbix flags an error: "Template with item key [Sessions_Inbound[{$AGENT_IP}]] already linked to host".
REQUEST: User Macros should be evaluated BEFORE checking for uniqueness of item keys. Then this nested template method would work. When configuring triggers or graphs, the items should be listed AFTER the macros have been evaluated.
And FYI this is not just an SBC issue, we have similar large SNMP tables with the same problem in Avaya PBX's and other gear.
Thanks for such a great piece of software,
Kevin
Comment