Zabbix Documentation 2.4

3.04.05.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.24.4Guidelines

User Tools

Site Tools


ru:manual:appendix:zabbix_sender_dll

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ru:manual:appendix:zabbix_sender_dll [2015/12/19 16:11] (current)
dotneft created
Line 1: Line 1:
 +==== 13 Динамическая библиотека Zabbix для Windows ====
  
 +Приложения в среде Windows могут использовать динамическую библиотеку Zabbix sender (zabbix_sender.dll)для отправки данных напрямую Zabbix серверу/​прокси,​ вместо выполнения внешнего процесса (zabbix_sender.exe).
 +
 +Динамическая библиотека вместе с файлами для разработки находятся в папке bin\winXX\dev. Чтобы ею воспользоваться,​ включите заголовочный файл zabbix_sender.h и свяжите с библиотекой zabbix_sender.lib. Пример использования Zabbix sender API можно найти в папке build\win32\examples\zabbix_sender.
 +
 +Динамической библиотекой Zabbix sender обеспечиваются следующие возможности:​
 +
 +^<code c>int zabbix_sender_send_values(const char *address, unsigned short port,
 +        const char *source, const zabbix_sender_value_t *values, int count,
 +        char **result);</​code>​ ||
 +|Описание||
 +| |Отправка структуры массива значений серверу/​прокси. Стуктура значений состоит из имени узла сети, ключа элемента данных и значения элемента данных.|
 +|Параметры|||
 +| |**address** - //[in]// адрес zabbix сервера/​прокси \\ **port** - //[in]// порт траппера zabbix сервера/​прокси \\ **source** - //[in]// исходный IP (опционально)\\ **values** - //[in]// отправляемый массив значений \\ **count** - //[in]// количество элементов данных в массиве значений \\ **result** - //[out]// ответ сервера или сообщение об ошибке (опционально) |
 +|Возвращаемое значение||
 +| |**0** - операция завершилась успешно \\ **-1** -  операция неудачна|
 +|Комментарии ||
 +| | Если переменная результата указана,​ функция выделяет необходимый объем памяти для хранения ответа/​сообщения об ошибке. Этот объем памяти всегда должен быть освобожден при помощью функции zabbix_sender_free_result().\\ Если оправка совершена успешно,​ result содержит ответ сервера,​ который можно обработать при помощи функции zabbix_sender_parse_result(). В случае ошибки,​ будет об ошибке записано в result .|
 +| ||
 +| ||
 +^<code c>int zabbix_sender_parse_result(const char *result, int *response,
 +        zabbix_sender_info_t *info);</​code>​ ||
 +|Описание||
 +| |Обработка результата,​ полученного из функции zabbix_sender_send_values(). |
 +|Параметры|||
 +| |**result** - //[in]// результат полученный от функции zabbix_sender_send_values().\\ **response** - //[out]// отклик операции:​ 0 - успешно,​ -1 неудачно.\\ **info** - //[out]// подробная информация о операции,​ опционально. |
 +|Возвращаемое значение||
 +| |**0** - операция завершена успешно \\ **-1** - операция неудачна |
 +|Комментарии||
 +| |Если был указан параметр info, но функции не удалось обработать результат из поля info, тогда в поле total структуры info записывается значение равное -1 .|
 +| ||
 +| ||
 +^<code c>void zabbix_sender_free_result(void *result);</​code>​ ||
 +|Описание||
 +| |Освобождение памяти от данных записанных функцией zabbix_sender_send_values().|
 +|Параметры|||
 +| |**result** - результат полученный функцией zabbix_sender_send_values().|
 +
 +Динамической библиотекой Zabbix sender используются следующие структуры данных:​
 +<code c>
 +typedef struct
 +{
 + /* host name, must match the name of target host in Zabbix (имя узла сети, должно совпадать с целевым именем узла сети в Zabbix)*/
 + char *host;​
 + /* the item key (ключ элемента данных)*/​
 + char *key;
 + /* the item value (значение элемента данных)*/​
 + char *value;​
 +}
 +zabbix_sender_value_t;​
 +
 +typedef struct
 +{
 + /* number of total values processed (общее количество обработанных значений)*/​
 + int total;
 + /* number of failed values (количество неудачных значений)*/​
 + int failed;​
 + /* time in seconds the server spent processing the sent values (время ​ в секундах затраченное сервером на обработку отправленных значений)*/​
 + double time_spent;​
 +}
 +zabbix_sender_info_t;​
 +</​code>​