15 适用于Windows的Zabbix sender 动态链接库
在Windows环境中,应用程序可以使用Zabbix sender动态链接库(zabbix_sender.dll)直接将数据发送到Zabbix server/proxy,而不必启动外部进程(zabbix_sender.exe)。
带有开发文件的动态链接库位于 bin\winXX\dev 文件夹中。 要使用它,请包含zabbix_sender.h头文件并链接到zabbix_sender.lib库。可以在build \ win32 \ examples \ zabbix_sender文件夹中找到具有Zabbix发送器API用法的示例文件。 要使用它,请包含zabbix_sender.h头文件并链接到zabbix_sender.lib库。可以在build \ win32 \ examples \ zabbix_sender文件夹中找到具有Zabbix发送器API用法的示例文件。
Zabbix sender动态链接库提供以下功能:
| ||
---|---|---|
描述 | ||
将一组结构数据送到proxy/server。这组结构包含host name, item key 和 item value。 | ||
参数 | ||
address - [in] proxy/server的地址 port - [in] server/proxy上的采集器端口 source - [in] 源IP (可选的) values - [in] 要发送的值数组 count - [in] 数组中的监控项数量 result - [out] 服务器响应或错误消息 (可选的) | ||
返回值 | ||
0 - 操作成功完成 -1 - 操作失败 | ||
备注 | ||
如果指定了结果变量,则此函数会分配必要的内存来存储server的响应/错误消息。之后必须使用zabbix_sender_free_result()函数释放它。 如果操作成功,则结果可以使用zabbix_sender_parse_result()函数解析的服务器响应。 如果出现错误,则错误消息将存储到结果中。 | ||
| ||
描述 | ||
解析从zabbix_sender_send_values()函数返回的结果。 | ||
参数 | ||
result - [in] zabbix_sender_send_values()函数返回的结果。 response - [out] 操作响应:0 - 成功, -1失败。 info - [out] 有关操作的详细信息,可选。 | ||
返回值 | ||
0 - 操作成功完成 -1 - 操作失败 | ||
备注 | ||
如果指定了info参数,但函数无法解析结果信息字段,则info结构字段total设置为-1。 | ||
| ||
描述 | ||
zabbix_sender_send_values() 函数用于释放分配的数据。 | ||
参数 | ||
result - zabbix_sender_send_values()函数返回的结果。 |
Zabbix sender 动态链接库使用以下数据结构:
typedef struct
{
/* 主机名,必须与Zabbix中目标主机的名称匹配 */
char *host;
/* item key */
char *key;
/* item value */
char *value;
}
zabbix_sender_value_t;
typedef struct
{
/* 处理数值的总数量 */
int total;
/* 失败值的数量 */
int failed;
/* server处理发送值花的时间(以秒为单位) */
double time_spent;
}
zabbix_sender_info_t;