15 Zabbix sender dynamic link library for Windows
In a Windows environment applications can send data to Zabbix server/proxy directly by using the Zabbix sender dynamic link library (zabbix_sender.dll) instead of having to launch an external process (zabbix_sender.exe).
The dynamic link library with the development files is located in bin\winXX\dev folders. To use it, include the zabbix_sender.h header file and link with the zabbix_sender.lib library. An example file with Zabbix sender API usage can be found in build\win32\examples\zabbix_sender folder.
The following functionality is provided by the Zabbix sender dynamic link library:
| ||
|---|---|---|
| Description | ||
| Sends an array of value structures to the proxy/server. A value structure contains host name, item key and item value. Note: Windows sockets must be initialized with WSAStartup call before using the zabbix_sender_send_values function. | ||
| Parameters | ||
| address - [in] the server/proxy address port - [in] the trapper port on the server/proxy source - [in] the source IP (optional) values - [in] an array of values to send count - [in] the number of items in values array result - [out] the server response or an error message (optional) | ||
| Return value | ||
| 0 - operation completed successfully -1 - operation failed | ||
| Comments | ||
| If the result variable is specified this function allocates the necessary memory to store server response/error message. It must be always freed afterwards with zabbix_sender_free_result() function. If operation was successful the result contains server response which can be parsed with zabbix_sender_parse_result() function. In the case of error the error message will be stored into result instead. | ||
| ||
| Description | ||
| Parses the result returned from zabbix_sender_send_values() function. | ||
| Parameters | ||
| result - [in] the result returned by zabbix_sender_send_values() function. response - [out] the operation response: 0 - success, -1 failed. info - [out] the detailed information about operation, optional. | ||
| Return value | ||
| 0 - operation completed successfully -1 - operation failed | ||
| Comments | ||
| If info parameter was specified, but the function failed to parse the result info field, then the info structure field total is set to -1. | ||
| ||
| Description | ||
| Frees data allocated by zabbix_sender_send_values() function. | ||
| Parameters | ||
| result - the result returned by zabbix_sender_send_values() function. | ||
The following data structures are used by the Zabbix sender dynamic link library:
typedef struct{/* host name, must match the name of target host in 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;