Zabbix Documentation 4.0

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools


Sidebar

fr:manual:appendix:protocols:server_proxy

1 Protocole d'échange de données Serveur-Proxy

Aperçu

L'échange de données Serveur-Proxy est basé sur le format JSON.

Les messages de requête et de réponse doivent commencer par l’en-tête et la longueur des données.

Proxy passif

Requête de configuration du proxy

La requête proxy config est envoyée par le serveur pour fournir au proxy ses données de configuration. Cette requête est envoyée toutes les ProxyConfigFrequency (paramètre de configuration au niveau du serveur) secondes.

nom type de valeur description
serveur→proxy :
request chaîne 'proxy config'
<table> objet un ou plusieurs objets avec des données <table>
fields tableau tableau de noms de champs
- chaîne nom de champs
data tableau tableau de lignes
- tableau tableau de colonnes
- chaîne,nombre valeur de la colonne dont le type dépend du type de colonne dans le schéma de base de données
proxy→serveur :
response chaîne les informations de succès de la requête ('success' ou 'failed')
version chaînela version du proxy (<majeure>.<mineure>.<build>)

Exemple :

serveur→proxy :

{
    "request": "proxy config",
    "globalmacro":{
        "fields":[
            "globalmacroid",
            "macro",
            "value"
        ],
        "data":[
            [
                2,
                "{$SNMP_COMMUNITY}",
                "public"
            ]
        ]
    },
    "hosts":{
        "fields":[
            "hostid",
            "host",
            "status",
            "ipmi_authtype",
            "ipmi_privilege",
            "ipmi_username",
            "ipmi_password",
            "name",
            "tls_connect",
            "tls_accept",
            "tls_issuer",
            "tls_subject",
            "tls_psk_identity",
            "tls_psk"
        ],
        "data":[
            [
                10001,
                "Template OS Linux",
                3,
                -1,
                2,
                "",
                "",
                "Template OS Linux",
                1,
                1,
                "",
                "",
                "",
                ""
            ],
            [
                10050,
                "Template App Zabbix Agent",
                3,
                -1,
                2,
                "",
                "",
                "Template App Zabbix Agent",
                1,
                1,
                "",
                "",
                "",
                ""
            ],
            [
                10105,
                "Logger",
                0,
                -1,
                2,
                "",
                "",
                "Logger",
                1,
                1,
                "",
                "",
                "",
                ""
            ]
        ]
    },
    "interface":{
        "fields":[
            "interfaceid",
            "hostid",
            "main",
            "type",
            "useip",
            "ip",
            "dns",
            "port",
            "bulk"
        ],
        "data":[
            [
                2,
                10105,
                1,
                1,
                1,
                "127.0.0.1",
                "",
                "10050",
                1
            ]
        ]
    },
    ...
}

proxy→serveur :

{
  "response": "success",
  "version": "3.4.0"
}

Requête du proxy

La requête proxy data est utilisée pour obtenir de la part du proxy des données sur la disponibilité de l'hôte, l'historique, la découverte et l'auto-enregistrement. Cette demande est envoyée toutes les ProxyDataFrequency (paramètre de configuration au niveau du serveur) secondes.

nom type de valeur description
serveur→proxy :
request chaîne 'proxy data'
proxy→serveur :
session chaînejeton de session de données
host availabilitytableau (optionnel) tableau d'objets de données de disponibilité d'hôte
hostid nombre id de l'hôte
disponible nombre disponibilité de l'agent Zabbix

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
error chaîne Message d'erreur de l'agent Zabbix ou chaîne vide
snmp_disponible nombre disponibilité de l'agent SNMP

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
snmp_error chaîne Message d'erreur de l'agent SNMP ou chaîne vide
ipmi_disponible nombre disponibilité de l'agent IPMI

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
ipmi_error chaîne Message d'erreur de l'agent IPMI ou chaîne vide
jmx_disponible nombre disponibilité de l'agent JMX

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
jmx_error chaîne Message d'erreur de l'agent JMX ou chaîne vide
history data tableau (optionnel) tableau d'objets de données d'historique
itemid nombre id de l'élément
clock nombre horodatage de la valeur de l'élément (secondes)
ns nombre horodatage de la valeur de l'élément (nanosecondes)
value chaîne (optionnel) valeur de l'élément
id nombre id de la valeur (compteur croissant, unique dans une session de données)
timestamp nombre (optionnel) horodatage des éléments de type de journal
source chaîne (optionnel) valeur source de l'élément eventlog
severity nombre (optionnel) valeur de gravité de l'élément eventlog
eventid nombre (optionnel) valeur de l'id de l'événement de l'élément eventlog
state chaîne (optionnel) statut de l'élément
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize nombre (optionnel) dernière taille du fichier journal des éléments de type journal
mtime nombre (optionnel) heure de modification des éléments de type journal
discovery data tableau (optionnel) tableau d'objets de données de découverte
clock nombre l'horodatage des données de découverte
druleid nombre id de la règle de découverte
dcheckid nombre id de vérification de découverte ou null pour les données de règle de découverte
type nombre le type de vérification de découverte :

