There are two common use case scenarios that revolves around updating templates and that are hard to do right now:
- Testing new template on one Zabbix server(testing env) and then export it to XML and then import it to another Zabbix server(production)
- Distributing monitoring solution as XML template on lets say share.zabbix.com. and then updating this XML and publishing new version.
Problem is this:
1. As far as I know. item key identifier during XML import is key_ - but it has parameters that you might wanna tune inside square brackets , like some sort of timeout. Once you do it on your test server and then try to import it: Zabbix thinks it's brand new item. And creates new item instead of linking to the previous one. If you tick 'delete missing items' - then you would loose all item's history, which is not acceptable for many users.
2. Same applies for triggers. During import trigger expression+ trigger name is identifier. So if you decided to rename your trigger (there was a typo there for example, or decided to improve the description) or fine tune your trigger's expression. Then you would either get duplicated triggers during XML import or loose all your trigger events (if you tick 'delete missing triggers').
If you use IT Services then it might become broken since old trigger is removed and new one is not mapped to the service (
Introducing unique static ID(key) for triggers and items could solve that templates distribution and update problem.