Zabbix Documentation 4.0

2.23.04.04.2 (current)In development:4.4 (devel)Unsupported:1.82.02.43.23.4

User Tools

Site Tools


Sidebar

fr:manual:appendix:zabbix_sender_dll

15 Librairie de liens dynamiques Zabbix sender pour Windows

Dans un environnement Windows, les applications peuvent envoyer des données au serveur/proxy Zabbix directement à l'aide de la librairie de liens dynamiques du sender Zabbix (zabbix_sender.dll) au lieu de devoir lancer un processus externe (zabbix_sender.exe).

La bibliothèque de liens dynamiques avec les fichiers de développement se trouve dans les dossiers bin\winXX\dev. Pour l'utiliser, il faut inclure le fichier d'en-tête zabbix_sender.h et créez un lien avec la bibliothèque zabbix_sender.lib. Vous trouverez un exemple de fichier d'utilisation de l'API Zabbix sender dans le dossier build\win32\examples\zabbix_sender.

La fonctionnalité suivante est fournie par la librairie de liens dynamiques du sender Zabbix :

int zabbix_sender_send_values(const char *address, unsigned short port,
        const char *source, const zabbix_sender_value_t *values, int count,
        char **result);
Description
Envoie un tableau de structures de valeur au proxy/serveur. Une structure de valeur contient le nom d'hôte, la clé et la valeur de l'élément.
Remarque : A partir de Zabbix 4.0.6,Les sockets Windows doivent être initialisés avec l'appel WSAStartup avant d'utiliser la fonction zabbix_sender_send_values.
Paramètres
address - [in] l'adresse du serveur/proxy
port - [in] le port du trapper sur le serveur/proxy
source - [in] l'adresse IP source (optionnel)
values - [in] tableau de valeur à envoyer
count - [in] nombre d'élément dans le tableau de valeurs
result - [out] la réponse du serveur ou le message d'erreur (optionnel)
Valeur de retour
0 - opération terminée avec succès
- 1 - l'opération a échoué
Commentaires
Si la variable de retour est spécifiée, cette fonction alloue la mémoire nécessaire pour stocker la réponse/le message d'erreur du serveur. Il doit toujours être ensuite libéré avec la fonction zabbix_sender_free_result().
Si l'opération aboutie, le résultat contient la réponse du serveur qui peut être analysée avec la fonction zabbix_sender_parse_result(). En cas d'erreur, le message d'erreur sera stocké dans le résultat.
int zabbix_sender_parse_result(const char *result, int *response,
        zabbix_sender_info_t *info);
Description
Analyse le résultat retourné par la fonction zabbix_sender_send_values().
Paramètres
result - [in] résultat retourné par la fonction zabbix_sender_send_values().
response - [out] réponse de l'opération : 0 - succès, -1 echoué.
info - [out] informations détaillées sur l'opération, optionnel.
Valeur de retour
0 - opération terminée avec succès
- 1 - l'opération a échoué
Commentaires
Si le paramètre info est spécifié, mais que la fonction échoue, ou que la fonction n'a pas pu analyser le champ d'informations du résultat, le total du champ de structure d'informations est défini sur -1.
void zabbix_sender_free_result(void *result);
Description
Libère les données allouées par la fonction zabbix_sender_send_values().
Paramètres
result - résultat retourné par la fonction zabbix_sender_send_values().

Les structures de données suivantes sont utilisées par la librairie de lien dynamique du sender Zabbix :

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;