-1 données de règle de découverte
0, SVC_SSH - Vérification du service SSH
1, SVC_LDAP - Vérification du service LDAP
2, SVC_SMTP - Vérification du service SMTP
3, SVC_FTP - Vérification du service FTP
4, SVC_HTTP - Vérification du service HTTP
5, SVC_POP - Vérification du service POP
6, SVC_NNTP - Vérification du service NNTP
7, SVC_IMAP - Vérification du service IMAP
8, SVC_TCP - Vérification de la disponibilité du TCP
9, SVC_AGENT - Agent Zabbix
10, SVC_SNMPv1 - Agent SNMPv1
11, SVC_SNMPv2 - Agent SNMPv2
12, SVC_ICMPPING - Ping ICMP
13, SVC_SNMPv3 - Agent SNMPv3
14, SVC_HTTPS - Vérification du service HTTPS
15, SVC_TELNET - Vérification de la disponibilité de Telnet
ip chaîne L'adresse IP de l'hôte
dns chaîne Le nom DNS de l'hôte
port nombre (optionnel) numéro de port du service
key_ chaîne (optionnel) la clé d'élément pour la vérification de découverte de type 9 SVC_AGENT
value chaîne (optionnel) valeur reçue du service, peut être vide pour la plupart des services
status nombre (optionnel) statut du service :

