[comment]: # ({92b4e67d-25de3dba})
# 1 Создание подгружаемых плагинов

[comment]: # ({/92b4e67d-25de3dba})

[comment]: # ({bc1ff65c-55534b94})
### Обзор

На этой странице представлены шаги, требующиеся для сборки бинарного файла подгружаемого плагина из исходных кодов.

Если загружен архив исходных кодов, то возможно собрать плагин в режиме офлайн, т.е. без соединения с Интернетом.

Плагин PostgreSQL используется в качестве примера. Другие подгружаемые плагины можно собрать аналогичным образом.

[comment]: # ({/bc1ff65c-55534b94})

[comment]: # ({a9697414-10bb98ef})
### Шаги

**1**. Загрузите исходные коды плагина из 
[облака образов и готовых решений Zabbix](https://cdn.zabbix.com/zabbix-agent2-plugins/sources/).
Вскоре будет доступна официальная страница загрузки.

**2**. Перенесите архив на машину, где Вы собираетесь собирать плагин.

**3**. Распакуйте архив, например: 

    tar xvf zabbix-agent2-plugin-postgresql-6.0.13.tar.gz

Убедитесь, что Вы заменили "zabbix-agent2-plugin-postgresql-6.0.13.tar.gz" на имя загруженного архива.

**4**. Перейдите в распакованную папку:

    cd <путь к папке>

**5**. Выполните:

    make

**6**. Выполняемый файл плагина может быть помещён куда угодно, поскольку он загружается Zabbix агентом 2. Укажите путь к бинарному файлу плагина в конфигурационном файле плагина, например, в postgresql.conf для плагина PostgreSQL:

    Plugins.PostgreSQL.System.Path=/путь/к/выполняемому/файлу/zabbix-agent2-plugin-postgresql

**7**. Путь к конфигурационному файлу плагина должен быть указан в параметре Include файла конфигурации Zabbix агента 2:

    Include=/путь/к/файлу/конфигурации/плагина/postgresql.conf

[comment]: # ({/a9697414-10bb98ef})

[comment]: # ({07350bcb-f9fd2647})
### Цели Makefile

Поставляемые Zabbix подгружаемые плагины имеют простые файлы makefile со следующими целями (targets):

|Цель|Описание|
|--|--------|
|make|Собрать плагин.|
|make clean|Удалить все файлы, которые обычно создаются при построении плагина.|
|make check|Выполнить автотесты. Требуется реальная база данных PostgreSQL.|
|make style|Проверить стиль кодирования Go при помощи утилиты 'golangci-lint'.|
|make format|Отформатировать код Go при помощи вызова 'go fmt'.|
|make dist|Создать архив, содержащий исходные коды плагина и всех пакетов, требующихся для построения плагина и его автотестов.|

[comment]: # ({/07350bcb-f9fd2647})
