[comment]: # ({e0d353ca-ce30c55d})
# 4 Host prototypes

[comment]: # ({/e0d353ca-ce30c55d})

[comment]: # ({10ba8cd7-f9e8f670})

Host prototypes are blueprints for creating hosts through [low-level discovery](/manual/discovery/low_level_discovery) rules.
Before being discovered as hosts, these prototypes cannot have items and triggers, except those linked from templates.

[comment]: # ({/10ba8cd7-f9e8f670})

[comment]: # ({0ff6dec5-b2664a94})
#### Configuration

Host prototypes are configured under [low-level discovery rules](/manual/discovery/low_level_discovery#discovery-rule).

To create a host prototype:

1\. Go to [*Data collection* → *Hosts*](/manual/web_interface/frontend_sections/data_collection/hosts).

2\. Click *Discovery* for the required host to navigate to the list of low-level discovery rules configured for that host.

3\. Click *Host prototypes* for the required discovery rule.

4\. Click the *Create host prototype* button in the upper right corner.

![](../../../../assets/en/manual/discovery/low_level_discovery/host_prototype.png){width=600}

Host prototypes have the same parameters as regular [hosts](/manual/config/hosts/host); however, the following parameters support different or additional configuration:

|Parameter|Description|
|--|--------|
|*Host name*|This parameter must contain at least one [low-level discovery macro](/manual/config/macros/lld_macros) to ensure unique host names for created hosts.|
|*Visible name*|[Low-level discovery macros](/manual/config/macros/lld_macros) are supported.|
|*Group prototypes*|Allows specifying host group prototypes by using [low-level discovery macros](/manual/config/macros/lld_macros).<br>Based on the specified group prototypes, [host groups](/manual/web_interface/frontend_sections/data_collection/hostgroups) will be discovered, created and linked to the created hosts; discovered groups that have already been created by other low-level discovery rules will also be linked to the created hosts. However, discovered host groups that match [manually](/manual/config/hosts/host_groups) created host groups will not be linked to the created hosts.|
|*Interfaces*|Set whether discovered hosts inherit the IP from the host that the discovery rule belongs to (default), or get [custom interfaces](#host-interfaces).<br>[Low-level discovery macros](/manual/config/macros/lld_macros) and [user macros](/manual/config/macros/user_macros) are supported.|
|*Create enabled*|Set the status of discovered hosts; if unchecked, hosts will be created as disabled.|
|*Discover*|Set whether hosts will be created from the host prototype; if unchecked, hosts will not be created from the host prototype (unless this setting is [overridden](/manual/discovery/low_level_discovery#override) in the low-level discovery rule).|

::: noteclassic
[Low-level discovery macros](/manual/config/macros/lld_macros) are also supported for tag values and host prototype user macro values.<br>
*Value maps* are not supported for host prototypes.
:::

For an example of how to configure a host prototype, see [*Virtual machine monitoring*](/manual/vm_monitoring#configuration-examples).

[comment]: # ({/0ff6dec5-b2664a94})

[comment]: # ({3c73b104-9b6a7dc5})
##### Host interfaces

To add custom interfaces, switch the *Interfaces* selector from "Inherit" to "Custom".
Click ![add\_link.png](../../../../assets/en/manual/config/add_link.png) and select the interface type - Zabbix agent, SNMP, JMX, IPMI.

::: noteclassic
If *Custom* is selected, but no interfaces have been set, the hosts will be created without interfaces.<br>
If *Inherit* is selected and the host prototype belongs to a template, all discovered hosts will inherit the host interface from the host to which the template is linked.
:::

If multiple custom interfaces are specified, the primary interface can be set in the *Default* column.

For an example of how to configure a custom host interface, see [*VMware monitoring setup example*](/manual/vm_monitoring/example#advanced-host-interface-configuration).

::: notewarning
A host will only be created if a host interface contains correct data.
:::

[comment]: # ({/3c73b104-9b6a7dc5})

[comment]: # ({b38fbda1-cbeb5931})
##### Discovered hosts

In the host list, discovered hosts are prefixed with the name of the discovery rule that created them.

Discovered hosts inherit most parameters from host prototypes as *read-only*.
Only the following discovered host parameters can be configured:

-   *Templates* - link new templates or unlink manually added ones. Templates inherited from a host prototype cannot be unlinked.
-   *Description* - add or edit the host description.
-   *Status* - enable or disable the host.
-   *Tags* - add new tags or remove manually added ones. Tags inherited from a host prototype cannot be removed. Note that tags cannot have duplicates (tags with the same name and value). If a new tag is added to the host prototype and it matches a manually added tag on a discovered host, the manually added tag will be replaced with the inherited tag during discovery.
-   *Macros* - add new host macros or remove manually added ones, as well as those inherited from a host prototype; change macro values and [types](/manual/config/macros/user_macros#configuration).

::: noteclassic
Discovered hosts also inherit [user macros](/manual/config/macros/user_macros) from the host where the discovery rule is configured.
These inherited macros can be removed, and their values and types can be changed.
:::

Discovered hosts can be deleted manually. Note, however, that they will be discovered again if discovery is enabled for them.

Hosts that are no longer discovered may be:

-   automatically disabled (based on the *Disable lost resources* value of the discovery rule) 
-   automatically deleted (based on the *Delete lost resources* value of the discovery rule).

::: noteclassic
Zabbix does not support nested host prototypes, that is, host prototypes on hosts discovered by low-level discovery rules.
:::

[comment]: # ({/b38fbda1-cbeb5931})
