We have the need to monitor multiple running installations of the same software on one host.
In my particular case, multiple running installations of PostgreSQL RDBMS on different ports, but it can also be true for other applications such as Java, or Apache, etc. There is no easy way to describe the one-to-many relationship in the Zabbix configuration for a template.
To add to the complexity, each instance of PostgreSQL can have many databases, and the database name can be identical on two different running instances of PostgreSQL on the same server.
There needs to be some hierarchical relationship capability in Zabbix to describe and monitor these multiple application instances on one host. I have about 100 DB servers and I don't relish the thought of having to manually configure each running PostgreSQL instance and all the DBs in it within Zabbix.
I have managed to partially work around it by using auto-discovery and including the port number and database name as parts of the key, but Zabbix seems to get "confused" when I try to create dynamic screens from the auto-generated graphs.