en	# Plugins

en	### Overview Custom loadable plugins extend Zabbix agent 2 functionality. They are compiled separately, but use a package shared with Zabbix agent 2. Each plugin is a *Go* package that defines the structure and implements one or several plugin interfaces (*Exporter*, *Configurator*, *Runner*). Jump to: - [Write your first plugin](/devel/plugins/how_to) - [Plugin interfaces](/devel/plugins/interfaces) See also: - [Example plugin for Zabbix agent 2](https://git.zabbix.com/projects/AP/repos/example/browse) ### Connection diagram Zabbix agent 2 connects bidirectionally to the plugins using UNIX sockets on Linux and Named Pipes on Windows. The connection diagram below illustrates the communication process between Zabbix agent 2 and a loadable plugin and the metrics collection process. ![](../../assets/en/devel/plugin/connection_diagram.png)
nb-no	### Overview Custom loadable plugins extend Zabbix agent 2 functionality. They are compiled separately, but use a package shared with Zabbix agent 2. Each plugin is a *Go* package that defines the structure and implements one or several plugin interfaces (*Exporter*, *Configurator*, *Runner*). Jump to: - [Write your first plugin](/devel/plugins/how_to) - [Plugin interfaces](/devel/plugins/interfaces) ### Connection diagram Zabbix agent 2 connects bidirectionally to the plugins using UNIX sockets on Linux and Named Pipes on Windows. The connection diagram below illustrates the communication process between Zabbix agent 2 and a loadable plugin and the metrics collection process. ![](../../assets/en/devel/plugin/connection_diagram.png)