New Feature Request
Host Discovery, Auto Registration, Host Prototypes
Zabbix currently has three different mechanisms to automatically create host objects: Discovery with Discovery Action, Autoregistration Actions and LLD Host Prototypes. Each of these is a powerful, useful mechanism on its own. Together they are are confusing inconsistent mess.
For example: LLD creates Hosts with Host Prototypes, allowing you to use Preprocessing and Macros to exactly define the created host. Discovery and Autoregistration are limited to actions with a limited set of possible operations and no preprocessing.
On the other hand, Discovery and Autoregistration create fully customizable host objects, while hosts generated from prototypes are weirdly crippled with a lot of attributes that are readonly (there has been improvement recently there, but e.g. host groups still cannot be added). Even worse, all dependent hosts will vanish when the master host is deleted, which means for example by deleting the vCenter-Host you can wipe out all of your compute monitoring history with two mouse clicks!
So I propose to unify these three mechanisms in a useful and consistent manner:
1) No more dependant hosts and readonly attributes - what use are they anyway? Make host prototypes generate fully editable hosts.
2) Change Discovery and Autoregistration from Actions to a LLD-Style interface with host prototypes and Preprocessing. This would allow much better initial customization of discovered hosts.
3) Make them work together: Whenever a host is found by multiple discovery methods, just let them add their stuff together:
- Host groups are all added if new -> no problem.
- Templates are added if new; if there is a conflict, the template that was added first wins.
- User Macros are copied; if the host already has the respective macro set, it keeps is value.
- Interfaces are added if they have different attributes.
4) Adopt the LLD "yellow exclamation mark" method for deleting hosts that are no longer discovered by ANY discovery method. Add a button to switch such a host to "manually created" to protect them from expiration.
I believe these changes would make host discovery much more powerful and understandable at the same time.