<?xml version='1.0' encoding='UTF-8'?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file source-language="en" target-language="nb-NO" datatype="plaintext" original="manual/extensions.md">
<trans-unit id="4f969495" xml:space="preserve">
<source># 21 Extensions</source>
<target state="needs-translation"># 20 Extensions</target>
<trans-unit id="574b73cc" xml:space="preserve">
Although Zabbix offers a multiplicity of features, there is always room for additional functionality.
Extensions are a convenient way of modifying and enhancing the monitoring capabilities of Zabbix
without changing its source code.
You can extend Zabbix functionality either by using built-in extension options
(trapper items, user parameters, etc.) or by using or creating custom extensions (loadable modules, plugins, etc.).
This section provides an overview with references to all the options for extending Zabbix.</source>
<trans-unit id="7b2875dd" xml:space="preserve">
<source>#### Data collection with custom commands</source>
<trans-unit id="2d4c92f9" xml:space="preserve">
<source>##### Trapper items
[Trapper items](/manual/config/items/itemtypes/trapper) are items that accept incoming data instead of querying for it.
Trapper items are useful for sending specific data to Zabbix server or proxy, for example, periodic availability and performance data in the case of long-running user scripts.
Sending data to Zabbix server or proxy is possible using the [Zabbix sender](/manual/concepts/sender) utility or Zabbix sender [protocol](/manual/appendix/protocols/zabbix_sender).
Sending data to Zabbix server is also possible using the [`history.push`](/manual/api/reference/history/push) API method.</source>
<trans-unit id="327d4393" xml:space="preserve">
<source>##### External checks
An [external check](/manual/config/items/itemtypes/external) is an item for executing checks
by running an executable, for example, a [shell script](/manual/appendix/command_execution) or a binary.
External checks are executed by Zabbix server or proxy (when host is monitored by proxy),
and do not require an agent running on the host being monitored.</source>
<trans-unit id="ce750625" xml:space="preserve">
<source>##### User parameters
A [user parameter](/manual/config/items/userparameters) is a user-defined command (associated with a user-defined key)
that, when executed, can retrieve the data you need from the host where Zabbix agent is running.
User parameters are useful for configuring agent or agent 2 items that are not predefined in Zabbix.</source>
<trans-unit id="014456ed" xml:space="preserve">
<source>##### `system.run[]` Zabbix agent items
`system.run[]` Zabbix [agent item](/manual/config/items/itemtypes/zabbix_agent#system-data)
is an item for a user-defined command (associated with a predefined key `system.run[]`,
for example, `system.run[myscript.sh]`) that can be executed on the host where Zabbix agent is running.
Note: `system.run[]` items are disabled by default and, if used,
must be enabled ([allowed](/manual/config/items/restrict_checks)) and defined
in the Zabbix agent or agent 2 configuration file (`AllowKey` configuration parameter).</source>
<trans-unit id="8ef20381" xml:space="preserve">
<source>::: noteimportant
User-defined commands in items such as external checks, user parameters and `system.run[]` Zabbix agent items
are executed from the OS user that is used to run Zabbix components.
To execute these commands, this user must have the necessary permissions.