I have the problem that auto-registration can only assign templates om the basis of hostnames which is not very flexible.
I have the idea to let auto-registration solve this problem by extending it to do the following:
The Zabbix admin can create a 'template' with active items that should be assigned as active items to unknown agents connecting to the Zabbix server.
So, this will be used for any active agent not yet being monitored.
Then, the resulting item values that the agent will send to the Zabbix server can be used in much the same way as the values and checks that are used in the discovery process.
The admin creates a template with an active item that returns the value of system.sw.os.
He creates an action that will put auto registered agents with the value 'Ubuntu' in the 'Linux servers' host group and links them to the template 'Linux'.
The template is linked to the auto-registation process.
An unregistered active agent connects to the zabbix server requesting monitored items.
Zabbix returns the items defined in the template.
The agent sends back the value of system.sw.os (in this case 'Ubuntu')
The auto-registration process receives the value for system.sw.os and uses it for the auto-registration action.
The host is put in the 'Linux servers' host group and linked to the template 'Linux'. (the auto-reg template is no longer used)
At the next item refresh by the agent, it will receive the new items to be used.
I think this will clarify my idea, other technical solutions may be usable to solve my problem. I'm open to suggestion