12 Elément trapper
Vue d’ensemble
Les éléments trapper acceptent des données entrantes au lieu d’aller les interroger. Cela est utile pour toutes les données que vous souhaitez envoyer à Zabbix.
Configuration
Pour configurer un élément trapper :
- Accédez à Collecte de données → Hôtes.
- Cliquez sur Éléments sur la ligne de l’hôte.
- Cliquez sur Créer un élément.
- Saisissez les paramètres de l’élément dans le formulaire de configuration.

Tous les champs de saisie obligatoires sont marqués d’un astérisque rouge.
Les champs qui nécessitent des informations spécifiques pour les éléments trapper sont :
| Type | Sélectionnez "Zabbix trapper". |
| Clé | Saisissez une clé qui sera utilisée pour reconnaître l’élément lors de l’envoi des données au serveur Zabbix. |
| Type d’information | Sélectionnez le type d’information qui correspondra au format des données qui seront envoyées. |
| Hôtes autorisés | Liste d’adresses IP séparées par des virgules (éventuellement en notation CIDR) ou de noms DNS. Si ce champ est renseigné, les connexions entrantes ne seront acceptées que depuis les hôtes listés ici. Si la prise en charge d’IPv6 est activée, alors '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' sont traités de manière identique et '::/0' autorisera n’importe quelle adresse IPv4 ou IPv6. '0.0.0.0/0' peut être utilisé pour autoriser n’importe quelle adresse IPv4. Notez que les « adresses IPv6 compatibles IPv4 » (préfixe 0000::/96) sont prises en charge mais déconseillées par RFC4291. Exemple : 127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, mysqlserver1, zabbix.example.com, {HOST.HOST} Les espaces, les macros utilisateur et les macros d’hôte {HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN} sont pris en charge. |
Avant d’envoyer des valeurs, vous devrez peut-être attendre jusqu’à 60 secondes après l’enregistrement de l’élément pour que le serveur Zabbix prenne en compte les modifications lors d’une mise à jour du cache de configuration.
Envoi de données
L’envoi de données au serveur Zabbix ou au proxy est possible à l’aide de l’utilitaire Zabbix sender ou du protocole Zabbix sender.
L’envoi de données au serveur Zabbix est également possible à l’aide de la méthode d’API history.push.
Zabbix sender
Pour envoyer des données au serveur ou au proxy Zabbix à l’aide de l’utilitaire Zabbix sender, vous pouvez exécuter la commande suivante pour envoyer la « test value » :
zabbix_sender -z <server IP address> -p 10051 -s "New host" -k trap -o "test value"
Pour envoyer la « test value », les options de commande suivantes sont utilisées :
-zpour spécifier l’adresse IP du serveur Zabbix-ppour spécifier le numéro de port du serveur Zabbix (10051 par défaut)-spour spécifier l’hôte (veillez à utiliser le nom d’hôte technique plutôt que le nom visible)-kpour spécifier la clé de l’élément configurée dans l’élément trapper-opour spécifier la valeur à envoyer
Le processus Zabbix trapper n’étend pas les macros utilisées dans la clé de l’élément pour vérifier l’existence de la clé d’élément correspondante pour l’hôte ciblé.
Pour plus d’informations sur la communication entre Zabbix sender et le serveur ou le proxy Zabbix, consultez protocole Zabbix sender.
history.push
Pour envoyer des données au serveur Zabbix à l’aide de la méthode d’API history.push, vous pouvez effectuer la requête HTTP POST suivante contenant quelques valeurs de test :
curl --request POST \
--url 'https://example.com/zabbix/api_jsonrpc.php' \
--header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \
--header 'Content-Type: application/json-rpc' \
--data '{"jsonrpc":"2.0","method":"history.push","params":[{"itemid":10600,"value":"test value 1"},{"itemid":10601,"value":"test value 2"},{"itemid":99999,"value":"test value 3"}],"id":1}'
Si la requête est correcte, la réponse renvoyée par l’API peut ressembler à ceci :
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"data": [
{
"itemid": "10600"
},
{
"itemid": "10601",
"error": "Item is disabled."
},
{
"error": "No permissions to referred object or it does not exist."
}
]
},
"id": 1
}
Les erreurs dans les données de réponse indiquent que l’envoi de données pour des éléments spécifiques n’a pas passé la validation du serveur Zabbix. Cela peut se produire pour les raisons suivantes :
- l’utilisateur qui envoie les données n’a pas l’autorisation read sur l’hôte de l’élément ;
- l’hôte est désactivé ou en maintenance sans collecte de données ;
- l’élément n’existe pas ou n’est pas encore inclus dans le cache de configuration du serveur ;
- l’élément est désactivé ou son type est autre que Zabbix trapper ou HTTP agent (avec le trapping activé) ;
- l’adresse IP ou le DNS de l’utilisateur n’est pas défini dans la liste Allowed hosts de l’élément ;
- un autre élément possède une valeur avec un horodatage en double au niveau de la nanoseconde.
L’absence d’erreurs indique que les valeurs envoyées ont été acceptées pour traitement, ce qui inclut le prétraitement (le cas échéant), le traitement des déclencheurs et l’enregistrement dans la base de données. Notez toutefois que le traitement d’une valeur acceptée peut également échouer (par exemple, lors du preprocessing), ce qui entraîne le rejet de la valeur.
Pour plus d’informations sur l’utilisation de l’API Zabbix, consultez API.
Affichage des données
Une fois les données envoyées, vous pouvez accéder à Surveillance → Dernières données pour voir le résultat :

Si une seule valeur numérique est envoyée, le graphique des données affichera une ligne horizontale à gauche et à droite du point temporel de la valeur.