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 un en-tête et une longueur des données.
La requête proxy config
est envoyée par le serveur pour fournir les données de configuration du proxy. Cette requête est envoyée chaque ProxyConfigFrequency
(paramètre de configuration 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 du champ. | |||
data | tableau | Tableau de lignes. | |||
- | tableau | Tableau de colonnes. | |||
- | chaîne,nombre | Valeur de colonne dont le type dépend du type de colonne dans le schéma de la base de données. | |||
proxy→serveur : | |||||
response | chaîne | Demande d'informations sur le succès ('success' ou 'failed'). | |||
version | chaîne | Version du proxy (<majeur>.<mineur>.<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,
"Linux",
3,
-1,
2,
"",
"",
"Linux",
1,
1,
"",
"",
"",
""
],
[
10050,
"Zabbix Agent",
3,
-1,
2,
"",
"",
"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 :
La demande de données prox
est utilisée pour obtenir des données de disponibilité, d'historique, de découverte et d'enregistrement automatique de l'interface hôte à partir du proxy. Cette requête est envoyée toutes les ProxyDataFrequency
(paramètre de configuration du serveur) secondes.
nom | type de valeur | description | |
---|---|---|---|
serveur→proxy : | |||
request | chaîne | 'proxy data' | |
proxy→serveur : | |||
session | chaîne | Jeton de session de données. | |
interface availability | tableau | (optionnel) Tableau d'objets de données de disponibilité d'interface. | |
interfaceid | nombre | Identificateur d'interface. | |
available | nombre | Disponibilité des interfaces : 0, INTERFACE_AVAILABLE_UNKNOWN - inconnue 1, INTERFACE_AVAILABLE_TRUE - disponible 2, INTERFACE_AVAILABLE_FALSE - indisponible |
|
error | chaîne | Message d'erreur d'interface ou chaîne vide. | |
history data | tableau | (optionnel) Tableau d'objets de données d'historique. | |
itemid | nombre | Identificateur d'é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 | Identificateur de 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 source de l'élément du journal des événements. | |
severity | nombre | (optionnel) Valeur de sévérité de l'élément du journal des événements. | |
eventid | nombre | (optionnel) Valeur de l'ID d'événement de l'élément du journal des événements. | |
state | chaîne | (optionnel) État de l'élément : 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED |
|
lastlogsize | nombre | (optionnel) Taille du dernier journal des éléments de type journal. | |
mtime | nombre | (optionnel) Heure de modification des rubriques de type log. | |
discovery data | tableau | (optionnel) Tableau d'objets de données de découverte. | |
clock | nombre | Horodatage des données de découverte. | |
druleid | nombre | Identificateur de règle de découverte. | |
dcheckid | nombre | Identifiant de vérification de découverte ou nul pour les données de règle de découverte. | |
type | nombre | Type de contrôle 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 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 de la disponibilité Telnet |
|
ip | chaîne | Adresse IP de l'hôte. | |
dns | chaîne | Nom DNS de l'hôte. | |
port | nombre | (optionnel) Numéro de port de service. | |
key_ | chaîne | (optionnel) Clé d'élément pour le contrôle 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) État du service: 0, DOBJECT_STATUS_UP - Service démarré 1, DOBJECT_STATUS_DOWN - Service arrêté |
|
auto registration | tableau | (optionnel) Tableau d'objets de données d'enregistrement automatique. | |
clock | nombre | Horodatage des données d'enregistrement automatique. | |
host | chaîne | Nom d'hôte. | |
ip | chaîne | (optionnel) Adresse IP de l'hôte. | |
dns | chaîne | (optionnel) Nom DNS résolu à partir de l'adresse IP. | |
port | chaîne | (optionnel) Port de l'hôte. | |
host_metadata | chaîne | (optionnel) Métadonnées de l'hôte envoyées par l'agent (basées sur le paramètre de configuration de l'agent HostMetadata ou HostMetadataItem). | |
tasks | tableau | (optionnel) Tableau de tâches. | |
type | nombre | Type de tâche : 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - résultat de la commande à distance |
|
status | nombre | Statut d'exécution de la télécommande : 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - commande à distance terminée avec succès 1, ZBX_TM_REMOTE_COMMAND_FAILED - la commande à distance a échoué |
|
error | chaîne | (optionnel) Message d'erreur. | |
parent_taskid | nombre | ID de tâche parent. | |
more | nombre | (optionnel) 1 - il y a plus de données d'historique à envoyer. | |
clock | nombre | (optionnel) Horodatage du transfert de données (secondes). | |
ns | nombre | (optionnel) Horodatage du transfert de données (nanosecondes). | |
version | chaîne | Version proxy (<major>.<minor>.<build>). | |
serveur→proxy : | |||
response | chaîne | Demander des informations sur le succès ('success' ou 'failed'). | |
tasks | tableau | (optionnel) Tableau de tâches. | |
type | nombre | Type de tâche : 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - commande à distance |
|
clock | nombre | Heure de création de la tâche. | |
ttl | nombre | Temps en secondes après lequel la tâche expire. | |
commandtype | nombre | Type de commande à distance : 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - utiliser un script personnalisé 1, ZBX_SCRIPT_TYPE_IPMI - utiliser IPMI 2, ZBX_SCRIPT_TYPE_SSH - utiliser SSH 3, ZBX_SCRIPT_TYPE_TELNET - utiliser Telnet 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - utiliser le script global (actuellement équivalent fonctionnellement du script personnalisé) |
|
command | chaîne | Commande distante à exécuter. | |
execute_on | nombre | Cible d'exécution pour les scripts personnalisés : 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - exécuter le script sur l'agent 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - exécuter le script sur le serveur 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - exécuter le script sur le proxy |
|
port | nombre | (optionnel) Port pour les commandes Telnet et SSH. | |
authtype | nombre | (optionnel) Type d'authentification pour les commandes SSH. | |
username | chaîne | (optionnel) Nom d'utilisateur pour les commandes Telnet et SSH. | |
password | chaîne | (optionnel) Mot de passe pour les commandes Telnet et SSH. | |
publickey | chaîne | (optionnel) Clé publique pour les commandes SSH. | |
privatekey | chaîne | (optionnel) Clé privée pour les commandes SSH. | |
parent_taskid | nombre | ID de tâche parent. | |
hostid | nombre | ID de l'hôte cible. |
Exemple :
serveur→proxy :
proxy→serveur :
{
"session": "12345678901234567890123456789012"
"interface availability": [
{
"interfaceid": 1,
"available": 1,
"error": ""
},
{
"interfaceid": 2,
"available": 2,
"error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"
},
{
"interfaceid": 3,
"available": 1,
"error": ""
},
{
"interfaceid": 4,
"available": 1,
"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":"5.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
}
]
}
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 à chaque ConfigFrequency
(paramètre de configuration du proxy) secondes.
|nom|<|<|<|type de valeur|description| |-|-|-|----------|----------|--------------------- -------------------| |proxy→server :|<|<|<|<|<| |request|<|<|<|chaîne|'proxy config'| |host|<|<|<|chaîne|Nom du proxy.| |version|<|<|<|chaîne|Version du proxy (<majeur>.<mineur>.<build>).| |server→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 du champ.| |^|data|<|<|tableau|Tableau de lignes.| |^| |-|<|array|Tableau de colonnes.| ||| |-|chaîne,nombre|Valeur de colonne dont le type dépend du type de colonne dans le schéma de la base de données.| |proxy→server :|<|<|<|<|<| |response|<|<|<|chaîne|Demande d'informations sur le succès ('success' ou 'failed').|
Exemple:
proxy→server :
server→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,
"Linux",
3,
-1,
2,
"",
"",
"Linux",
1,
1,
"",
"",
"",
""
],
[
10050,
"Zabbix Agent",
3,
-1,
2,
"",
"",
"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→server :
La demande de données proxy
est envoyée par proxy pour fournir des données de disponibilité, d'historique, de découverte et d'enregistrement automatique de l'interface hôte. Cette requête est envoyée toutes les DataSenderFrequency
(paramètre de configuration du proxy) secondes. Notez que le proxy actif interrogera toujours le serveur Zabbix toutes les secondes pour les tâches de commande à distance (avec une requête proxy data
vide).
nom | type de valeur | description | |
---|---|---|---|
proxy→serveur : | |||
request | chaîne | 'proxy data' | |
host | chaîne | Nom du proxy. | |
session | chaîne | Jeton de session de données. | |
interface availability | tableau | (optionnel) Tableau d'objets de données de disponibilité d'interface. | |
interfaceid | nombre | Identifiant d'interface. | |
available | nombre | Disponibilité des interfaces : 0, INTERFACE_AVAILABLE_UNKNOWN - inconnue 1, INTERFACE_AVAILABLE_TRUE - disponible 2, INTERFACE_AVAILABLE_FALSE - indisponible |
|
error | chaîne | Message d'erreur d'interface ou chaîne vide. | |
history data | tableau | (optionnel) Tableau d'objets de données d'historique. | |
itemid | nombre | Identifiant 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 | Identifiant de valeur (compteur croissant, unique dans une session de données). | |
timestamp | nombre | (optionnel) Horodatage des éléments de type journal des événements. | |
source | chaîne | (optionnel) Valeur source de l'élément du journal des événements. | |
severity | nombre | (optionnel) Valeur de sévérité de l'élément du journal des événements. | |
eventid | nombre | (optionnel) Valeur de l'ID d'événement de l'élément du journal des événements. | |
state | chaîne | (optionnel) État de l'élément : 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED |
|
lastlogsize | nombre | (optionnel) Taille du dernier 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 | Horodatage des données de découverte. | |
druleid | nombre | Identifiant de règle de découverte. | |
dcheckid | nombre | Identifiant de vérification de découverte ou null pour les données de règle de découverte. | |
type | nombre | Type de contrôle 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 port TCP 9, SVC_AGENT - Zabbix agent 10, SVC_SNMPv1 - SNMPv1 agent 11, SVC_SNMPv2 - SNMPv2 agent 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é Telnet |
|
ip | chaîne | Adresse IP de l'hôte. | |
dns | chaîne | Nom DNS de l'hôte. | |
port | nombre | (optionnel) Numéro de port de service. | |
key_ | chaîne | (optionnel) Clé d'élément pour le contrôle 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 démarré **1* , DOBJECT_STATUS_DOWN* - Service arrêté |
|
autoregistration | tableau | (optionnel) Tableau d'objets de données d'auto-enregistrement. | |
clock | nombre | Horodatage des données d'enregistrement automatique. | |
host | chaîne | Nom d'hôte. | |
ip | chaîne | (optionnel) Adresse IP de l'hôte. | |
dns | chaîne | (optionnel) Nom DNS résolu à partir de l'adresse IP. | |
port | chaîne | (optionnel) Port de l'hôte. | |
host_metadata | chaîne | (optionnel) Métadonnées de l'hôte envoyées par l'agent (basées sur le paramètre de configuration de l'agent HostMetadata ou HostMetadataItem). | |
tasks | tableau | (optionnel) Tableau de tâches. | |
type | nombre | Type de tâche : 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - résultat de la commande à distance |
|
status | nombre | 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 - la commande à distance a échoué |
|
error | chaîne | (optionnel) Message d'erreur. | |
parent_taskid | nombre | ID de la tâche parent. | |
more | nombre | (optionnel) 1 - il y a plus de données d'historique à envoyer. | |
clock | nombre | (optionnel) Horodatage du transfert de données (secondes). | |
ns | nombre | (optionnel) Horodatage du transfert de données (nanosecondes). | |
version | chaîne | Version du Proxy(<major>.<minor>.<build>). | |
serveur→proxy : | |||
response | chaîne | Demander des informations sur le succès ('success' ou 'failed'). | |
upload | chaîne | Contrôle de téléchargement des données historiques (historique, enregistrement automatique, disponibilité de l'hôte, découverte du réseau) : activé - fonctionnement normal désactivé - le serveur n'accepte pas les données (peut-être en raison d'un dépassement de la limite du cache interne ) |
|
tasks | tableau | (optionnel) Tableau de tâches. | |
type | nombre | Type de tâche : 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - commande à distance |
|
clock | nombre | Heure de création de la tâche. | |
ttl | nombre | Temps en secondes après lequel la tâche expire. | |
commandtype | nombre | Type de commande à distance : 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - utiliser un script personnalisé 1, ZBX_SCRIPT_TYPE_IPMI - use IPMI 2, ZBX_SCRIPT_TYPE_SSH - utiliser SSH 3, ZBX_SCRIPT_TYPE_TELNET - utiliser Telnet 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - utiliser le script global (actuellement équivalent fonctionnellement au script personnalisé) |
|
command | chaîne | Commande distante à exécuter. | |
execute_on | nombre | Cible d'exécution pour les scripts personnalisés : 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - exécuter le script sur l'agent 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - exécuter le script sur le serveur 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - exécuter le script sur le proxy |
|
port | nombre | (optionnel) Port for Telnet and SSH commands. | |
authtype | nombre | (optionnel) Type d'authentification pour les commandes SSH. | |
username | chaîne | (optionnel) Nom d'utilisateur pour les commandes Telnet et SSH. | |
password | chaîne | (optionnel) Mot de passe pour les commandes Telnet et SSH. | |
publickey | chaîne | (optionnel) Clé publique pour les commandes SSH. | |
privatekey | chaîne | (optionnel) Clé privée pour les commandes SSH. | |
parent_taskid | nombre | ID de la tâche parent. | |
hostid | nombre | ID de l'hôte cible. |
Exemple :
proxy→serveur :
{
"request": "proxy data",
"host": "Proxy #12",
"session": "12345678901234567890123456789012",
"interface availability": [
{
"interfaceid": 1,
"available": 1,
"error": ""
},
{
"interfaceid": 2,
"available": 2,
"error": "Get value from agent failed: cannot connect to [[127.0.0.1]:10049]: [111] Connection refused"
},
{
"interfaceid": 3,
"available": 1,
"error": ""
},
{
"interfaceid": 4,
"available": 1,
"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":"5.4.0"
}
serveur→proxy :
{
"response": "success",
"upload": "enabled",
"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
}
]
}