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;