0, DOBJECT_STATUS_UP - Service UP
1, DOBJECT_STATUS_DOWN - Service DOWN
auto registrationtableau (optionnel) tableau d'objets de données d'enregistrement automatique
clock nombre l'horodatage des données d'enregistrement automatique
host chaîne le nom de l'hôte
ip chaîne (optionnel) L'adresse IP de l'hôte
dns chaîne (optionnel) le nom DNS résolu depuis l'adresse IP
port chaîne (optionnel) le port de l'hôte
host_metadata chaîne (optionnel) les métadonnées de l'hôte envoyées par l'agent (en fonction du paramètre de configuration de l'agent HostMetadata ou HostMetadataItem)
taskstableau (optionnel) tableau de tâches
type nombre le type de tâche :

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - résultat de la commande à distance
status nombre le statut d'exécution de la commande à distance :

0, ZBX_TM_REMOTE_COMMAND_COMPLETED - commande à distance terminée avec succès
1, ZBX_TM_REMOTE_COMMAND_FAILED - commande à distance échouée
error chaîne (optionnel) le message d'erreur
parent_taskid nombre l'id de la tâche parent
more nombre (optionnel) 1 - il y a plus de données d'historique à envoyer
clock nombre (optionnel) horodatage de transfert de données (secondes)
ns nombre (optionnel) horodatage de transfert de données (nanosecondes)
version chaînela version du proxy (<majeure>.<mineure>.<build>)
serveur→proxy :
response chaîne les informations de succès de la requête ('success' ou 'failed')
taskstableau (optionnel) tableau de tâches
type nombre le type de tâche :

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - commande à distance
clock nombre l'heure de création de la tâche
ttl nombre le temps en secondes après lequel la tâche expire
commandtype nombre le type de commande à distance :

0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - utilise un script personnalisé
1, ZBX_SCRIPT_TYPE_IPMI - utilise IPMI
2, ZBX_SCRIPT_TYPE_SSH - utilise SSH
3, ZBX_SCRIPT_TYPE_TELNET - utilise Telnet
4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - utilise un script global (actuellement équivalent au script personnalisé)
command chaîne la commande à distance à exécuter
execute_on nombre la cible d'exécution pour les scripts personnalisés :

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - exécute le script sur l'agent
1, ZBX_SCRIPT_EXECUTE_ON_SERVER - exécute le script sur le server
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - exécute le script sur le proxy
port nombre (optionnel) le port pour les commandes telnet et SSH
authtype nombre (optionnel) le type d'authentification pour les commandes telnet et SSH
username chaîne (optionnel) le nom d'utilisateur pour les commandes telnet et SSH
password chaîne (optionnel) le mot de passe pour les commandes telnet et SSH
publickey chaîne (optionnel) la clé publique pour les commandes SSH
privatekey chaîne (optionnel) la clé privée pour les commandes SSH
parent_taskid nombre l'id de la tâche parent
hostid nombre l'id de l'hôte cible

Exemple :

serveur→proxy :

{
  "request": "proxy data"
}

proxy→serveur :

{
    "session": "12345678901234567890123456789012"
    "host availability":[
        {
            "hostid":10106,
            "disponible":1,
            "error":"",
            "snmp_disponible":0,
            "snmp_error":"",
            "ipmi_disponible":0,
            "ipmi_error":"",
            "jmx_disponible":0,
            "jmx_error":""
        },
        {
            "hostid":10107,
            "disponible":1,
            "error":"",
            "snmp_disponible":0,
            "snmp_error":"",
            "ipmi_disponible":0,
            "ipmi_error":"",
            "jmx_disponible":0,
            "jmx_error":""
        }
    ],
    "history data":[
        {
            "itemid":"12345",
            "clock":1478609647,
            "ns":332510044,
            "value":"52956612",
            "id": 1
        },
        {
            "itemid":"12346",
            "clock":1478609647,
            "ns":330690279,
            "state":1,
            "value":"Cannot find information for this network interface in /proc/net/dev.",
            "id": 2
        }
    ],
    "discovery data":[
        {
            "clock":1478608764,
            "drule":2,
            "dcheck":3,
            "type":12,
            "ip":"10.3.0.10",
            "dns":"vdebian",
            "status":1
        },
        {
            "clock":1478608764,
            "drule":2,
            "dcheck":null,
            "type":-1,
            "ip":"10.3.0.10",
            "dns":"vdebian",
            "status":1
        }
    ],
    "auto registration":[
        {
            "clock":1478608371,
            "host":"Logger1",
            "ip":"10.3.0.1",
            "dns":"localhost",
            "port":"10050"
        },
        {
            "clock":1478608381,
            "host":"Logger2",
            "ip":"10.3.0.2",
            "dns":"localhost",
            "port":"10050"
        }
    ],
    "tasks":[
        {
            "type": 0,
            "status": 0,
            "parent_taskid": 10
        },
        {
            "type": 0,
            "status": 1,
            "error": "No permissions to execute task.",
            "parent_taskid": 20
        }
    ],    
    "version":"3.4.0"
}

serveur→proxy :

{
  "response": "success",
  "tasks":[
      {
         "type": 1,
         "clock": 1478608371,
         "ttl": 600,
         "commandtype": 2,
         "command": "restart_service1.sh",
         "execute_on": 2,
         "port": 80,
         "authtype": 0,
         "username": "userA",
         "password": "password1",
         "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",
         "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",
         "parent_taskid": 10,
         "hostid": 10070
      },
      {
         "type": 1,
         "clock": 1478608381,
         "ttl": 600,
         "commandtype": 1,
         "command": "restart_service2.sh",
         "execute_on": 0,
         "authtype": 0,
         "username": "",
         "password": "",
         "publickey": "",
         "privatekey": "",
         "parent_taskid": 20,
         "hostid": 10084
      }
  ]
}

Proxy actif

Requête proxy heartbeat

La requête proxy heartbeat est envoyée par le proxy pour signaler que le proxy est en cours d'exécution. Cette requête est envoyée tous les HeartbeatFrequency (paramètre de configuration au niveau du proxy) secondes.

nom type de valeur description
proxy→serveur :
request chaîne 'proxy heartbeat'
host chaîne type de valeur
version chaînela version du proxy (<majeure>.<mineure>.<build>)
serveur→proxy :
response chaîne les informations de succès de la requête ('success' ou 'failed')

proxy→serveur :

{
   "request": "proxy heartbeat",
   "host": "Proxy #12",
   "version": "3.4.0"
}

serveur→proxy :

{
  "response": "success"
}

Requête Proxy config

La requête proxy config est envoyée par le proxy pour obtenir les données de configuration du proxy. Cette requête est envoyée tous les ConfigFrequency (paramètre de configuration au niveau du proxy) secondes.

nom type de valeur description
proxy→serveur :
request chaîne 'proxy config'
host chaîne proxy name
version chaînethe proxy version (<major>.<minor>.<build>)
serveur→proxy :
request chaîne 'proxy config'
<table> objet un ou plusieurs objets avec des données <table>
fields tableau tableau des noms de champs
- chaîne nom du champs
data tableau tableau de lignes
- tableau tableau de colonnes
- chaîne,nombre valeur de la colonne dont le type dépend du type de colonne dans le schéma de base de données
proxy→serveur :
response chaîne les informations de succès de la requête ('success' ou 'failed')

Exemple :

proxy→serveur :

{
  "request": "proxy config",
  "host": "Proxy #12",
  "version":"3.4.0"
}

serveur→proxy :

{
    "globalmacro":{
        "fields":[
            "globalmacroid",
            "macro",
            "value"
        ],
        "data":[
            [
                2,
                "{$SNMP_COMMUNITY}",
                "public"
            ]
        ]
    },
    "hosts":{
        "fields":[
            "hostid",
            "host",
            "status",
            "ipmi_authtype",
            "ipmi_privilege",
            "ipmi_username",
            "ipmi_password",
            "name",
            "tls_connect",
            "tls_accept",
            "tls_issuer",
            "tls_subject",
            "tls_psk_identity",
            "tls_psk"
        ],
        "data":[
            [
                10001,
                "Template OS Linux",
                3,
                -1,
                2,
                "",
                "",
                "Template OS Linux",
                1,
                1,
                "",
                "",
                "",
                ""
            ],
            [
                10050,
                "Template App Zabbix Agent",
                3,
                -1,
                2,
                "",
                "",
                "Template App Zabbix Agent",
                1,
                1,
                "",
                "",
                "",
                ""
            ],
            [
                10105,
                "Logger",
                0,
                -1,
                2,
                "",
                "",
                "Logger",
                1,
                1,
                "",
                "",
                "",
                ""
            ]
        ]
    },
    "interface":{
        "fields":[
            "interfaceid",
            "hostid",
            "main",
            "type",
            "useip",
            "ip",
            "dns",
            "port",
            "bulk"
        ],
        "data":[
            [
                2,
                10105,
                1,
                1,
                1,
                "127.0.0.1",
                "",
                "10050",
                1
            ]
        ]
    },
    ...
}

proxy→serveur :

{
  "response": "success"
}

Requête Proxy data

La requête proxy data est envoyée par le proxy pour fournir la disponibilité d'un hôte, les données d'historique, de découverte et d'enregistrement automatique. Cette requête est envoyée toutes les DataSenderFrequency (paramètre de configuration au niveau du proxy) secondes.

nom type de valeur description
proxy→serveur :
request chaîne 'proxy data'
host chaîne le nom du proxy
session chaîne jeton de données de session
host availabilitytableau (optionnel) tableau d'objets de données de disponibilité d'hôte
hostid nombre id de l'hôte
disponible nombre disponibilité de l'agent Zabbix

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
error chaîne message d'erreur de l'agent Zabbix ou chaîne vide
snmp_disponible nombre disponibilité de l'agent SNMP

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
snmp_error chaîne message d'erreur de l'agent SNMP ou chaîne vide
ipmi_disponible nombre disponibilité de l'agent IPMI

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
ipmi_error chaîne message d'erreur de l'agent IPMI ou chaîne vide
jmx_disponible nombre disponibilité de l'agent JMX

0, HOST_AVAILABLE_UNKNOWN - inconnu
1, HOST_AVAILABLE_TRUE - disponible
2, HOST_AVAILABLE_FALSE - indisponible
jmx_error chaîne message d'erreur de l'agent JMX ou chaîne vide
history data tableau (optionnel) tableau d'objets de données d'historique
itemid nombre id de l'élément
clock nombre horodatage de la valeur de l'élément (secondes)
ns nombre horodatage de la valeur de l'élément (nanosecondes)
value chaîne (optionnel) valeur de l'élément
id nombre id de la valeur (compteur croissant, unique dans une session de données)
timestamp nombre (optionnel) horodatage des éléments de type journal
source chaîne (optionnel) valeur de la source de l'élément eventlog
severity nombre (optionnel) valeur de la sévérité de l'élément eventlog
eventid nombre (optionnel) valeur de l'id de l'événement de l'élément eventlog
state chaîne (optionnel) état de l'élément
0, ITEM_STATE_NORMAL
1, ITEM_STATE_NOTSUPPORTED
lastlogsize nombre (optionnel) dernière taille du journal pour les éléments de type journal
mtime nombre (optionnel) heure de modification des éléments de type journal
discovery data tableau (optionnel) tableau d'objet de données de découverte
clock nombre horodatage des données de découverte
druleid nombre id de la règle de découverte
dcheckid nombre l'id de la vérification de découverte ou null pour les données de règle de découverte
type nombre le type de vérification de découverte :

-1 données de règle de découverte
0, SVC_SSH - vérification du service SSH
1, SVC_LDAP - vérification du service LDAP
2, SVC_SMTP - vérification du service SMTP
3, SVC_FTP - vérification du service FTP
4, SVC_HTTP - vérification du service HTTP
5, SVC_POP - vérification du service POP
6, SVC_NNTP - vérification du service NTP
7, SVC_IMAP - vérification du service IMAP
8, SVC_TCP - vérification de la disponibilité du port TCP
9, SVC_AGENT - agent Zabbix
10, SVC_SNMPv1 - agent SNMPv1
11, SVC_SNMPv2 - agent SNMPv2
12, SVC_ICMPPING - ping ICMP
13, SVC_SNMPv3 - agent SNMPv3
14, SVC_HTTPS - vérification du service HTTPS
15, SVC_TELNET - vérification disponibilité de Telnet
ip chaîne l'adresse IP de l'hôte
dns chaîne le nom DNS de l'hôte
port nombre (optionnel) numéro du port du service
key_ chaîne (optionnel) la clé d'élément pour les vérifications de découverte de type 9 SVC_AGENT
value chaîne (optionnel) valeur reçue du service, peut être vide pour la plupart des services
auto registrationtableau (optionnel) tableau d'objets de données d'enregistrement automatique
status nombre (optionnel) statut du service :

0, DOBJECT_STATUS_UP - Service UP
1, DOBJECT_STATUS_DOWN - Service DOWN
clock nombre horodatage des données d'enregistrement automatique
host chaîne nom de l'hôte
ip chaîne (optionnel) l'adresse IP de l'hôte
dns chaîne (optionnel) le nom DNS résolu depuis l'adresse IP
port chaîne (optionnel) le port de l'hôte
host_metadata chaîne (optionnel) les metadatas de l'hôte envoyées par l'agent (basées sur les paramètres de configuration de l'agent HostMetadata ou HostMetadataItem)
taskstableau (optionnel) tableau de tâches
type nombre le type de tâche :

0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - résultat de la commande à distance
status nombre le statut d'exécution de la commande à distance :

0, ZBX_TM_REMOTE_COMMAND_COMPLETED - commande à distance exécutée avec succès
1, ZBX_TM_REMOTE_COMMAND_FAILED - commande à distance échouée
error chaîne (optionnel) le message d'erreur
parent_taskid nombre l'id de la tâche parent
more nombre (optionnel) 1 - il y a plus de données d'historique à envoyer
clock nombre (optionnel) horodatage des données de transfert (secondes)
ns nombre (optionnel) horodatage des données de transfert (nanosecondes)
version chaînela version du proxy (<majeure>.<mineure>.<build>)
serveur→proxy :
response chaîne les informations de succès de la requête ('success' ou 'failed')
taskstableau (optionnel) tableau de tâches
type nombre le type de tâche :

1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - commande à distance
clock nombre l'heure de création de la tâche
ttl nombre le temps en secondes après lequel la tâche expire
commandtype nombre le type de commande à distance :

0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - utilise un script personnalisé
1, ZBX_SCRIPT_TYPE_IPMI - utilise IPMI
2, ZBX_SCRIPT_TYPE_SSH - utilise SSH
3, ZBX_SCRIPT_TYPE_TELNET - utilise Telnet
4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - utilise un script global (actuellement équivalent au script personnalisé)
command chaîne la commande à distance à exécuter
execute_on nombre la cible d'exécution pour les scripts personnalisés :

0, ZBX_SCRIPT_EXECUTE_ON_AGENT - exécute le script sur l'agent
1, ZBX_SCRIPT_EXECUTE_ON_SERVER - exécute le script sur le server
2, ZBX_SCRIPT_EXECUTE_ON_PROXY - exécute le script sur le proxy
port nombre (optionnel) le port pour les commandes telnet et SSH
authtype nombre (optionnel) le type d'authentication pour les commandes SSH
username chaîne (optionnel) le nom d'utilisateur pour les commandes telnet et SSH
password chaîne (optionnel) le mot de passe pour les commandes telnet et SSH
publickey chaîne (optionnel) la clé publique pour les commandes SSH
privatekey chaîne (optionnel) la clé privée pour les commandes SSH
parent_taskid nombre l'id de la tâche parent
hostid nombre l'id de hôte cible

Exemple :

proxy→serveur :

{
    "request": "proxy data",
    "host": "Proxy #12", 
    "session": "12345678901234567890123456789012",
    "host availability":[
        {
            "hostid":10106,
            "disponible":1,
            "error":"",
            "snmp_disponible":0,
            "snmp_error":"",
            "ipmi_disponible":0,
            "ipmi_error":"",
            "jmx_disponible":0,
            "jmx_error":""
        },
        {
            "hostid":10107,
            "disponible":1,
            "error":"",
            "snmp_disponible":0,
            "snmp_error":"",
            "ipmi_disponible":0,
            "ipmi_error":"",
            "jmx_disponible":0,
            "jmx_error":""
        }
    ],
    "history data":[
        {
            "itemid":"12345",
            "clock":1478609647,
            "ns":332510044,
            "value":"52956612",
            "id": 1
        },
        {
            "itemid":"12346",
            "clock":1478609647,
            "ns":330690279,
            "state":1,
            "value":"Cannot find information for this network interface in /proc/net/dev.",
            "id": 2
        }
    ],
    "discovery data":[
        {
            "clock":1478608764,
            "drule":2,
            "dcheck":3,
            "type":12,
            "ip":"10.3.0.10",
            "dns":"vdebian",
            "status":1
        },
        {
            "clock":1478608764,
            "drule":2,
            "dcheck":null,
            "type":-1,
            "ip":"10.3.0.10",
            "dns":"vdebian",
            "status":1
        }
    ],
    "auto registration":[
        {
            "clock":1478608371,
            "host":"Logger1",
            "ip":"10.3.0.1",
            "dns":"localhost",
            "port":"10050"
        },
        {
            "clock":1478608381,
            "host":"Logger2",
            "ip":"10.3.0.2",
            "dns":"localhost",
            "port":"10050"
        }
    ],
    "tasks":[
        {
            "type": 2,
            "clock":1478608371,
            "ttl": 600,
            "commandtype": 2,
            "command": "restart_service1.sh",
            "execute_on": 2,
            "port": 80,
            "authtype": 0,
            "username": "userA",
            "password": "password1",
            "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",
            "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",
            "parent_taskid": 10,
            "hostid": 10070
        },
        {
            "type": 2,
            "clock":1478608381,
            "ttl": 600,
            "commandtype": 1,
            "command": "restart_service2.sh",
            "execute_on": 0,
            "authtype": 0,
            "username": "",
            "password": "",
            "publickey": "",
            "privatekey": "",
            "parent_taskid": 20,
            "hostid": 10084
        }
    ],
    "tasks":[
        {
            "type": 0,
            "status": 0,
            "parent_taskid": 10
        },
        {
            "type": 0,
            "status": 1,
            "error": "No permissions to execute task.",
            "parent_taskid": 20
        }
    ], 
    "version":"3.4.0"
}

serveur→proxy :

{
  "response": "success",
  "tasks":[
      {
         "type": 1,
         "clock": 1478608371,
         "ttl": 600,
         "commandtype": 2,
         "command": "restart_service1.sh",
         "execute_on": 2,
         "port": 80,
         "authtype": 0,
         "username": "userA",
         "password": "password1",
         "publickey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe",
         "privatekey": "lsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5QCqGKukO1De7zhd",
         "parent_taskid": 10,
         "hostid": 10070
      },
      {
         "type": 1,
         "clock": 1478608381,
         "ttl": 600,
         "commandtype": 1,
         "command": "restart_service2.sh",
         "execute_on": 0,
         "authtype": 0,
         "username": "",
         "password": "",
         "publickey": "",
         "privatekey": "",
         "parent_taskid": 20,
         "hostid": 10084
      }
  ]
}

Compatibilité descendante

Le serveur prend en charge la compatibilité avec les versions antérieures en acceptant les anciennes requêtes nommées host availability, history data, discovery data et auto registration.