Servera-starpniekservera datu apmaiņas protokols
Serveris - starpniekserveris datu apmaiņa ir balstīta uz JSON formātu.
Pieprasījuma un atbildes ziņojumiem jāsākas ar galveni un datu garumu.
Pasīvais starpniekserveris
Konfigurācijas pieprasījums
Serveris vispirms nosūtīs tukšu proxy config pieprasījumu. Šis pieprasījums tiek nosūtīts ik pēc ProxyConfigFrequency
(servera konfigurācijas parametra) sekundēm.
Starpniekserveris atbild ar pašreizējo starpniekservera versiju, sesijas marķieri un konfigurācijas revīziju. Serveris atbild ar konfigurācijas datiem, kas jāatjaunina.
| name | value type | description | ||||
|---|---|---|---|---|---|---|
| server→proxy: | ||||||
| request | string | 'proxy config' | ||||
| proxy→server: | ||||||
| version | string | Starpniekservera versija (<major>.<minor>.<build>). | ||||
| session | string | Starpniekservera konfigurācijas sesijas marķieris. | ||||
| config_revision | number | Starpniekservera konfigurācijas revīzija. | ||||
| server→proxy: | ||||||
| full_sync | number | 1 - ja tiek nosūtīti pilni konfigurācijas dati; citādi nav norādīts (neobligāti). | ||||
| data | array | Tabulas datu objekts. Nav norādīts, ja konfigurācija nav mainījusies (neobligāti). | ||||
| <table> | object | Viens vai vairāki objekti ar <table> datiem (neobligāti, atkarībā no izmaiņām). | ||||
| fields | array | Lauku nosaukumu masīvs. | ||||
| - | string | Lauka nosaukums. | ||||
| data | array | Rindu masīvs. | ||||
| - | array | Kolonnu masīvs. | ||||
| - | string,number | Kolonnas vērtība, kuras tips ir atkarīgs no kolonnas tipa datubāzes shēmā. | ||||
| macro.secrets | object | Slepeno makro informācija, nav norādīts, ja vault makro nav izmaiņu (neobligāti). | ||||
| config_revision | number | Konfigurācijas kešatmiņas revīzija - tiek nosūtīta kopā ar konfigurācijas datiem (neobligāti). | ||||
| del_hostids | array | Noņemto hostid masīvs (neobligāti). | ||||
| - | number | Host identifikators. | ||||
| del_macro_hostids | array | Hostid masīvs ar visiem noņemtajiem makro (neobligāti). | ||||
| - | number | Host identifikators. | ||||
| proxy→server: | ||||||
| response | string | Pieprasījuma izpildes informācija ('success' vai 'failed'). | ||||
| version | string | Starpniekservera versija (<major>.<minor>.<build>). | ||||
Piemērs:
server→proxy:
{
"request":"proxy config"
}
proxy→server:
{
"version": "8.0.0",
"session": "0033124949800811e5686dbfd9bcea98",
"config_revision": 0
}
server→proxy:
{
"full_sync": 1,
"data": {
"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": [
[10084, "Zabbix server", 0, -1, 2, "", "", "Zabbix server", 1, 1, "", "", "", ""]
]
},
"interface": {
"fields": ["interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "available"],
"data": [
[1, 10084, 1, 1, 1, "127.0.0.1", "", "10053", 1]
]
},
"interface_snmp": {
"fields": ["interfaceid", "version", "bulk", "community", "securityname", "securitylevel", "authpassphrase", "privpassphrase", "authprotocol", "privprotocol", "contextname"],
"data": []
},
"host_inventory": {
"fields": ["hostid", "type", "type_full", "name", "alias", "os", "os_full", "os_short", "serialno_a", "serialno_b", "tag", "asset_tag", "macaddress_a", "macaddress_b", "hardware", "hardware_full", "software", "software_full", "software_app_a", "software_app_b", "software_app_c", "software_app_d", "software_app_e", "contact", "location", "location_lat", "location_lon", "notes", "chassis", "model", "hw_arch", "vendor", "contract_number", "installer_name", "deployment_status", "url_a", "url_b", "url_c", "host_networks", "host_netmask", "host_router", "oob_ip", "oob_netmask", "oob_router", "date_hw_purchase", "date_hw_install", "date_hw_expiry", "date_hw_decomm", "site_address_a", "site_address_b", "site_address_c", "site_city", "site_state", "site_country", "site_zip", "site_rack", "site_notes", "poc_1_name", "poc_1_email", "poc_1_phone_a", "poc_1_phone_b", "poc_1_cell", "poc_1_screen", "poc_1_notes", "poc_2_name", "poc_2_email", "poc_2_phone_a", "poc_2_phone_b", "poc_2_cell", "poc_2_screen", "poc_2_notes"],
"data": [
[10084, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "56.95387", "24.22067", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
]
},
"items": {
"fields": ["itemid", "type", "snmp_oid", "hostid", "key_", "delay", "history", "status", "value_type", "trapper_hosts", "logtimefmt", "params", "ipmi_sensor", "authtype", "username", "password", "publickey", "privatekey", "flags", "interfaceid", "inventory_link", "jmx_endpoint", "master_itemid", "timeout", "url", "query_fields", "posts", "status_codes", "follow_redirects", "post_type", "http_proxy", "headers", "retrieve_mode", "request_method", "output_format", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host", "allow_traps"],
"data": [
[44161, 7, "", 10084, "agent.hostmetadata", "10s", "90d", 0, 1, "", "", "", "", 0, "", "", "", "", 0, null, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0],
[44162, 0, "", 10084, "agent.ping", "10s", "90d", 0, 3, "", "", "", "", 0, "", "", "", "", 0, 1, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0]
]
},
"item_rtdata": {
"fields": ["itemid", "lastlogsize", "mtime"],
"data": [
[44161, 0, 0],
[44162, 0, 0]
]
},
"item_preproc": {
"fields": ["item_preprocid", "itemid", "step", "type", "params", "error_handler", "error_handler_params"],
"data": []
},
"item_parameter": {
"fields": ["item_parameterid", "itemid", "name", "value"],
"data": []
},
"globalmacro": {
"fields": ["globalmacroid", "macro", "value", "type"],
"data": [
[2, "{$SNMP_COMMUNITY}", "public", 0]
]
},
"hosts_templates": {
"fields": ["hosttemplateid", "hostid", "templateid", "link_type"],
"data": []
},
"hostmacro": {
"fields": ["hostmacroid", "hostid", "macro", "value", "type", "automatic"],
"data": [
[5676, 10084, "{$M}", "AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content", 2, 0]
]
},
"drules": {
"fields": ["druleid", "name", "iprange", "delay"],
"data": [
[2, "Local network", "127.0.0.1", "10s"]
]
},
"dchecks": {
"fields": ["dcheckid", "druleid", "type", "key_", "snmp_community", "ports", "snmpv3_securityname", "snmpv3_securitylevel", "snmpv3_authpassphrase", "snmpv3_privpassphrase", "uniq", "snmpv3_authprotocol", "snmpv3_privprotocol", "snmpv3_contextname", "host_source", "name_source"],
"data": [
[2, 2, 9, "system.uname", "", "10052", "", 0, "", "", 0, 0, 0, "", 1, 0]
]
},
"regexps": {
"fields": ["regexpid", "name"],
"data": [
[1, "File systems for discovery"],
[2, "Network interfaces for discovery"],
[3, "Storage devices for SNMP discovery"],
[4, "Windows service names for discovery"],
[5, "Windows service startup states for discovery"]
]
},
"expressions": {
"fields": ["expressionid", "regexpid", "expression", "expression_type", "exp_delimiter", "case_sensitive"],
"data": [
[1, 1, "^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$", 3, ",", 0],
[3, 3, "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$", 4, ",", 1],
[5, 4, "^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$", 4, ",", 1],
[6, 5, "^(automatic|automatic delayed)$", 3, ",", 1],
[7, 2, "^Software Loopback Interface", 4, ",", 1],
[8, 2, "^(In)?[Ll]oop[Bb]ack[0-9._]*$", 4, ",", 1],
[9, 2, "^NULL[0-9.]*$", 4, ",", 1],
[10, 2, "^[Ll]o[0-9.]*$", 4, ",", 1],
[11, 2, "^[Ss]ystem$", 4, ",", 1],
[12, 2, "^Nu[0-9.]*$", 4, ",", 1]
]
},
"settings": {
"fields": ["name", "type", "value_str", "value_int"],
"data": [
["autoreg_tls_accept", 2, "", 1],
["hk_history_global", 2, "", 0],
["snmptrap_logging", 2, "", 1],
["proxy_secrets_provider", 2, "", 0],
["hk_history", 1, "31d", 0],
["timeout_db_monitor", 1, "3s", 0],
["timeout_external_check", 1, "3s", 0],
["timeout_http_agent", 1, "3s", 0],
["timeout_simple_check", 1, "3s", 0],
["timeout_snmp_agent", 1, "3s", 0],
["timeout_ssh_agent", 1, "3s", 0],
["timeout_telnet_agent", 1, "3s", 0],
["timeout_zabbix_agent", 1, "3s", 0],
["timeout_browser", 1, "30s", 0]
]
},
"httptest": {
"fields": ["httptestid", "name", "delay", "agent", "authentication", "http_user", "http_password", "hostid", "http_proxy", "retries", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host"],
"data": []
},
"httptestitem": {
"fields": ["httptestitemid", "httptestid", "itemid", "type"],
"data": []
},
"httptest_field": {
"fields": ["httptest_fieldid", "httptestid", "type", "name", "value"],
"data": []
},
"httpstep": {
"fields": ["httpstepid", "httptestid", "name", "no", "url", "timeout", "posts", "required", "status_codes", "follow_redirects", "retrieve_mode", "post_type"],
"data": []
},
"httpstepitem": {
"fields": ["httpstepitemid", "httpstepid", "itemid", "type"],
"data": []
},
"httpstep_field": {
"fields": ["httpstep_fieldid", "httpstepid", "type", "name", "value"],
"data": []
},
"config_autoreg_tls": {
"fields": ["autoreg_tlsid", "tls_psk_identity", "tls_psk"],
"data": [
[1, "", ""]
]
}
},
"macro.secrets": {
"AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix": {
"Content": "738"
}
},
"config_revision": 2
}
proxy→server:
{
"response": "success",
"version": "8.0.0"
}
Datu pieprasījums
proxy data pieprasījums tiek izmantots, lai iegūtu host interfeisa pieejamības,
vēsturiskos, atklāšanas un automātiskās reģistrācijas datus no starpniekservera. Šis pieprasījums
tiek nosūtīts ik pēc ProxyDataFrequency (servera konfigurācijas parametra)
sekundēm.
| name | value type | description | |
|---|---|---|---|
| server→proxy: | |||
| request | string | 'proxy data' | |
| proxy→server: | |||
| session | string | Datu sesijas marķieris. | |
| interface availability | array | (optional) Interfeisa pieejamības datu objektu masīvs. | |
| interfaceid | number | Interfeisa identifikators. | |
| available | number | Interfeisa pieejamība: 0, INTERFACE_AVAILABLE_UNKNOWN - nezināms 1, INTERFACE_AVAILABLE_TRUE - pieejams 2, INTERFACE_AVAILABLE_FALSE - nav pieejams |
|
| error | string | Interfeisa kļūdas ziņojums vai tukša virkne. | |
| history data | array | (optional) Vēsturisko datu objektu masīvs. | |
| itemid | number | Vienuma identifikators. | |
| clock | number | Vienuma vērtības laikspiedols (sekundēs). | |
| ns | number | Vienuma vērtības laikspiedols (nanosekundēs). | |
| value | string | (optional) Vienuma vērtība. | |
| id | number | Vērtības identifikators (augošs skaitītājs, unikāls vienas datu sesijas ietvaros). | |
| timestamp | number | (optional) Žurnāla tipa vienumu laikspiedols. | |
| source | string | (optional) Eventlog vienuma avota vērtība. | |
| severity | number | (optional) Eventlog vienuma nopietnības vērtība. | |
| eventid | number | (optional) Eventlog vienuma eventid vērtība. | |
| state | string | (optional) Vienuma stāvoklis: 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED |
|
| lastlogsize | number | (optional) Žurnāla tipa vienumu pēdējais žurnāla izmērs. | |
| mtime | number | (optional) Žurnāla tipa vienumu modificēšanas laiks. | |
| discovery data | array | (optional) Atklāšanas datu objektu masīvs. | |
| clock | number | Atklāšanas datu laikspiedols. | |
| druleid | number | Atklāšanas noteikuma identifikators. | |
| dcheckid | number | Atklāšanas pārbaudes identifikators vai null atklāšanas noteikuma datiem. | |
| type | number | Atklāšanas pārbaudes tips: -1 atklāšanas noteikuma dati 0, SVC_SSH - SSH pakalpojuma pārbaude 1, SVC_LDAP - LDAP pakalpojuma pārbaude 2, SVC_SMTP - SMTP pakalpojuma pārbaude 3, SVC_FTP - FTP pakalpojuma pārbaude 4, SVC_HTTP - HTTP pakalpojuma pārbaude 5, SVC_POP - POP pakalpojuma pārbaude 6, SVC_NNTP - NNTP pakalpojuma pārbaude 7, SVC_IMAP - IMAP pakalpojuma pārbaude 8, SVC_TCP - TCP porta pieejamības pārbaude 9, SVC_AGENT - Zabbix aģents 10, SVC_SNMPv1 - SNMPv1 aģents 11, SVC_SNMPv2 - SNMPv2 aģents 12, SVC_ICMPPING - ICMP ping 13, SVC_SNMPv3 - SNMPv3 aģents 14, SVC_HTTPS - HTTPS pakalpojuma pārbaude 15, SVC_TELNET - Telnet pieejamības pārbaude |
|
| ip | string | Host IP adrese. | |
| dns | string | Host DNS nosaukums. | |
| port | number | (optional) Pakalpojuma porta numurs. | |
| key_ | string | (optional) Vienuma atslēga atklāšanas pārbaudei ar tipu 9 SVC_AGENT | |
| value | string | (optional) No pakalpojuma saņemtā vērtība, vairumam pakalpojumu var būt tukša. | |
| status | number | (optional) Pakalpojuma statuss: 0, DOBJECT_STATUS_UP - pakalpojums darbojas 1, DOBJECT_STATUS_DOWN - pakalpojums nedarbojas |
|
| auto registration | array | (optional) Automātiskās reģistrācijas datu objektu masīvs. | |
| clock | number | Automātiskās reģistrācijas datu laikspiedols. | |
| host | string | Host nosaukums. | |
| ip | string | (optional) Host IP adrese. | |
| dns | string | (optional) No IP adreses atrisināts DNS nosaukums. | |
| port | string | (optional) Host ports. | |
| host_metadata | string | (optional) Host metadati, ko nosūta aģents (pamatojoties uz aģenta konfigurācijas parametru HostMetadata vai HostMetadataItem). | |
| tasks | array | (optional) Uzdevumu masīvs. | |
| type | number | Uzdevuma tips: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - attālā komanda rezultāts |
|
| status | number | Attālās komandas izpildes statuss: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - attālā komanda veiksmīgi pabeigta 1, ZBX_TM_REMOTE_COMMAND_FAILED - attālā komanda neizdevās |
|
| error | string | (optional) Kļūdas ziņojums. | |
| parent_taskid | number | Vecāka uzdevuma ID. | |
| more | number | (optional) 1 - ir vēl vēsturiskie dati, ko nosūtīt. | |
| clock | number | (optional) Datu pārsūtīšanas laikspiedols (sekundēs). | |
| ns | number | (optional) Datu pārsūtīšanas laikspiedols (nanosekundēs). | |
| version | string | Starpniekservera versija (<major>.<minor>.<build>). | |
| server→proxy: | |||
| response | string | Pieprasījuma izpildes informācija ('success' vai 'failed'). | |
| tasks | array | (optional) Uzdevumu masīvs. | |
| type | number | Uzdevuma tips: 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - attālā komanda |
|
| clock | number | Uzdevuma izveides laiks. | |
| ttl | number | Laiks sekundēs, pēc kura uzdevums beidzas. | |
| commandtype | number | Attālās komandas tips: 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - izmantot pielāgotu skriptu 1, ZBX_SCRIPT_TYPE_IPMI - izmantot IPMI 2, ZBX_SCRIPT_TYPE_SSH - izmantot SSH 3, ZBX_SCRIPT_TYPE_TELNET - izmantot Telnet 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - izmantot globālo skriptu (šobrīd funkcionāli ekvivalents pielāgotam skriptam) |
|
| command | string | Izpildāmā attālā komanda. | |
| execute_on | number | Izpildes mērķis pielāgotiem skriptiem: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - izpildīt skriptu uz aģents 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - izpildīt skriptu uz serveris 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - izpildīt skriptu uz starpniekserveris |
|
| port | number | (optional) Ports Telnet un SSH komandām. | |
| authtype | number | (optional) SSH komandu autentifikācijas tips. | |
| username | string | (optional) Lietotājvārds Telnet un SSH komandām. | |
| password | string | (optional) Parole Telnet un SSH komandām. | |
| publickey | string | (optional) Publiskā atslēga SSH komandām. | |
| privatekey | string | (optional) Privātā atslēga SSH komandām. | |
| parent_taskid | number | Vecāka uzdevuma ID. | |
| hostid | number | Mērķa host ID. | |
Piemērs:
server→proxy:
{
"request": "proxy data"
}
proxy→server:
{
"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":"8.0.0"
}
server→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
}
]
}
Uzdevumu pieprasījums
proxy tasks apmaiņa nodrošina attālo komandu uzdevumu piegādi un apstiprināšanu starp serveri un pasīvo starpniekserveri. Kad serveris aptaujā starpniekserveri par uzdevumu rezultātiem, tas nosūta tukšu proxy tasks pieprasījumu intervālā, kas definēts ar ProxyDataFrequency. Starpniekserveris atbild ar savu pašreizējo versiju un visiem gaidošajiem uzdevumu rezultātiem (tostarp laikspiedoliem). Pēc tam serveris apstiprina saņemšanu, atgriežot response, un var iekļaut jaunus uzdevumus, ko starpniekserverim izpildīt.
| name | value type | description | |
|---|---|---|---|
| server→proxy: | |||
| request | string | 'proxy tasks' | |
| proxy→server: | |||
| version | string | Starpniekservera versija (<major>.<minor>.<build>). | |
| clock | number | (optional) Datu pārsūtīšanas laikspiedols (sekundes). | |
| ns | number | (optional) Datu pārsūtīšanas laikspiedols (nanosekundes). | |
| server→proxy: | |||
| response | string | Pieprasījuma izpildes informācija ('success' or 'failed'). | |
Piemērs:
server→proxy:
{
"request":"proxy tasks"
}
proxy→server:
{
"version":"7.0.0",
"clock":1721059872,
"ns":848141522
}
server→proxy:
{
"response":"success"
}
Aktīvais starpniekserveris
Konfigurācijas pieprasījums
proxy config pieprasījumu aktīvais starpniekserveris nosūta, lai iegūtu starpniekservera konfigurācijas datus. Šis pieprasījums tiek nosūtīts ik pēc ProxyConfigFrequency (starpniekservera konfigurācijas parametrs) sekundēm.
| name | value type | description | ||||
|---|---|---|---|---|---|---|
| proxy→server: | ||||||
| request | string | 'proxy config' | ||||
| host | string |
Starpniekservera nosaukums. | ||||
| version | string | Starpniekservera versija (<major>.<minor>.<build>). | ||||
| session | string | Starpniekservera konfigurācijas sesijas marķieris. | ||||
| config_revision | number | Starpniekservera konfigurācijas revīzija. | ||||
| hostmap_revision | number | Pašreizējā hosts-to-starpniekserveris kartējuma revīzija. | ||||
| server→proxy: | ||||||
| full_sync | number | 1 - ja tiek nosūtīti pilni konfigurācijas dati, citādi nav norādīts (neobligāti). | ||||
| data | array | Tabulas datu objekts. Nav norādīts, ja konfigurācija nav mainīta (neobligāti). | ||||
| <table> | object | Viens vai vairāki objekti ar <table> datiem (neobligāti, atkarībā no izmaiņām). | ||||
| fields | array | Lauku nosaukumu masīvs. | ||||
| - | string | Lauka nosaukums. | ||||
| data | array | Rindu masīvs. | ||||
| - | array | Kolonnu masīvs. | ||||
| - | string,number | Kolonnas vērtība, kuras tips ir atkarīgs no kolonnas tipa datubāzes shēmā. | ||||
| macro.secrets | object | Slepeno makro informācija, nav norādīta, ja vault makrosos nav izmaiņu (neobligāti). | ||||
| proxy_group | string | Starpniekservera grupas nosaukums, kurai pieder starpniekserveris. | ||||
| config_revision | number | Konfigurācijas kešatmiņas revīzija - tiek nosūtīta kopā ar konfigurācijas datiem (neobligāti). | ||||
| del_hostids | array | Noņemto hostid masīvs (neobligāti). | ||||
| - | number | Host identifikators. | ||||
| del_macro_hostids | array | Hostid masīvs, kuriem noņemti visi makrosi (neobligāti). | ||||
| - | number | Host identifikators. | ||||
Piemērs:
proxy→server:
{
"request": "proxy config",
"host": "Zabbix proxy",
"version":"8.0.0",
"session": "fd59a09ff4e9d1fb447de1f04599bcf6",
"config_revision": 0
}
server→proxy:
{
"full_sync": 1,
"data": {
"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": [
[10084, "Zabbix server", 0, -1, 2, "", "", "Zabbix server", 1, 1, "", "", "", ""]
]
},
"interface": {
"fields": ["interfaceid", "hostid", "main", "type", "useip", "ip", "dns", "port", "available"],
"data": [
[1, 10084, 1, 1, 1, "127.0.0.1", "", "10053", 1]
]
},
"interface_snmp": {
"fields": ["interfaceid", "version", "bulk", "community", "securityname", "securitylevel", "authpassphrase", "privpassphrase", "authprotocol", "privprotocol", "contextname"],
"data": []
},
"host_inventory": {
"fields": ["hostid", "type", "type_full", "name", "alias", "os", "os_full", "os_short", "serialno_a", "serialno_b", "tag", "asset_tag", "macaddress_a", "macaddress_b", "hardware", "hardware_full", "software", "software_full", "software_app_a", "software_app_b", "software_app_c", "software_app_d", "software_app_e", "contact", "location", "location_lat", "location_lon", "notes", "chassis", "model", "hw_arch", "vendor", "contract_number", "installer_name", "deployment_status", "url_a", "url_b", "url_c", "host_networks", "host_netmask", "host_router", "oob_ip", "oob_netmask", "oob_router", "date_hw_purchase", "date_hw_install", "date_hw_expiry", "date_hw_decomm", "site_address_a", "site_address_b", "site_address_c", "site_city", "site_state", "site_country", "site_zip", "site_rack", "site_notes", "poc_1_name", "poc_1_email", "poc_1_phone_a", "poc_1_phone_b", "poc_1_cell", "poc_1_screen", "poc_1_notes", "poc_2_name", "poc_2_email", "poc_2_phone_a", "poc_2_phone_b", "poc_2_cell", "poc_2_screen", "poc_2_notes"],
"data": [
[10084, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "56.95387", "24.22067", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
]
},
"items": {
"fields": ["itemid", "type", "snmp_oid", "hostid", "key_", "delay", "history", "status", "value_type", "trapper_hosts", "logtimefmt", "params", "ipmi_sensor", "authtype", "username", "password", "publickey", "privatekey", "flags", "interfaceid", "inventory_link", "jmx_endpoint", "master_itemid", "timeout", "url", "query_fields", "posts", "status_codes", "follow_redirects", "post_type", "http_proxy", "headers", "retrieve_mode", "request_method", "output_format", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host", "allow_traps"],
"data": [
[44161, 7, "", 10084, "agent.hostmetadata", "10s", "90d", 0, 1, "", "", "", "", 0, "", "", "", "", 0, null, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0],
[44162, 0, "", 10084, "agent.ping", "10s", "90d", 0, 3, "", "", "", "", 0, "", "", "", "", 0, 1, 0, "", null, "3s", "", "", "", "200", 1, 0, "", "", 0, 0, 0, "", "", "", 0, 0, 0]
]
},
"item_rtdata": {
"fields": ["itemid", "lastlogsize", "mtime"],
"data": [
[44161, 0, 0],
[44162, 0, 0]
]
},
"item_preproc": {
"fields": ["item_preprocid", "itemid", "step", "type", "params", "error_handler", "error_handler_params"],
"data": []
},
"item_parameter": {
"fields": ["item_parameterid", "itemid", "name", "value"],
"data": []
},
"globalmacro": {
"fields": ["globalmacroid", "macro", "value", "type"],
"data": [
[2, "{$SNMP_COMMUNITY}", "public", 0]
]
},
"hosts_templates": {
"fields": ["hosttemplateid", "hostid", "templateid", "link_type"],
"data": []
},
"hostmacro": {
"fields": ["hostmacroid", "hostid", "macro", "value", "type", "automatic"],
"data": [
[5676, 10084, "{$M}", "AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content", 2, 0]
]
},
"drules": {
"fields": ["druleid", "name", "iprange", "delay"],
"data": [
[2, "Local network", "127.0.0.1", "10s"]
]
},
"dchecks": {
"fields": ["dcheckid", "druleid", "type", "key_", "snmp_community", "ports", "snmpv3_securityname", "snmpv3_securitylevel", "snmpv3_authpassphrase", "snmpv3_privpassphrase", "uniq", "snmpv3_authprotocol", "snmpv3_privprotocol", "snmpv3_contextname", "host_source", "name_source"],
"data": [
[2, 2, 9, "system.uname", "", "10052", "", 0, "", "", 0, 0, 0, "", 1, 0]
]
},
"regexps": {
"fields": ["regexpid", "name"],
"data": [
[1, "File systems for discovery"],
[2, "Network interfaces for discovery"],
[3, "Storage devices for SNMP discovery"],
[4, "Windows service names for discovery"],
[5, "Windows service startup states for discovery"]
]
},
"expressions": {
"fields": ["expressionid", "regexpid", "expression", "expression_type", "exp_delimiter", "case_sensitive"],
"data": [
[1, 1, "^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$", 3, ",", 0],
[3, 3, "^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$", 4, ",", 1],
[5, 4, "^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$", 4, ",", 1],
[6, 5, "^(automatic|automatic delayed)$", 3, ",", 1],
[7, 2, "^Software Loopback Interface", 4, ",", 1],
[8, 2, "^(In)?[Ll]oop[Bb]ack[0-9._]*$", 4, ",", 1],
[9, 2, "^NULL[0-9.]*$", 4, ",", 1],
[10, 2, "^[Ll]o[0-9.]*$", 4, ",", 1],
[11, 2, "^[Ss]ystem$", 4, ",", 1],
[12, 2, "^Nu[0-9.]*$", 4, ",", 1]
]
},
"settings": {
"fields": ["name", "type", "value_str", "value_int"],
"data": [
["autoreg_tls_accept", 2, "", 1],
["hk_history_global", 2, "", 0],
["snmptrap_logging", 2, "", 1],
["proxy_secrets_provider", 2, "", 0],
["hk_history", 1, "31d", 0],
["timeout_db_monitor", 1, "3s", 0],
["timeout_external_check", 1, "3s", 0],
["timeout_http_agent", 1, "3s", 0],
["timeout_simple_check", 1, "3s", 0],
["timeout_snmp_agent", 1, "3s", 0],
["timeout_ssh_agent", 1, "3s", 0],
["timeout_telnet_agent", 1, "3s", 0],
["timeout_zabbix_agent", 1, "3s", 0],
["timeout_browser", 1, "30s", 0]
]
},
"httptest": {
"fields": ["httptestid", "name", "delay", "agent", "authentication", "http_user", "http_password", "hostid", "http_proxy", "retries", "ssl_cert_file", "ssl_key_file", "ssl_key_password", "verify_peer", "verify_host"],
"data": []
},
"httptestitem": {
"fields": ["httptestitemid", "httptestid", "itemid", "type"],
"data": []
},
"httptest_field": {
"fields": ["httptest_fieldid", "httptestid", "type", "name", "value"],
"data": []
},
"httpstep": {
"fields": ["httpstepid", "httptestid", "name", "no", "url", "timeout", "posts", "required", "status_codes", "follow_redirects", "retrieve_mode", "post_type"],
"data": []
},
"httpstepitem": {
"fields": ["httpstepitemid", "httpstepid", "itemid", "type"],
"data": []
},
"httpstep_field": {
"fields": ["httpstep_fieldid", "httpstepid", "type", "name", "value"],
"data": []
},
"config_autoreg_tls": {
"fields": ["autoreg_tlsid", "tls_psk_identity", "tls_psk"],
"data": [
[1, "", ""]
]
}
},
"macro.secrets": {
"AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix": {
"Content": "738"
}
},
"config_revision": 2
}
Datu pieprasījums
proxy data pieprasījumu starpniekserveris nosūta, lai nodrošinātu host interfeisu pieejamības, vēstures, atklāšanas un automātiskās reģistrācijas datus.
Šis pieprasījums tiek nosūtīts ik pēc DataSenderFrequency (starpniekservera konfigurācijas parametrs) sekundēm.
Ņemiet vērā, ka aktīvais starpniekserveris joprojām katru sekundi aptaujās Zabbix serveri par attālināto komandu uzdevumiem (ar tukšu proxy data pieprasījumu).
| name | value type | description | |
|---|---|---|---|
| proxy→server: | |||
| request | string | 'proxy data' | |
| host | string | Starpniekservera nosaukums. | |
| session | string | Datu sesijas marķieris. | |
| interface availability | array | (optional) Interfeisu pieejamības datu objektu masīvs. | |
| interfaceid | number | Interfeisa identifikators. | |
| available | number | Interfeisa pieejamība: 0, INTERFACE_AVAILABLE_UNKNOWN - nav zināma 1, INTERFACE_AVAILABLE_TRUE - pieejams 2, INTERFACE_AVAILABLE_FALSE - nav pieejams |
|
| error | string | Interfeisa kļūdas ziņojums vai tukša virkne. | |
| history data | array | (optional) Vēstures datu objektu masīvs. | |
| itemid | number | Vienuma identifikators. | |
| clock | number | Vienuma vērtības laikspiedols (sekundēs). | |
| ns | number | Vienuma vērtības laikspiedols (nanosekundēs). | |
| value | string | (optional) Vienuma vērtība. | |
| id | number | Vērtības identifikators (augošs skaitītājs, unikāls vienas datu sesijas ietvaros). | |
| timestamp | number | (optional) Žurnāla tipa vienumu laikspiedols. | |
| source | string | (optional) Eventlog vienuma avota vērtība. | |
| severity | number | (optional) Eventlog vienuma smaguma pakāpes vērtība. | |
| eventid | number | (optional) Eventlog vienuma eventid vērtība. | |
| state | string | (optional) Vienuma stāvoklis: 0, ITEM_STATE_NORMAL 1, ITEM_STATE_NOTSUPPORTED |
|
| lastlogsize | number | (optional) Žurnāla tipa vienumu pēdējais žurnāla izmērs. | |
| mtime | number | (optional) Žurnāla tipa vienumu modificēšanas laiks. | |
| discovery data | array | (optional) Atklāšanas datu objektu masīvs. | |
| clock | number | Atklāšanas datu laikspiedols. | |
| druleid | number | Atklāšanas noteikuma identifikators. | |
| dcheckid | number | Atklāšanas pārbaudes identifikators vai null atklāšanas noteikuma datiem. | |
| type | number | Atklāšanas pārbaudes tips: -1 atklāšanas noteikuma dati 0, SVC_SSH - SSH pakalpojuma pārbaude 1, SVC_LDAP - LDAP pakalpojuma pārbaude 2, SVC_SMTP - SMTP pakalpojuma pārbaude 3, SVC_FTP - FTP pakalpojuma pārbaude 4, SVC_HTTP - HTTP pakalpojuma pārbaude 5, SVC_POP - POP pakalpojuma pārbaude 6, SVC_NNTP - NNTP pakalpojuma pārbaude 7, SVC_IMAP - IMAP pakalpojuma pārbaude 8, SVC_TCP - TCP porta pieejamības pārbaude 9, SVC_AGENT - Zabbix aģents 10, SVC_SNMPv1 - SNMPv1 aģents 11, SVC_SNMPv2 - SNMPv2 aģents 12, SVC_ICMPPING - ICMP ping 13, SVC_SNMPv3 - SNMPv3 aģents 14, SVC_HTTPS - HTTPS pakalpojuma pārbaude 15, SVC_TELNET - Telnet pieejamības pārbaude |
|
| ip | string | Host IP adrese. | |
| dns | string | Host DNS nosaukums. | |
| port | number | (optional) Pakalpojuma porta numurs. | |
| key_ | string | (optional) Vienuma atslēga atklāšanas pārbaudei ar tipu 9 SVC_AGENT | |
| value | string | (optional) No pakalpojuma saņemtā vērtība, vairumam pakalpojumu var būt tukša. | |
| status | number | (optional) Pakalpojuma statuss: 0, DOBJECT_STATUS_UP - pakalpojums darbojas 1, DOBJECT_STATUS_DOWN - pakalpojums nedarbojas |
|
| autoregistration | array | (optional) Automātiskās reģistrācijas datu objektu masīvs. | |
| clock | number | Automātiskās reģistrācijas datu laikspiedols. | |
| host | string | Host nosaukums. | |
| ip | string | (optional) Host IP adrese. | |
| dns | string | (optional) No IP adreses atrisināts DNS nosaukums. | |
| port | string | (optional) Host ports. | |
| host_metadata | string | (optional) Host metadati, ko nosūtījis aģents (pamatojoties uz aģenta konfigurācijas parametru HostMetadata vai HostMetadataItem). | |
| tasks | array | (optional) Uzdevumu masīvs. | |
| type | number | Uzdevuma tips: 0, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND_RESULT - attālinātas komandas rezultāts |
|
| status | number | Attālinātās komandas izpildes statuss: 0, ZBX_TM_REMOTE_COMMAND_COMPLETED - attālinātā komanda veiksmīgi pabeigta 1, ZBX_TM_REMOTE_COMMAND_FAILED - attālinātās komandas izpilde neizdevās |
|
| error | string | (optional) Kļūdas ziņojums. | |
| parent_taskid | number | Vecākuzdevuma ID. | |
| more | number | (optional) 1 - ir vēl vēstures dati, ko nosūtīt | |
| clock | number | (optional) Datu pārsūtīšanas laikspiedols (sekundēs). | |
| ns | number | (optional) Datu pārsūtīšanas laikspiedols (nanosekundēs). | |
| version | string | Starpniekservera versija (<major>.<minor>.<build>). | |
| server→proxy: | |||
| response | string | Pieprasījuma izpildes informācija ('success' vai 'failed'). | |
| upload | string | Vēsturisko datu augšupielādes kontrole (vēsture, automātiskā reģistrācija, host pieejamība, tīkla atklāšana). Iespējamās vērtības: enabled - normāla darbība disabled - serveris nepieņem datus (iespējams, iekšējās kešatmiņas pārsnieguma dēļ) |
|
| tasks | array | (optional) Uzdevumu masīvs. | |
| type | number | Uzdevuma tips: 1, ZBX_TM_TASK_PROCESS_REMOTE_COMMAND - attālināta komanda |
|
| clock | number | Uzdevuma izveides laiks. | |
| ttl | number | Laiks sekundēs, pēc kura uzdevums beidzas. | |
| commandtype | number | Attālinātās komandas tips: 0, ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT - izmantot pielāgotu skriptu 1, ZBX_SCRIPT_TYPE_IPMI - izmantot IPMI 2, ZBX_SCRIPT_TYPE_SSH - izmantot SSH 3, ZBX_SCRIPT_TYPE_TELNET - izmantot Telnet 4, ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT - izmantot globālo skriptu (šobrīd funkcionāli ekvivalents pielāgotam skriptam) |
|
| command | string | Izpildāmā attālinātā komanda. | |
| execute_on | number | Izpildes mērķis pielāgotiem skriptiem: 0, ZBX_SCRIPT_EXECUTE_ON_AGENT - izpildīt skriptu aģentā 1, ZBX_SCRIPT_EXECUTE_ON_SERVER - izpildīt skriptu serverī 2, ZBX_SCRIPT_EXECUTE_ON_PROXY - izpildīt skriptu starpniekserverī |
|
| port | number | (optional) Ports Telnet un SSH komandām. | |
| authtype | number | (optional) SSH komandu autentifikācijas tips. | |
| username | string | (optional) Lietotājvārds Telnet un SSH komandām. | |
| password | string | (optional) Parole Telnet un SSH komandām. | |
| publickey | string | (optional) SSH komandu publiskā atslēga. | |
| privatekey | string | (optional) SSH komandu privātā atslēga. | |
| parent_taskid | number | Vecākuzdevuma ID. | |
| hostid | number | Mērķa host ID. | |
Piemērs:
proxy→server:
{
"request": "proxy data",
"host": "Zabbix proxy",
"session": "818cdd1b537bdc5e50c09ed4969235b6",
"interface availability": [{
"interfaceid": 1,
"available": 1,
"error": ""
}],
"history data": [{
"id": 1114,
"itemid": 44162,
"clock": 1665730632,
"ns": 798953105,
"value": "1"
}, {
"id": 1115,
"itemid": 44161,
"clock": 1665730633,
"ns": 811684663,
"value": "58"
}],
"auto registration": [{
"clock": 1665730633,
"host": "Zabbix server",
"ip": "127.0.0.1",
"dns": "localhost",
"port": "10053",
"host_metadata": "58",
"tls_accepted": 1
}],
"discovery data": [{
"clock": 1665732232,
"drule": 2,
"dcheck": 2,
"ip": "127.0.0.1",
"dns": "localhost",
"port": 10052,
"status": 1
}, {
"clock": 1665732232,
"drule": 2,
"dcheck": null,
"ip": "127.0.0.1",
"dns": "localhost",
"status": 1
}],
"host data": [{
"hostid": 10084,
"active_status": 1
}],
"tasks": [{
"type": 3,
"clock": 1665730985,
"ttl": 0,
"status": -1,
"info": "Remote commands are not enabled",
"parent_taskid": 3
}],
"version": "8.0.0",
"clock": 1665730643,
"ns": 65389964
}
server→proxy:
{
"upload": "enabled",
"response": "success",
"tasks": [{
"type": 2,
"clock": 1665730986,
"ttl": 600,
"commandtype": 0,
"command": "ping -c 3 127.0.0.1; case $? in [01]) true;; *) false;; esac",
"execute_on": 2,
"port": 0,
"authtype": 0,
"username": "",
"password": "",
"publickey": "",
"privatekey": "",
"alertid": 0,
"parent_taskid": 4,
"hostid": 10084
}]
}