Zabbix接口测试文档
(V1.0)
2018.3
接口测试说明
注意:1.zabbix版本为3.0.14;
2.若已测试通过,则在相应的方法上加注(YES)标签;
3.测试时会在Request和Response栏做部分修改,注意与《Zabbix系统接口》文档作对比查看(着重看字体差别部分);
4.监控流程请参照《监控项添加流程图》和《监控信息获取流程图》两个文档;
5.接口测试使用的是RESTClient工具(Firefox浏览器插件)
6.已上传word版,如需下载请前往https://download.youkuaiyun.com/download/u012469528/10500305
7.待写。。。
目录
4.1. hostgroup.create(YES) - 29 -
4.3. hostgroup.get(YES) - 31 -
4.6. hostgroup.massremove - 35 -
4.7. hostgroup.massupdate - 36 -
4.8. hostgroup.isreadable - 37 -
4.9. hostgroup.iswritable - 38 -
5.5. httptest.isreadable - 44 -
5.6. httptest.iswritable - 45 -
6.6. template.massremove - 52 -
6.7. template.massupdate - 54 -
6.8. template.isreadable - 55 -
6.9. template.iswritable - 56 -
11.1. application.create - 69 -
11.2. application.delete - 70 -
11.4. application.update - 72 -
11.5. application.massadd - 73 -
12.5. trigger.adddependencies - 80 -
12.6. trigger.deletedependencies - 81 -
12.7. trigger.isreadable - 82 -
12.8. trigger.iswritable - 83 -
14.1. screenitem.create - 88 -
14.2. screenitem.delete - 90 -
14.4. screenitem.update - 95 -
14.5. screenitem.updatebyposition - 95 -
14.6. screenitem.isreadable - 96 -
14.7. screenitem.iswritable - 97 -
18.1. graphprototype.create - 113 -
18.2. graphprototype.delete - 114 -
18.3. graphprototype.get - 115 -
18.4. graphprototype.update - 117 -
19.1. templatescreenitem.get - 117 -
20.1. templatescreen.create - 120 -
20.2. templatescreen.delete - 121 -
20.3. templatescreen.get - 122 -
20.4. templatescreen.update - 125 -
20.5. templatescreen.copy - 125 -
20.6. templatescreen.isreadable - 126 -
20.7. templatescreen.iswritable - 127 -
22.1. user.create(YES) - 130 -
22.2. user.delete(YES) - 131 -
22.5. user.updateprofile - 134 -
22.7. user.deletemedia - 136 -
22.8. user.updatemedia - 137 -
22.10. user.logout(YES) - 140 -
22.11. user.isreadable(YES) - 140 -
22.12. user.iswritable(YES) - 141 -
23.1. usergroup.create(YES) - 142 -
23.2. usergroup.delete(YES) - 143 -
23.3. usergroup.get(YES) - 143 -
23.4. usergroup.update - 145 -
23.5. usergroup.massadd - 145 -
23.6. usergroup.massupdate - 146 -
23.7. usergroup.isreadable - 147 -
23.8. usergroup.iswritable - 148 -
24.1. usermacro.create - 149 -
24.2. usermacro.delete - 150 -
24.4. usermacro.update - 152 -
24.5. usermacro.createglobal - 153 -
24.6. usermacro.deleteglobal - 154 -
24.7. usermacro.updateglobal - 154 -
25.1. hostinterface.create - 155 -
25.2. hostinterface.delete - 156 -
25.3. hostinterface.get - 157 -
25.4. hostinterface.update - 159 -
25.5. hostinterface.massadd - 159 -
25.6. hostinterface.massremove - 161 -
25.7. hostinterface.replacehostinterfaces - 162 -
26.1. hostprototype.create - 163 -
26.2. hostprototype.delete - 164 -
26.3. hostprototype.get - 165 -
26.4. hostprototype.update - 167 -
26.5. hostprototype.isreadable - 167 -
26.6. hostprototype.iswritable - 168 -
1. 获取API版本(YES)
Description | 该方法用于获取 Zabbix API 版本 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | { "jsonrpc": "2.0", //这是标准的JSON RPC参数以标示协议版本。所有的请求都会保持不变 "method": "apiinfo.version", //这个参数定义了真实执行的操作。例如:host.create、item.update等等 "params": [], //请求的参数列表,采用键值对形式 "id": 1 //用于绑定JSON请求和响应.响应会跟请求有相同的"id"。在一次性发送多个请求时很有用,这些也不需要唯一或者连续 }
|
返回值 | 返回 Zabbix API 的版本 |
Response(实际测试结果) | { "jsonrpc": "2.0", "result": "3.0.14", "id": 1 }
|
2. 监控项
2.1. item.create(YES)
Description | 此方法允许创建新的项 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一: 创建一个数字Zabbix代理项,以监控ID为“30074”的主机上的可用磁盘空间,并将其添加到两个应用程序中。 { "jsonrpc": "2.0", "method": "item.create", "params": { "name": "system cpu util", "key_": "system.cpu.util", "hostid": "10108", "type": 0, "value_type": 3, "interfaceid": "5", "applications": [ "468" ], "delay": 30 }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
实例二: 创建一个项目来填充Zabbix代理主机的“操作系统”库存 { "jsonrpc": "2.0", "method": "item.create", "params": { "name": "uname", //(required) "key_": "system.uname", //(required) "hostid": "30021", //(required) "type": 0, //(required) "interfaceid": "30007", //(required) "value_type": 1, //(required) "delay": 10, //(required) "inventory_link": 5 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含“itemids”属性下创建项的ID的对象。 返回的ID的顺序与传递的项的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "itemids": ["23694"] }, "id": 1 }
对应实例二: { "jsonrpc": "2.0", "result": { "itemids": [ "24759" ] }, "id": 1 }
|
2.2. item.delete
Description | 此方法允许删除项目 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一: 删除多个items { "jsonrpc": "2.0", "method": "item.delete", "params": [ "22982", //要删除的项的ID "22986" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含“itemids”属性下的已删除项的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "itemids": [ "22982", "22986" ] }, "id": 1 }
|
2.3. item.get(YES)
Description | 该方法允许根据给定的参数检索监控项。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:通过 Key 查询 Items 从key中具有“system.cpu.util”一词的ID为“10108”的主机检索所有监控项,并按名称进行排序。 { "jsonrpc": "2.0", "method": "item.get", "params": { "output": "extend", "hostids": "10108", "search": { "key_": "system.cpu.util" }, "sortfield": "name" }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数 |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "itemid": "23694", "type": "0", "snmp_community": "", "snmp_oid": "", "hostid": "10108", "name": "system cpu util", "key_": "system.cpu.util", "delay": "30", "history": "90", "trends": "365", "status": "0", "value_type": "3", "trapper_hosts": "", "units": "", "multiplier": "0", "delta": "0", "snmpv3_securityname": "", "snmpv3_securitylevel": "0", "snmpv3_authpassphrase": "", "snmpv3_privpassphrase": "", "formula": "1", "error": "", "lastlogsize": "0", "logtimefmt": "", "templateid": "0", "valuemapid": "0", "delay_flex": "", "params": "", "ipmi_sensor": "", "data_type": "0", "authtype": "0", "username": "", "password": "", "publickey": "", "privatekey": "", "mtime": "0", "flags": "0", "interfaceid": "5", "port": "", "description": "", "inventory_link": "0", "lifetime": "30", "snmpv3_authprotocol": "0", "snmpv3_privprotocol": "0", "state": "0", "snmpv3_contextname": "", "evaltype": "0", "lastclock": "0", "lastns": "0", "lastvalue": "0", "prevvalue": "0" }], "id": 1 }
|
2.4. item.update
Description | 此方法允许更新现有项 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:启用项 启用项,即将其状态设置为“0”。 { "jsonrpc": "2.0", "method": "item.update", "params": { "itemid": "10092", "status": 0 }, "auth": "700ca65537074ec963db7efabda78259", "id": 1 }
|
返回值 | 返回一个包含“itemids”属性下更新项的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "itemids": [ "10092" ] }, "id": 1 }
|
2.5. item.isreadable(YES)
Description | 此方法检查给定的项目是否可以读取 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个项目 检查两个项目是否可读。 { "jsonrpc": "2.0", "method": "item.isreadable", "params": [ //项 "23298", "23323" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的项目可供阅读,则返回true |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
2.6. item.iswritable(YES)
Description | 此方法检查给定的项目是否可用于写入 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个项目 检查两个项目是否可读。 { "jsonrpc": "2.0", "method": "item.iswritable", "params": [ "23298", "23323" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的项目可用于写入,则返回true |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
3. 主机
3.1. host.create(YES)
Description | 此方法允许创建新的主机。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个主机 创建一个具有IP接口的“Linux Server”主机,将其添加到主机组中,链接一个模板并且把MAC地址设置到主机资产清单里。 { "jsonrpc": "2.0", "method": "host.create", "params": { "host": "Linux server", "interfaces": [ { "type": 1, "main": 1, "useip": 1, "ip": "192.168.3.1", "dns": "", "port": "10050" } ], "groups": [ { "groupid": "8" } ], "templates": [ { "templateid": "10081" } ], "inventory_mode": 0, "inventory": { "macaddress_a": "01234", "macaddress_b": "56768" } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值
| 返回一个对象其中包含在hostids属性下已创建主机的ID。返回ID的命令与传递主机的命令相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": ["10108"] }, "id": 1 }
|
3.2. host.delete(YES)
Description | 此方法允许删除主机。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个主机 { "jsonrpc": "2.0", "method": "host.delete", "params": [ "13", "32" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回一个对象其中包含在hostids属性下已删除主机的ID。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "13", "32" ] }, "id": 1 }
|
3.3. host.get(YES)
Description | 此方法允许根据指定的参数获取主机。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索数据 检索所有主机的数据。 { "jsonrpc": "2.0", "method": "host.get", "params": {}, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例二:根据名称检索数据 检索所有关于主机名为“zabbix_server”和“zabbix_agent4”的数据。 { "jsonrpc": "2.0", "method": "host.get", "params": { "filter": { "host": [ "zabbix_server", "zabbix_agent4" ] } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例三:检索主机组 检索主机“zabbix_server”隶属于的组名,但是不检索主机本身的详情。 { "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid"], "selectGroups": "extend",//返回在groups属性中主机所属的主机组。 "filter": { "host": [ "zabbix_server" ] } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 2 }
示例四:检索相关模板 检索主机“10084”相关模板的ID和名称。 { "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid"], "selectParentTemplates": [ //返回在parentTemplates属性中与主机关联的模板。支持count。 "templateid", "name" ], "hostids": "10084" }, "id": 1, "auth": "cbaea23bcbc89b6875d9690b302c81cd" }
示例五:根据主机资产清单数据搜索 检索在资产清单“OS”字段中包含“Linux”的主机。 { "jsonrpc": "2.0", "method": "host.get", "params": { "output": [ "host" ], "selectInventory": [ //返回在inventory属性中主机里的主机资产清单。 "os" ], "searchInventory": { //仅返回与指定通配符搜索资产清单数据匹配的主机。这个参数被相同其他参数,比如参数search所影响。 "os": "Linux" } }, "id": 2, "auth": "7f9e00124c75e8f25facd5c093f3e9a0" }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "hostid": "10084", "proxy_hostid": "0", "host": "zabbix_server", "status": "0", "disable_until": "1522375238", "error": "Get value from agent failed: cannot connect to [[192.168.3.132]:10050]: [111] Connection refused", "available": "2", "errors_from": "1517796750", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_server(192.168.3.132)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "hostid": "10105", "proxy_hostid": "0", "host": "zabbix_agent4", "status": "0", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_agent4(192.168.4.133)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "hostid": "10107", "proxy_hostid": "0", "host": "zabbix_agent5", "status": "0", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_agent5(192.168.4.145)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "hostid": "10108", "proxy_hostid": "0", "host": "Linux server", "status": "0", "disable_until": "1522375255", "error": "Get value from agent failed: cannot connect to [[192.168.3.1]:10050]: [111] Connection refused", "available": "2", "errors_from": "1521774817", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "Linux server", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }], "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": [{ "hostid": "10105", "proxy_hostid": "0", "host": "zabbix_agent4", "status": "0", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_agent4(192.168.4.133)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "hostid": "10084", "proxy_hostid": "0", "host": "zabbix_server", "status": "0", "disable_until": "1521711853", "error": "Get value from agent failed: cannot connect to [[192.168.3.132]:10050]: [111] Connection refused", "available": "2", "errors_from": "1517796750", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_server(192.168.3.132)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }], "id": 1 }
对应示例三: { "jsonrpc": "2.0", "result": [{ "hostid": "10084", "groups": [{ "groupid": "4", "name": "Zabbix servers", "internal": "0", "flags": "0" }] }], "id": 2 }
对应示例四: { "jsonrpc": "2.0", "result": [{ "hostid": "10084", "parentTemplates": [{ "templateid": "10001", "name": "Template OS Linux" }, { "templateid": "10047", "name": "Template App Zabbix Server" }] }], "id": 1 }
对应示例五: { "jsonrpc": "2.0", "result": [ { "hostid": "10084", "host": "Zabbix server", "inventory": { "os": "Linux Ubuntu" } }, { "hostid": "10107", "host": "Linux server", "inventory": { "os": "Linux Mint" } } ], "id": 1 }
|
3.4. host.update
Description | 该方法允许更新目前的主机。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:启用一个主机 启用主机监控,例如,把主机状态设置为0。 { "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "status": 0 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
示例二:删除模板链接 从主机中删除链接并清除两个模板。 { "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "templates_clear": [ //从主机中删除模板链接并清除。模板必须已定义过templateid属性。 { "templateid": "10124" }, { "templateid": "10125" } ] }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例三:更新主机的宏 用两个新的宏替换主机所有的宏。 { "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "macros": [ //替换当前用户宏。 { "macro": "{$PASS}", "value": "password" }, { "macro": "{$DISC}", "value": "sda" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
示例四:更新主机资产清单 更改资产清单模式并添加地点。 { "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10387", "inventory_mode": 0, "inventory": { "location": "Latvia, Riga" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象其中包含在hostids属性下已更新主机的ID。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "10126" ] }, "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": { "hostids": [ "10126" ] }, "id": 1 }
对应示例三: { "jsonrpc": "2.0", "result": { "hostids": [ "10126" ] }, "id": 1 }
对应示例四: { "jsonrpc": "2.0", "result": { "hostids": [ "10387" ] }, "id": 2 }
|
3.5. host.massadd
Description | 此方法允许同时添加多个相关对象到指定的主机。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:添加宏 添加两个新的宏到两个主机中。 { "jsonrpc": "2.0", "method": "host.massadd", "params": { "hosts": [ //需要更新的主机.主机必须已定义过hostid属性。(required) { "hostid": "10160" }, { "hostid": "10167" } ], "macros": [ //为指定主机创建的宏。 { "macro": "{$TEST1}", "value": "MACROTEST1" }, { "macro": "{$TEST2}", "value": "MACROTEST2" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象其中包含在hostids属性下已更新主机的ID。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "10160", "10167" ] }, "id": 1 }
|
3.6. host.massremove(YES)
Description | 此方法允许从多个主机中移除相关对象。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除模板链接 从两个主机中删除一个模板链接并且删除所有模板实体。 { "jsonrpc": "2.0", "method": "host.massremove", "params": { "hostids": ["69665", "69666"], //需要更新的主机ID。(required) "templateids_clear": "325" //从指定主机中删除并清除模板链接。 }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回一个对象其中包含在hostids属性下已更新主机的ID。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "69665", "69666" ] }, "id": 1 }
|
3.7. host.massupdate
Description | 此方法允许同时替换或移除相关对象和在多个主机中更新属性。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:启用多个主机 启用两个主机的监控,例如,把这两个主机的状态设置为0。 { "jsonrpc": "2.0", "method": "host.massupdate", "params": { "hosts": [ //(required) { "hostid": "69665" }, { "hostid": "69666" } ], "status": 0 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象其中包含在hostids属性下已更新主机的ID |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "69665", "69666" ] }, "id": 1 }
|
3.8. host.isreadable(YES)
Description | 该方法检查给定的主机是否可用于读取。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个主机 检查两台主机是否可读。 { "jsonrpc": "2.0", "method": "host.isreadable", "params": [
"10084" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 如果给定的主机可用于读取,则返回true |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
3.9. host.iswritable(YES)
Description | 该方法检查给定主机是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个主机 检查两台主机是否可写。 { "jsonrpc": "2.0", "method": "host.iswritable", "params": [
"10084" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 如果给定主机可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
4. 主机组
4.1. hostgroup.create(YES)
Description | 此方法允许创建新的主机组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建主机组 创建一个名为“Linux servers2”的主机组。 { "jsonrpc": "2.0", "method": "hostgroup.create", "params": { "name": "Linux servers2" //主机组的名称(required) }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值
| 返回包含“groupids”属性下创建的主机组的ID的对象。返回的ID的顺序与传递的主机组的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "groupids": ["8"] }, "id": 1 } |
4.2. hostgroup.delete(YES)
Description | 此方法允许删除主机组。 如果主机组有以下情况,则不能被删除: ①它只包含属于此组的主机; ②被标记为内部; ③被主机原型使用; ④在全局脚本中使用; ⑤在相关条件下使用。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个主机组 删除两个主机组 { "jsonrpc": "2.0", "method": "hostgroup.delete", "params": [ "107824", "107825" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回包含“groupids”属性下删除的主机组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "groupids": [ "107824", "107825" ] }, "id": 1 }
|
4.3. hostgroup.get(YES)
Description | 该方法允许根据给定的参数检索主机组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:按名称检索数据 检索所有关于主机组组名为“Zabbix server”和“Linux server”的数据。 { "jsonrpc": "2.0", "method": "hostgroup.get", "params": { "output": "extend", "filter": { "name": [ "Zabbix servers", //主机组的名称 "Linux servers" ] } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例二:检索数据 检索所有主机组的数据。 { "jsonrpc": "2.0", "method": "hostgroup.get", "params": { "output": "extend", "filter": { } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例三:按名称检索数据 检索所有关于主机组组名为“linux_hostgroup1”下的主机数据。 { "jsonrpc": "2.0", "method": "hostgroup.get", "params": { "output": "extend", "selectHosts": "extend", "filter": { "name": [ "linux_hostgroup1" ] } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "groupid": "2", "name": "Linux servers", "internal": "0", "flags": "0" }, { "groupid": "4", "name": "Zabbix servers", "internal": "0", "flags": "0" }], "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": [{ "groupid": "1", "name": "Templates", "internal": "0", "flags": "0" }, { "groupid": "2", "name": "Linux servers", "internal": "0", "flags": "0" }, { "groupid": "4", "name": "Zabbix servers", "internal": "0", "flags": "0" }, { "groupid": "5", "name": "Discovered hosts", "internal": "1", "flags": "0" }, { "groupid": "6", "name": "Virtual machines", "internal": "0", "flags": "0" }, { "groupid": "7", "name": "Hypervisors", "internal": "0", "flags": "0" }, { "groupid": "8", "name": "Linux servers2", "internal": "0", "flags": "0" }], "id": 1 }
对应示例三: { "jsonrpc": "2.0", "result": [{ "groupid": "10", "name": "linux_hostgroup1", "internal": "0", "flags": "0", "hosts": [{ "hostid": "10105", "proxy_hostid": "0", "host": "zabbix_agent4", "status": "0", "disable_until": "0", "error": "", "available": "1", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_agent4(192.168.4.133)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "hostid": "10107", "proxy_hostid": "0", "host": "zabbix_agent5", "status": "0", "disable_until": "0", "error": "", "available": "1", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_agent5(192.168.4.145)", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "hostid": "10113", "proxy_hostid": "0", "host": "zabbix_agent6", "status": "0", "disable_until": "0", "error": "", "available": "1", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "zabbix_agent6", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }] }], "id": 1 } |
4.4. hostgroup.update
Description | 此方法允许更新现有的主机组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名主机组 将主机组命名为“Linux hosts”。 { "jsonrpc": "2.0", "method": "hostgroup.update", "params": { "groupid": "7", "name": "Linux hosts" //(required) }, "auth": "700ca65537074ec963db7efabda78259", "id": 1 }
|
返回值 | 返回包含“groupids”属性下更新的主机组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "groupids": [ "7" ] }, "id": 1 }
|
4.5. hostgroup.massadd(YES)
Description | 该方法允许同时向所有给定的主机组添加多个相关对象。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:将主机添加到主机组 将主机10107添加到ID为10的主机组。 { "jsonrpc": "2.0", "method": "hostgroup.massadd", "params": { "groups": [ { "groupid": "10" } ], "hosts": [ { "hostid": "10107" } ] }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回包含“groupids”属性下更新的主机组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "groupids": ["10"] }, "id": 1 }
|
4.6. hostgroup.massremove
Description | 此方法允许从多个主机组中删除相关对象。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:从主机组中删除主机 从给定的主机组中删除两个主机。 { "jsonrpc": "2.0", "method": "hostgroup.massremove", "params": { "groupids": [ //要更新的主机组的ID。(required) "5", "6" ], "hostids": [ //要从所有主机组中删除的主机。 "30050", "30001" ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“groupids”属性下更新的主机组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "groupids": [ "5", "6" ] }, "id": 1 }
|
4.7. hostgroup.massupdate
Description | 该方法允许同时替换或删除多个主机组的相关对象。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:更换主机组中的主机 用ID替换主机组中的所有主机。 { "jsonrpc": "2.0", "method": "hostgroup.massupdate", "params": { "groups": [ //要更新的主机组。主机组必须定义“groupid”属性。(required) { "groupid": "6" } ], "hosts": [ //主机替换给定主机组上的当前主机。主机必须定义“hostid”属性。 { "hostid": "30050" } ] }, "auth": "f223adf833b2bf2ff38574a67bba6372", "id": 1 }
|
返回值 | 返回包含“groupids”属性下更新的主机组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "groupids": [ "6", ] }, "id": 1 }
|
4.8. hostgroup.isreadable(YES)
Description | 该方法检查给定的主机组是否可用于读取。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个主机组 检查两个主机组是否可读。 { "jsonrpc": "2.0", "method": "hostgroup.isreadable", "params": [ "5", "7" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定主机组可用于读取,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
4.9. hostgroup.iswritable(YES)
Description | 该方法检查给定主机组是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个主机 检查两个主机组是否可写。 { "jsonrpc": "2.0", "method": "hostgroup.iswritable", "params": [ "5", "7" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定主机组可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
5. Web场景
5.1. httptest.create
Description | 此方法允许创建新的Web场景。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个主机创建Web场景 创建一个Web场景来监视公司主页。 该方案将有两个步骤,以检查主页和“About”页面,并确保它们返回HTTP状态代码200。 { "jsonrpc": "2.0", "method": "httptest.create", "params": { "name": "Homepage check", //Web场景的名称(required) "hostid": "10085", //Web场景所属主机的ID。(required) "steps": [ //Web方案步骤。(required) { "name": "Homepage",//场景步骤的名称。(required) "url": "http://mycompany.com", //要检查的URL。(required) "status_codes": 200,//所需HTTP状态代码的范围用逗号分隔。 "no": 1 //Web场景中步骤的序列号。(required) }, { "name": "Homepage / About", "url": "http://mycompany.com/about", "status_codes": 200, "no": 2 } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回一个包含“httptestids”属性下创建的Web场景的ID的对象。 返回的ID的顺序与传递的Web方案的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "httptestids": [ "5" //Web场景的ID ] }, "id": 1 }
|
5.2. httptest.delete
Description | 此方法允许删除Web场景。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个Web场景 删除2个Web场景 { "jsonrpc": "2.0", "method": "httptest.delete", "params": [ "2", "3" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含“httptestids”属性下删除的Web方案的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "httptestids": [ "2", "3" ] }, "id": 1 }
|
5.3. httptest.get
Description | 该方法允许根据给定的参数检索Web场景。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索网络场景 检索有关Web场景“4”的所有数据。 { "jsonrpc": "2.0", "method": "httptest.get", "params": { "output": "extend", "selectSteps": "extend", //在steps属性中返回Web方案步骤。 "httptestids": "9" //只返回具有给定ID的Web场景。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "httptestid": "9", //Web场景的ID "name": "Homepage check", //Web场景的名称 "applicationid": "0",//Web场景所属应用程序的ID "nextcheck": "0", //下一个Web场景执行的时间。(readonly) "delay": "60",//Web方案的执行间隔(以秒为单位)。Default: 60. "status": "0", //是否启用了Web方案。 可能的值: "variables": "", //Web场景变量。 "agent": "Zabbix", //将由Web场景使用的用户代理字符串。默认: Zabbix "authentication": "0",//将由Web场景使用的身份验证方法。 可能的值: 0 - (默认) 无; 1 - 基本的HTTP认证; "http_user": "", //用于认证的用户名.对于具有基本HTTP或NTLM身份验证的Web场景,必需。 "http_password": "", //用于认证的密码。对于具有基本HTTP或NTLM身份验证的Web场景是必需的. "hostid": "10084", //Web场景所属主机的ID。 "templateid": "0", //(readonly) 父模板Web方案的ID。 "http_proxy": "", //将由Web场景使用的代理http://[username[:password]@]proxy.example.com[:port]. "retries": "1", //Web场景在失败之前尝试执行每个步骤的次数。默认: 1. "ssl_cert_file": "", //用于客户端身份验证的SSL证书文件的名称(必须为PEM格式)。 "ssl_key_file": "", //用于客户端认证的SSL私钥文件的名称(必须为PEM格式)。 "ssl_key_password": "", //SSL私钥密码。 "verify_peer": "0", //是否验证Web服务器的SSL证书。 可能的值: 0 - (默认) 跳过对等验证; 1 - 验证对等 "verify_host": "0", //验证SSL证书中指定的主机名是否与场景中使用的主机名相匹配。 可能的值: "headers": "", //执行请求时将发送的HTTP标题。 "steps": [ { "httpstepid": "36", //(readonly) 情景步骤的ID "httptestid": "9", //(readonly) 该步骤所属的Web方案的ID。 "name": "Homepage", "no": "1", "url": "http://mycompany.com", "timeout": "15", //在几秒钟内请求超时。 "posts": "", //HTTP POST变量作为字符串。 "required": "", //必须在响应中存在的文本 "status_codes": "200", //所需HTTP状态代码的范围用逗号分隔。 "variables": "", //情景步骤变量。 "follow_redirects": "1", //是否遵循HTTP重定向.可能的值: "retrieve_mode": "0", //方案步骤必须检索的HTTP响应的一部分。 可能的值: "headers": "" //执行请求时将发送的HTTP标题。方案步骤标题将覆盖为Web方案指定的标题。 }, { "httpstepid": "37", "httptestid": "9", "name": "Homepage / About", "no": "2", "url": "http://mycompany.com/about", "timeout": "15", "posts": "", "required": "", "status_codes": "200", "variables": "", "follow_redirects": "1", "retrieve_mode": "0", "headers": "" } ] } ], "id": 1 }
|
5.4. httptest.update
Description | 此方法允许更新现有的Web场景。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:启用Web场景 启用Web方案,即将其状态设置为“0”。 { "jsonrpc": "2.0", "method": "httptest.update", "params": { "httptestid": "5", "status": 0 }, "auth": "700ca65537074ec963db7efabda78259", "id": 1 }
|
返回值 | 返回包含httptestid属性下已更新的Web场景的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "httptestids": [ "5" ] }, "id": 1 }
|
5.5. httptest.isreadable
Description | 此方法检查给定的Web场景是否可供阅读。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个网络场景 检查两个Web场景是否可读。 { "jsonrpc": "2.0", "method": "httptest.isreadable", "params": [ "3", "5" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的Web场景可供阅读,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
5.6. httptest.iswritable
Description | 此方法检查给定的Web场景是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个网络场景 检查两个Web场景是否可写。 { "jsonrpc": "2.0", "method": "httptest.iswritable", "params": [ "3", "5" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的Web场景可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
6. 模板
6.1. template.create(YES)
Description | 此方法允许创建新模板. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建模板 创建一个模板并将其链接到一个主机。 { "jsonrpc": "2.0", "method": "template.create", "params": { "host": "CPU template", "groups": { "groupid": 8 }, "hosts": [ { "hostid": "10108" } ] }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值
| 返回一个对象,它包含templateids属性下创建的模板的ID,返回的ID的顺序与传递的模板的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "templateids": [ //要链接到模板的模板.模板必须定义templateid属性. "10109" ] }, "id": 1 }
|
6.2. template.delete
Description | 此方法允许删除模板. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个模板 删除两个模板. { "jsonrpc": "2.0", "method": "template.delete", "params": [ "13", "32" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象,该对象包含templateids属性下删除的模板的ID. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "templateids": [ "13", "32" ] }, "id": 1 }
|
6.3. template.get(YES)
Description | 该方法允许根据指定的参数检索模板. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:按名称检索模板 检索有关名为“Template OS Linux”和“Template OS Windows”的两个模板的所有数据. { "jsonrpc": "2.0", "method": "template.get", "params": { "output": "extend", "filter": { "host": [ "Template OS Linux", "Template OS Windows" ] } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例二 检索有关名为“CPU template”模板的所有数据. { "jsonrpc": "2.0", "method": "template.get", "params": { "output": "extend", "filter": { "host": [ "CPU template" ] } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "proxy_hostid": "0", "host": "Template OS Linux", "status": "3", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "Template OS Linux", "flags": "0", "templateid": "10001", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }, { "proxy_hostid": "0", "host": "Template OS Windows", "status": "3", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "Template OS Windows", "flags": "0", "templateid": "10081", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }], "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": [{ "proxy_hostid": "0", "host": "CPU template", "status": "3", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "0", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "CPU template", "flags": "0", "templateid": "10109", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "" }], "id": 1 } |
6.4. template.update
Description | 此方法允许更新现有模板. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名模板 将模板重命名为“Template OS Linux”. { "jsonrpc": "2.0", "method": "template.update", "params": { "templateid": "10086", //(readonly) 模板的ID. "name": "Template OS Linux" //主机的可见名称.Default: host }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象,它包含templateids属性下更新的模板的ID. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "templateids": [ "10086" ] }, "id": 1 }
|
6.5. template.massadd(YES)
Description | 该方法允许同时向给定的模板添加多个相关对象。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:将模板添加到组 将模板10001添加到主机组“10”。 { "jsonrpc": "2.0", "method": "template.massadd", "params": { "templates": [
{ "templateid": "10001" } ], "groups": [ { "groupid": "10" } ] }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例二:将模板链接到主机 链接模板“10001”到主机10107。 { "jsonrpc": "2.0", "method": "template.massadd", "params": { "templates": [ { "templateid": "10001" } ], "hosts": [
{ "hostid": "10107" } ] }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回一个对象,它包含templateids属性下更新的模板的ID |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "templateids": [
"10001" ] }, "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": { "templateids": [ "10001" ] }, "id": 1 }
|
6.6. template.massremove
Description | 该方法允许从多个模板中删除相关对象. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:从组中删除模板 从组“2”中删除两个模板. { "jsonrpc": "2.0", "method": "template.massremove", "params": { "templateids": [ //要更新的模板的ID.(required) "10085", "10086" ], "groupids": "2" //删除给定的模板操作的主机组. }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
示例二:从主机取消链接模板 从两个主机取消链接模板“10085”. { "jsonrpc": "2.0", "method": "template.massremove", "params": { "templateids": ["10085"], 要更新的模板的ID.(required) "hostids": [ //取消给定链接模板操作的主机. "10106", "10104" ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象,它包含templateids属性下更新的模板的ID. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "templateids": [ "10085", "10086" ] }, "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": { "templateids": [ "10085" ] }, "id": 1 }
|
6.7. template.massupdate
Description | 此方法允许同时替换或删除相关对象并更新多个模板上的属性. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:更换主机组 从给定的模板中取消链接并清除模板“10091”. { "jsonrpc": "2.0", "method": "template.massupdate", "params": { "templates": [ //要更新的模板.模板必须定义templateid属性.(required) { "templateid": "10085" }, { "templateid": "10086" } ], "templates_clear": [ //从指定模板中取消链接和清除的模板.模板必须定义templateid属性 { "templateid": "10091" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象,它包含templateids属性下更新的模板的ID. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "templateids": [ "10085", "10086" ] }, "id": 1 }
|
6.8. template.isreadable(YES)
该方法检查给定模板是否可用于读取。 | |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个模板 检查两个模板是否可读。 { "jsonrpc": "2.0", "method": "template.isreadable", "params": [ "10001", "10109" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 如果给定模板可用于读取,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
6.9. template.iswritable(YES)
该方法检查给定模板是否可用于写入。 | |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个模板 检查两个模板是否可写。 { "jsonrpc": "2.0", "method": "template.iswritable", "params": [ "10001", "10109" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 如果给定模板可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
7. 发现主机
7.1. dhost.get
Description | 该方法允许根据给定的参数检索已发现的主机 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:获取通过发现规则发现的主机 检索发现规则“4”检测到的所有主机及其正在运行的已发现服务。 { "jsonrpc": "2.0", "method": "dhost.get", "params": { "output": "extend", "selectDServices": "extend", //在dservices属性中返回在主机上运行的发现服务。支持 count. "druleids": "4" //只返回给定发现规则(ID)创建的已发现主机. }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": [ { "dservices": [ //已发现服务 { "dserviceid": "1", //已发现服务的ID. "dhostid": "1", //运行服务的被发现主机的ID. "type": "4", //发现的服务类型。服务类型与用于检测服务的发现检查的类型相匹配。 "key_": "", //Zabbix代理发现检查用于查找服务的密钥。 "value": "", //当使用Zabbix Agent, SNMPv1,SNMPv2,SNMPv3做发现检查时,服务的返回值. "port": "80", //服务的端口号. "status": "0", //服务状态. 可能的值: "lastup": "1337697227", //已发现服务最近一次存活的时间. "lastdown": "0", //已发现服务最近一次down掉的时间. "dcheckid": "5", //用于探测服务的发现检查项ID. "ip": "192.168.1.1", //运行服务主机的IP. "dns": "station.company.lan" //运行服务主机的DNS. } ], "dhostid": "1", //已发现主机的ID. "druleid": "4", //探测到主机的发现规则的ID. "status": "0", //已发现主机是否宕机的状态. 如果至少有一个存活的服务发现,则主机是存活的. 可能的值: "lastup": "1337697227", //已发现主机最近一次恢复的时间. "lastdown": "0" //已发现主机最近一次宕机的时间. }, { "dservices": [ { "dserviceid": "2", "dhostid": "2", "type": "4", "key_": "", "value": "", "port": "80", "status": "0", "lastup": "1337697234", "lastdown": "0", "dcheckid": "5", "ip": "192.168.1.4", "dns": "john.company.lan" } ], "dhostid": "2", "druleid": "4", "status": "0", "lastup": "1337697234", "lastdown": "0" }, { "dservices": [ { "dserviceid": "3", "dhostid": "3", "type": "4", "key_": "", "value": "", "port": "80", "status": "0", "lastup": "1337697234", "lastdown": "0", "dcheckid": "5", "ip": "192.168.1.26", "dns": "printer.company.lan" } ], "dhostid": "3", "druleid": "4", "status": "0", "lastup": "1337697234", "lastdown": "0" }, { "dservices": [ { "dserviceid": "4", "dhostid": "4", "type": "4", "key_": "", "value": "", "port": "80", "status": "0", "lastup": "1337697234", "lastdown": "0", "dcheckid": "5", "ip": "192.168.1.7", "dns": "mail.company.lan" } ], "dhostid": "4", "druleid": "4", "status": "0", "lastup": "1337697234", "lastdown": "0" } ], "id": 1 }
|
8. 发现服务
8.1. dservice.get
Description | 该方法允许根据给定的参数检索已发现的服务 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检索一台主机上已发现的服务 获取在已发现主机11上探测到发现的服务 { "jsonrpc": "2.0", "method": "dservice.get", "params": { "output": "extend", "dhostids": "11" //只返回指定已发现主机的发现服务 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": [ { "dserviceid": "12", "dhostid": "11", "type": "4", "key_": "", "value": "", "port": "80", "status": "1", "lastup": "0", "lastdown": "1348650607", "dcheckid": "5", "ip": "192.168.1.134", "dns": "john.local" }, { "dserviceid": "13", "dhostid": "11", "type": "3", "key_": "", "value": "", "port": "21", "status": "1", "lastup": "0", "lastdown": "1348650610", "dcheckid": "6", "ip": "192.168.1.134", "dns": "john.local" } ], "id": 1 }
|
9. 发现检查
9.1. dcheck.get
Description | 该方法可以根据给定的参数检索发现检查 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:获取发现规则的发现检查 获取被发现规则“6”使用的发现检查. { "jsonrpc": "2.0", "method": "dcheck.get", "params": { "output": "extend", "dcheckids": "6" //返回给定ID的发现检查 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": [ { "dcheckid": "6", //发现检查的ID. "druleid": "4", //发现检查所属的发现规则的ID. "type": "3", //检查类型。可能的值: 0 - (默认)SSH; 1 - LDAP; 2 - SMTP; 3 - FTP; 4 - HTTP; 5 - POP; 6 - NNTP; 7 - IMAP; 8 - TCP; 9 - Zabbix agent; 10 - SNMPv1 agent; 11 - SNMPv2 agent; 12 - ICMP ping; 13 - SNMPv3 agent; 14 - HTTPS; 15 - Telnet。 "key_": "", //这个属性值会根据不同的检查类型而不同: - 需要查询Zabbix代理检查的关键; - 需要SNMPv1,SNMPv2和SNMPv3检查的SNMP OID。 "snmp_community": "", //SNMP社区。SNMPv1和SNMPv2代理程序检查必需。 "ports": "21", //一个或多个端口范围以逗号分隔。用于除ICMP之外的所有检查。Default: 0. "snmpv3_securityname": "", //用于SNMPv3代理检查的安全名称。 "snmpv3_securitylevel": "0", //用于SNMPv3代理检查的安全级别。可能的值: 0 - noAuthNoPriv; 1 - authNoPriv; 2 - authPriv。 "snmpv3_authpassphrase": "", //用于SNMPv3代理的身份验证密码将安全级别设置为authNoPriv或authPriv。 "snmpv3_privpassphrase": "", //用于SNMPv3代理的Priv密码短语将安全级别设置为authPriv。 "uniq": "0", //是否将此检查用作设备唯一性标准。只能为发现规则配置一个唯一的检查。用于Zabbix代理,SNMPv1,SNMPv2和SNMPv3代理检查。可能的值: 0 - (默认)不使用此检查作为唯一性标准; 1 - 使用此检查作为唯一性标准。 "snmpv3_authprotocol": "0", //用于SNMPv3代理的身份验证协议检查安全级别设置为authNoPriv或authPriv.Possible值:0 - (默认)MD5; 1 - SHA。 "snmpv3_privprotocol": "0" //用于SNMPv3代理的隐私协议检查,安全级别设置为authPriv.Possible值:0 - (默认)DES; 1 - AES。 } ], "id": 1 }
|
10. 发现规则
10.1. drule.create
Description | 该方法允许创建新的发现规则 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建发现规则 创建一个发现规则,用于发现在本地网络中运行Zabbix Agent的主机. 规则必须用一个运行在10050端口上的Zabbix代理检查 { "jsonrpc": "2.0", "method": "drule.create", "params": { "name": "Zabbix agent discovery", //发现规则名称(required) "iprange": "192.168.1.1-255", //一个或多个要检查的IP范围,逗号分隔(required) "dchecks": [ //用来创建发现规则的发现检查。(required) { "type": "9", "key_": "system.uname", "ports": "10050", "uniq": "0" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含druleids属性下创建的发现规则ID的对象。返回的ID的顺序与传递的违规规则的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "druleids": [ "6" ] }, "id": 1 }
|
10.2. drule.delete
Description | 该方法允许删除发现规则. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个发现规则 删除两个发现规则. { "jsonrpc": "2.0", "method": "drule.delete", "params": [ "4", "6" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含druleids属性下已删除发现规则的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "druleids": [ "4", "6" ] }, "id": 1 }
|
10.3. drule.get
Description | 该方法允许根据指定的参数检索模板. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索所有的发现规则 获取已经配置的发现规则及它们所使用的发现检查. { "jsonrpc": "2.0", "method": "drule.get", "params": { "output": "extend", "selectDChecks": "extend" //返回dchecks属性中发现规则使用的发现检查。支持 count。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "druleid": "2", //(只读)发现规则的ID "proxy_hostid": "0", //用于发现的代理的ID。 "name": "Local network", //发现规则名称 "iprange": "192.168.3.1-255", //一个或多个要检查的IP范围,逗号分隔 "delay": "5", //发现规则的执行时间间隔,以秒为单位。默认:3600。 "nextcheck": "1348754327", //(只读) 发现规则下一次执行的时间 "status": "0", //发现规则是否启用 可能的值: "dchecks": [ //发现检查 { "dcheckid": "7", "druleid": "2", "type": "3", "key_": "", "snmp_community": "", "ports": "21", "snmpv3_securityname": "", "snmpv3_securitylevel": "0", "snmpv3_authpassphrase": "", "snmpv3_privpassphrase": "", "uniq": "0", "snmpv3_authprotocol": "0", "snmpv3_privprotocol": "0" }, { "dcheckid": "8", "druleid": "2", "type": "4", "key_": "", "snmp_community": "", "ports": "80", "snmpv3_securityname": "", "snmpv3_securitylevel": "0", "snmpv3_authpassphrase": "", "snmpv3_privpassphrase": "", "uniq": "0", "snmpv3_authprotocol": "0", "snmpv3_privprotocol": "0" } ] }, { "druleid": "6", "proxy_hostid": "0", "name": "Zabbix agent discovery", "iprange": "192.168.1.1-255", "delay": "3600", "nextcheck": "0", "status": "0", "dchecks": [ { "dcheckid": "10", "druleid": "6", "type": "9", "key_": "system.uname", "snmp_community": "", "ports": "10050", "snmpv3_securityname": "", "snmpv3_securitylevel": "0", "snmpv3_authpassphrase": "", "snmpv3_privpassphrase": "", "uniq": "0", "snmpv3_authprotocol": "0", "snmpv3_privprotocol": "0" } ] } ], "id": 1 }
|
10.4. drule.update
Description | 该方法允许更新已存在的发现规则. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:改变发现规则的IP范围 将发现规则的IP范围更改为192.168.2.1-255. { "jsonrpc": "2.0", "method": "drule.update", "params": { "druleid": "6", //(只读) 发现规则的ID "iprange": "192.168.2.1-255" //一个或多个要检查的IP范围,逗号分隔 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含druleids属性下更新的发现规则的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "druleids": [ "6" ] }, "id": 1 }
|
10.5. drule.isreadable
Description | 此方法检查给定的发现规则是否可用于读取。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个发现规则 检查两个发现规则是否可读。 { "jsonrpc": "2.0", "method": "drule.isreadable", "params": [ "5", "8" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的发现规则可用于读取,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
10.6. drule.iswritable
Description | 此方法检查给定的发现规则是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个发现规则 检查两个发现规则是否可写。 { "jsonrpc": "2.0", "method": "drule.iswritable", "params": [ "5", "8" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的发现规则可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
11. 应用集
11.1. application.create(YES)
Description | 此方法允许创建新的应用集。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个应用集 创建一个应用集来存储 CPU 监控项。 { "jsonrpc": "2.0", "method": "application.create", "params": { "name": "CPU application", "hostid": "10108" }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值
| 返回包含applicationids属性下创建的应用集ID的对象。返回的ID的顺序与传递的应用集的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "applicationids": ["468"] }, "id": 1 }
|
11.2. application.delete
Description | 此方法用于删除应用集。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个应用集 删除两个应用集 { "jsonrpc": "2.0", "method": "application.delete", "params": [ "356", "358" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含applicationids属性下已删除应用集的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "applicationids": [ "356", "358" ] }, "id": 1 }
|
11.3. application.get(YES)
Description | 该方法用于根据规定的参数获取应用集。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:从主机中检索应用集 从主机中根据名称排序检索所有的应用集。 { "jsonrpc": "2.0", "method": "application.get", "params": { "output": "extend", "hostids": "10108", "sortfield": "name" }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "applicationid": "459", "hostid": "10108", "name": "CPU", "flags": "0", "templateids": ["325"] }, { "applicationid": "468", "hostid": "10108", "name": "CPU application", "flags": "0", "templateids": [] }, { "applicationid": "460", "hostid": "10108", "name": "Filesystems", "flags": "0", "templateids": ["322"] }, { "applicationid": "461", "hostid": "10108", "name": "General", "flags": "0", "templateids": ["319"] }, { "applicationid": "462", "hostid": "10108", "name": "Memory", "flags": "0", "templateids": ["328"] }, { "applicationid": "463", "hostid": "10108", "name": "Network interfaces", "flags": "0", "templateids": ["330"] }, { "applicationid": "464", "hostid": "10108", "name": "OS", "flags": "0", "templateids": ["323"] }, { "applicationid": "465", "hostid": "10108", "name": "Performance", "flags": "0", "templateids": ["320"] }, { "applicationid": "466", "hostid": "10108", "name": "Processes", "flags": "0", "templateids": ["324"] }, { "applicationid": "467", "hostid": "10108", "name": "Zabbix agent", "flags": "0", "templateids": ["329"] }], "id": 1 }
|
11.4. application.update
此方法用于更新目前的应用集。 | |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:更新应用集的名称 更新应用集的名称为“Processes and performance”。 { "jsonrpc": "2.0", "method": "application.update", "params": { "applicationid": "13", "name": "Processes and performance" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个 applicationids 属性下已更新应用集的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "applicationids": [ "13" ] }, "id": 1 }
|
11.5. application.massadd
Description | 此方法用于同时添加多个监控项到指定的应用集。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:添加监控项到多个应用集 添加指定的监控项到两个应用集。 { "jsonrpc": "2.0", "method": "application.massadd", "params": { "applications": [ //需要更新的应用集。 应用集必须已定义好 applicationeid 属性。(required) { "applicationid": "247" }, { "applicationid": "246" } ], "items": [ //监控项加入到指定的应用集。监控项必须已定义好 itemid属性。 { "itemid": "22800" }, { "itemid": "22801" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含applicationids属性下已更新应用集的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "applicationids": [ "247", "246" ] }, "id": 1 }
|
12. 触发器
12.1. trigger.create
Description | 此方法允许创建新的触发器. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个触发器 创建具有单个触发依赖关系的触发器. { "jsonrpc": "2.0", "method": "trigger.create", "params": { "description": "Processor load is too high on {HOST.NAME}", //触发器的名称.(required) "expression": "{Linux server:system.cpu.load[percpu,avg1].last()}>5", //生成触发表达式.触发器表达式必须以扩展形式给出。(required) "dependencies": [ //触发触发器依赖. 触发器必须定义triggerid属性. { "triggerid": "14062" //触发器的ID. } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回一个包含triggerids属性下创建触发器的ID的对象.返回的ID的顺序与传递的触发器的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "triggerids": [ "14102" ] }, "id": 1 }
|
12.2. trigger.delete
Description | 此方法允许删除触发器. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个触发器 删除两个触发器. { "jsonrpc": "2.0", "method": "trigger.delete", "params": [ "12002", "12003" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回一个包含triggerids属性下的已删除触发器ID的对象 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "triggerids": [ "12002", "12003" ] }, "id": 1 }
|
12.3. trigger.get
Description | 该方法用于指定的参数检索触发器. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:从触发器ID中检索数据 检索触发器“14062”中使用的所有数据和功能. { "jsonrpc": "2.0", "method": "trigger.get", "params": { "triggerids": "14062", //只返回指定 ID 的触发器. "output": "extend", "selectFunctions": "extend" //函数对象表示触发器表达式中使用的函数,并具有以下属性: }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例二:在问题状态下检索触发器 检索在问题状态下的所有触发器的ID,名称和严重性,并按严重性级别按降序分类。 { "jsonrpc": "2.0", "method": "trigger.get", "params": { "output": [ "triggerid", //触发器的ID. "description", //触发器的名称. "priority" //触发器的严重性级别. 可能的值为: ], "filter": { //只返回与给定过滤器完全匹配的结果.接受一个数组,其中keys是属性名称,并且值是单个值或要匹配值的数组. 支持新增的过滤器: "value": 1 }, "sortfield": "priority", //给定属性的结果. "sortorder": "DESC" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "functions": [ //只返回指定函数所属的触发器. { "functionid": "13513", "itemid": "24350", "function": "diff", "parameter": "0" } ], "triggerid": "14062", //触发器的ID.触发器的ID. "expression": "{13513}>0", //生成触发表达式. "description": "/etc/passwd has been changed on {HOST.NAME}", //触发器的名称. "url": "", //与触发器相关联的URL. "status": "0", //触发器是启用还是禁用. 可能的值为: 0 - (default) enabled启用; "value": "0", //触发器是否处于OK或问题状态.可能的值为: 0 - (default) OK正常; "priority": "2", //触发器的严重性级别. 可能的值为: 0 - (default) not classified未分类; "lastchange": "0", //e触发器最后更改其状态的时间. "comments": "", //触发器的附加注释. "error": "", //如果在更新触发器的状态时出现任何问题,则显示文本错误. "templateid": "10016", //主模板触发器的ID. "type": "0", //触发器是否可以生成多个问题事件. "state": "0", //触发状态. 可能的值为: "flags": "0", //原始的触发器.可能的值是: "recovery_mode": "0", //OK事件生成模式. 可能的值为: 0 - (default) Expression表达式; "recovery_expression": "", //生成触发器恢复表达式. "correlation_mode": "0", //OK事件关闭. 可能的值为: 0 - (default) All problems所有问题; "correlation_tag": "", //用于匹配的标签. "manual_close": "0" //允许手动关闭. 可能的值为: 0 - (default) No不可以; } ], "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": [ { "triggerid": "13907", "description": "Zabbix self-monitoring processes < 100% busy", "priority": "4" //触发器的严重性级别. 可能的值为: 0 - (default) not classified未分类;
}, { "triggerid": "13824", "description": "Zabbix discoverer processes more than 75% busy", "priority": "3" } ], "id": 1 }
|
12.4. trigger.update
此方法用于更新目前的触发器. | |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:启用触发器 启用触发器,即将其状态设置为0。 { "jsonrpc": "2.0", "method": "trigger.update", "params": { "triggerid": "13938", "status": 0 //触发器是启用还是禁用. 可能的值为: 0 - (default) enabled启用; }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个triggerids 属性下已更新应用集的ID的对象 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "triggerids": [ "13938" ] }, "id": 1 }
|
12.5. trigger.adddependencies
此方法允许创建新的触发器依赖关系. | |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:添加触发器依赖关系 触发器“14092”依赖于触发器“13565.”。 { "jsonrpc": "2.0", "method": "trigger.adddependencies", "params": { "triggerid": "14092", //依赖触发器的ID.(required) "dependsOnTriggerid": "13565" //触发依赖的触发器的ID.(required) }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个对象,该对象包含triggerids属性下的依赖触发器的ID。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "triggerids": [ "14092" ] }, "id": 1 }
|
12.6. trigger.deletedependencies
Description | 该方法允许从指定的触发器中删除所有的触发依赖关系. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:从多个触发器中删除依赖关系 从两个触发器中删除所有依赖关系. { "jsonrpc": "2.0", "method": "trigger.deleteDependencies", "params": [ { "triggerid": "14544" }, { "triggerid": "14545" } ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个包含'triggerids''属性下的受影响触发器的ID的对象 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "triggerids": [ "14544", "14545" ] }, "id": 1 }
|
12.7. trigger.isreadable
Description | 该方法检查给定的触发器是否可用于读取。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个触发器 检查两个触发器是否可读。 { "jsonrpc": "2.0", "method": "trigger.isreadable", "params": [ "13938", "14062" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的触发器可用于读取,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
12.8. trigger.iswritable
Description | 该方法检查给定的触发器是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个触发器 检查两个触发器是否可写。 { "jsonrpc": "2.0", "method": "trigger.iswritable", "params": [ "13938", "14062" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的触发器可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
13. 图像
13.1. image.create
Description | 该方法允许创建新的图像。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建图像 创建一个云图标。 { "jsonrpc": "2.0", "method": "image.create", "params": { "imagetype": 1, "name": "Cloud_(24)", //图像名称(required) "image": "iVBORw0KGgoAAAANSUhEUgAAABgAAAANCAYAAACzbK7QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACmAAAApgBNtNH3wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIcSURBVDjLrZLbSxRRHMdPKiEiRQ89CD0s+N5j9BIMEf4Hg/jWexD2ZEXQbC9tWUFZimtLhswuZiVujK1UJmYXW9PaCUdtb83enL3P7s6ss5f5dc7EUsmqkPuFH3M4/Ob7+V0OAgC0UyDENFEU03rh1uNOs/lFG75o2i2/rkd9Y3Tgyj3HiaezbukdH9A/rP4E9vWi0u+Y4fuGnMf3DRgYc3Z/84YrQSkD3mgKhFAC+KAEK74Y2Lj3MjPoOokQ3Xyx/1GHeXCifbfO6lRPH/wi+AvZQhGSsgKxdB5CCRkCGPbDgMXBMbukTc4vK5/WRHizsq7fZl2LFuvE4T0BZDTXHtgv4TNUqlUolsqQL2qQwbDEXzBBTIJ7I4y/cfAENmHZF4XrY9Mc+X9HAFmoyXS2ddy1IOg6/KNyBcM0DFP/wFZFCcOy4N9Mw0YkCTOfhdL5AfZQXQBFn2t/ODXHC8FYVcoWjNEQ03qqwTJ5FdI44jg/msoB2Zd5ZKq3q6evA1FUS60bYyyj3AJf3V72HiLZJQxTtRLk1C2IYEg4mTNg63hPd1mOJd7Ict911OMNlWEf0nFxpCt16zcshTuLpGSwDDuPIfv0xzNyQYVGicC0cgUUDLM6Xp02lvvW/V2EBssnxlSGmWsxljw0znV9XfPLjTCW84r+cn7Jc8c2eWrbM6Wbe6/aTJbhJ/TNkWc9/xXW592Xb9iPkKnUfH8BKdLgFy0lDyQAAAAASUVORK5CYII=" //Base64编码图像。 编码图像的最大大小为1 MB。(required) }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回一个包含“imageids”属性下创建的图像ID的对象。返回的ID的顺序与传递的图像的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "imageids": [ "188" ] }, "id": 1 }
|
13.2. image.delete
Description | 此方法允许删除图像。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个图像 删除两个图像 { "jsonrpc": "2.0", "method": "image.delete", "params": [ "188", "192" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回一个包含“imageids”属性下删除图像ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "imageids": [ "188", "192" ] }, "id": 1 }
|
13.3. image.get
Description | 该方法允许根据给定的参数检索图像 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索所有的发现规则 获取已经配置的发现规则及它们所使用的发现检查. { "jsonrpc": "2.0", "method": "image.get", "params": { "output": "extend", "select_image": true, //返回“image”属性中的Base64编码图像。 "imageids": "2" //只返回具有给定ID的图像 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "imageid": "2", //图像ID。 "imagetype": "1", //图像的类型。可能的值: "name": "Cloud_(24)", //图像名称 "image": "iVBORw0KGgoAAAANSUhEUgAAABgAAAANCAYAAACzbK7QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACmAAAApgBNtNH3wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIcSURBVDjLrZLbSxRRHMdPKiEiRQ89CD0s+N5j9BIMEf4Hg/jWexD2ZEXQbC9tWUFZimtLhswuZiVujK1UJmYXW9PaCUdtb83enL3P7s6ss5f5dc7EUsmqkPuFH3M4/Ob7+V0OAgC0UyDENFEU03rh1uNOs/lFG75o2i2/rkd9Y3Tgyj3HiaezbukdH9A/rP4E9vWi0u+Y4fuGnMf3DRgYc3Z/84YrQSkD3mgKhFAC+KAEK74Y2Lj3MjPoOokQ3Xyx/1GHeXCifbfO6lRPH/wi+AvZQhGSsgKxdB5CCRkCGPbDgMXBMbukTc4vK5/WRHizsq7fZl2LFuvE4T0BZDTXHtgv4TNUqlUolsqQL2qQwbDEXzBBTIJ7I4y/cfAENmHZF4XrY9Mc+X9HAFmoyXS2ddy1IOg6/KNyBcM0DFP/wFZFCcOy4N9Mw0YkCTOfhdL5AfZQXQBFn2t/ODXHC8FYVcoWjNEQ03qqwTJ5FdI44jg/msoB2Zd5ZKq3q6evA1FUS60bYyyj3AJf3V72HiLZJQxTtRLk1C2IYEg4mTNg63hPd1mOJd7Ict911OMNlWEf0nFxpCt16zcshTuLpGSwDDuPIfv0xzNyQYVGicC0cgUUDLM6Xp02lvvW/V2EBssnxlSGmWsxljw0znV9XfPLjTCW84r+cn7Jc8c2eWrbM6Wbe6/aTJbhJ/TNkWc9/xXW592Xb9iPkKnUfH8BKdLgFy0lDyQAAAAASUVORK5CYII=" } ], "id": 1 }
|
13.4. image.update
Description | 该方法允许更新现有的图像。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名图像 .将图像重命名为“Cloud icon”。 { "jsonrpc": "2.0", "method": "image.update", "params": { "imageid": "2", "name": "Cloud icon" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“imageids”属性下更新的图像的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "imageids": [ "2" ] }, "id": 1 }
|
14. 聚合图形项目
14.1. screenitem.create
Description | 创建聚合图形项目的方法. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个聚合图形项目 在聚合图形的左上角创建一个显示图形的聚合图形项目. { "jsonrpc": "2.0", "method": "screenitem.create", "params": { "screenid": 16, //聚合图形ID(required) "resourcetype": 0, //(required)聚合图形项目类型.可用值: "resourceid": 612, //聚合图形项目显示对象的ID. 根据聚合图形项目类型,“resourceid”属性可以引用不同的对象. 聚合图形项目所需要的数据概述,图形,映射,纯文本,聚合图形,简单图形和触发器概述的数据. 聚合图形项目不使用本地和服务器的时钟,历史动作,历史事件,主机信息,zabbix状态,系统状态和URL聚合图形项目. "x": 0, //聚合图形项目在聚合图形的X轴,从左到右. "y": 0 //聚合图形项目在聚合图形的Y轴, 从上到下. }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含screenitemids属性下创建的聚合图形项目的ID的对象。返回的ID的顺序与传递的聚合图形项目的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenitemids": [ "65" ] }, "id": 1 }
|
14.2. screenitem.delete
Description | 删除聚合图形项目的方法. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个聚合图形项目 删除两个聚合图形项目 { "jsonrpc": "2.0", "method": "screenitem.delete", "params": [ "65", 删除聚合图形项目的ID. "63" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含screenitemids属性下已删除的聚合图形项目的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenitemids": [ "65", "63" ] }, "id": 1 }
|
14.3. screenitem.get
Description | 根据给定的参数检索聚合图形项目的方法. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:从屏幕上检索聚合图形项目 从给定聚合图形中检索所有聚合图形项目。 { "jsonrpc": "2.0", "method": "screenitem.get", "params": { "output": "extend", "screenids": "3" //返回聚合图形给定的聚合图形项目. }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "screenitemid": "20", //(只读) 聚合图形项目ID "screenid": "3", //聚合图形ID. "resourcetype": "0",//聚合图形项目类型. 可用值: "resourceid": "433", //聚合图形项目显示对象的ID. 根据聚合图形项目类型,“resourceid”属性可以引用不同的对象. 聚合图形项目所需要的数据概述,图形,映射,纯文本,聚合图形,简单图形和触发器概述的数据. 聚合图形项目不使用本地和服务器的时钟,历史动作,历史事件,主机信息,zabbix状态,系统状态和URL聚合图形项目. "width": "500", //聚合图形项目宽度(单位:像素). "height": "120", //聚合图形项目的高度(单位:像素). 默认值: 200. "x": "0", //聚合图形项目在聚合图形的X轴,从左到右. 默认值: 0. "y": "0", //聚合图形项目在聚合图形的Y轴, 从上到下. 默认值: 0. "colspan": "1", //聚合图形项目的列数量. 默认值: 1. "rowspan": "1", //聚合图形项目的行数量. "elements": "0", //聚合图形项目显示的行数量. 默认值: 25. "valign": "1", //指定聚合图形项目中的垂直排列的方式. 可用值: "halign": "0", //指定聚合图形项目的水平对齐方式. 可用值: 0 - (默认值) 居中; "style": "0", //聚合图形项目显示选项. "url": "", //聚合图形项目中显示Web页面的URL信息,用于Web监控聚合图形项目. "dynamic": "0", //聚合图形项目是否动态. 可用值: 0 - (默认值) 不动态; "sort_triggers": "0", //对动作或触发器进行必要的排序. "application": "", //应用或部分应用用作聚合图形项目的过滤条件,适用于资源类型:“Data overview”和“Triggers overview”. "max_columns": "3" //指定图形原型或简单图形原型的最大显示列的数量. 默认值: 3. }, { "screenitemid": "21", "screenid": "3", "resourcetype": "0", "resourceid": "387", "width": "500", "height": "100", "x": "0", "y": "1", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "", "dynamic": "0", "sort_triggers": "0", "application": "", "max_columns": "3" }, { "screenitemid": "22", "screenid": "3", "resourcetype": "1", "resourceid": "10013", "width": "500", "height": "148", "x": "1", "y": "0", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "", "dynamic": "0", "sort_triggers": "0", "application": "", "max_columns": "3" }, { "screenitemid": "23", "screenid": "3", "resourcetype": "1", "resourceid": "22181", "width": "500", "height": "184", "x": "1", "y": "1", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "", "dynamic": "0", "sort_triggers": "0", "application": "", "max_columns": "3" } ], "id": 1 }
|
14.4. screenitem.update
Description | 更新现有聚合图形项目的方法. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:设置聚合图形项目的大小 设置聚合图形项目的宽度为500px和高度为300px. { "jsonrpc": "2.0", "method": "screenitem.update", "params": { "screenitemid": "20", "width": 500, "height": 300 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含screenitemids属性下已更新聚合图形项目ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenitemids": [ "20" ] }, "id": 1 }
|
14.5. screenitem.updatebyposition
Description | 更新聚合图形给定单元格内的聚合图形项目方法,如果该单元格内容为空,则创建一个新的聚合图形项目. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:改变聚合图形项目的资源ID 改变位于聚合图形左上角聚合图形元素的资源ID. { "jsonrpc": "2.0", "method": "screenitem.updatebyposition", "params": [ { "screenid": "16", "x": 0, "y": 0, "resourceid": "644" } ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含screenitemids属性下已更新和创建的聚合图形项目ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenitemids": [ "66" ] }, "id": 1 }
|
14.6. screenitem.isreadable
Description | 该方法检查给定的聚合图形项目是否可用于阅读。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个聚合图形项目 检查两个聚合图形项目是否可读。 { "jsonrpc": "2.0", "method": "screenitem.isreadable", "params": [ "20", //要检查的聚合图形项目的ID。 "21" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的聚合图形项目可供阅读,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
14.7. screenitem.iswritable
Description | 该方法检查给定的聚合图形项目是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个聚合图形项目 检查两个聚合图形项目是否可写。 { "jsonrpc": "2.0", "method": "screenitem.iswritable", "params": [ "20", "21" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的聚合图形项目可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
15. 聚合图形
15.1. screen.create
Description | 该方法允许创建新screen。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个screen 创建一个名为“Graphs”的screen,其中包含2行3列,并将图形添加到左上角的单元格中。 { "jsonrpc": "2.0", "method": "screen.create", "params": { "name": "Graphs", //screen的名称.(required) "hsize": 3, //screen的宽度. Default: 1 "vsize": 2, //screen的高度. Default: 1 "screenitems": [ //要为screen创建的Screen items { "resourcetype": 0, //聚合图形项目类型. 可用值: (required) "resourceid": "612", //聚合图形项目显示对 象的ID. 根据聚合图形项目类型,“resourceid”属性可以引用不同的对象. 聚合图形项目所需要的数据概述,图形,映射,纯文本,聚合图形,简单图形和触发器概述的数据. 聚合图形项目不使用本地和服务器的时钟,历史动作,历史事件,主机信息,zabbix状态,系统状态和和URL聚合图形项目. "rowspan": 0, //聚合图形项目显示的行数量. "colspan": 0, //聚合图形项目的列数量. "x": 0, //聚合图形项目在聚合图形的X轴,从左到右. 默认值: 0. "y": 0 //聚合图形项目在聚合图形的Y轴, 从上到下. 默认值: 0. } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
示例二:Screen共享 用两种类型的共享(用户和用户组)创建一个screen。 { "jsonrpc": "2.0", "method": "screen.create", "params": { "name": "Screen sharing", //screen的名称.(required) "hsize": 3, "vsize": 2, "users": [ //在screen上创建screen用户共享。 { "userid": "4", //用户 ID.(required) "permission": "3" //(required)权限级别类型。 可能的值: 2 - 只读; } ], "userGroups": [ //在screen上创建screen用户组共享。 { "usrgrpid": "7", //用户组ID。(required) "permission": "2" //(required)权限级别类型。 可能的值: 2 - 只读; } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回一个包含“screenids”属性下创建的screen ID的对象。 返回的ID的顺序与传递的screen的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenids": [ "26" ] }, "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": { "screenids": [ "83" ] }, "id": 1 }
|
15.2. screen.delete
Description | 此方法允许删除screen。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个screen 删除两个screen. { "jsonrpc": "2.0", "method": "screen.delete", "params": [ "25", "26" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回一个包含“screenids”属性下删除的screen ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenids": [ "25", "26" ] }, "id": 1 }
|
15.3. screen.get
Description | 该方法允许根据给定的参数检索screen。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:按ID检索Screen 检索关于screen“26”及其screenitem的所有数据。 { "jsonrpc": "2.0", "method": "screen.get", "params": { "output": "extend", "selectScreenItems": "extend", //返回screen中使用的screenitem。 "selectUsers": "extend", //返回在users属性中共享screen的用户。 "selectUserGroups": "extend", //返回在userGroups属性中共享screen的用户组。 "screenids": "26" //只返回具有给定ID的screen。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "screenitems": [ { "screenitemid": "67", "screenid": "26", "resourcetype": "0", "resourceid": "612", "width": "320", "height": "200", "x": "0", "y": "0", "colspan": "0", "rowspan": "0", "elements": "25", "valign": "0", "halign": "0", "style": "0", "url": "", "dynamic": "0", "sort_triggers": "0" } ], "users": [ { "sysmapuserid": "1", // "userid": "2", //用户 ID.(required) "permission": "2" //(required)权限级别类型。可能的值: 2 - 只读; } ], "userGroups": [ { "screenusrgrpid": "1", //(readonly) screen用户组的ID "usrgrpid": "7", //用户组ID。(required) "permission": "3" //(required)权限级别类型。 可能的值: 2 - 只读; } ], "screenid": "26", //(readonly) screen的ID. "name": "CPU Graphs", //screen的名称.(readonly) "hsize": "3", //screen的宽度. Default: 1 "vsize": "2", //screen的高度. Default: 1 "templateid": "0", "userid": "1", //Screen所有者用户ID. "private": "1" //screen sharing的类型. 可能的值: 0 - 公共screen; } ], "id": 1 }
|
15.4. screen.update
Description | 此方法允许更新现有screen。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名一个screen 将screen重命名为“CPU Graphs”。 { "jsonrpc": "2.0", "method": "screen.update", "params": { "screenid": "26", "name": "CPU Graphs" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
示例二:更改screen所有者 仅适用于管理员和超级管理员。 { "jsonrpc": "2.0", "method": "screen.update", "params": { "screenid": "83", "userid": "1" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 2 }
|
返回值 | 返回一个包含“screenids”属性下更新screen的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenids": [ "26" ] }, "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": { "screenids": [ "83" ] }, "id": 2 }
|
16. 图形项
16.1. graphitem.get
Description | 该方法允许根据给定的参数检索图形项目 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:从图形中检索图形项目 检索被图形使用的所有图形项目包含监控项和主机的额外信息 { "jsonrpc": "2.0", "method": "graphitem.get", "params": { "output": "extend", "graphids": "387" //只返回属于指定图形的图形项目。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "gitemid": "1242", //(readonly)图形项目的ID。 "graphid": "387", //图形项目所属图形的ID "itemid": "22665", //监控项的ID。(required) "drawtype": "1", //绘制图形项目的线型.可用值: "sortorder": "1", //图形中项目的排序.默认从零开始,每增加一个加1. "color": "FF5555", //绘制图形项目的颜色,使用十六进制码表示(required) "yaxisside": "0", //图形项目的Y轴画在图像的位置。 可用值: 0 - (default默认) left side左侧; "calc_fnc": "2", //监控项的显示的值.可用值: "type": "0", //图形类型.可用值: "key_": "system.cpu.util[,steal]", "hostid": "10001", "flags": "0", "host": "Template OS Linux" }, { "gitemid": "1243", "graphid": "387", "itemid": "22668", "drawtype": "1", "sortorder": "2", "color": "55FF55", "yaxisside": "0", "calc_fnc": "2", "type": "0", "key_": "system.cpu.util[,softirq]", "hostid": "10001", "flags": "0", "host": "Template OS Linux" }, { "gitemid": "1244", "graphid": "387", "itemid": "22671", "drawtype": "1", "sortorder": "3", "color": "009999", "yaxisside": "0", "calc_fnc": "2", "type": "0", "key_": "system.cpu.util[,interrupt]", "hostid": "10001", "flags": "0", "host": "Template OS Linux" } ], "id": 1 }
|
17. 图形
17.1. graph.create
Description | 此方法允许创建新的图形。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个图形 创建一个有两个参数的图形 { "jsonrpc": "2.0", "method": "graph.create", "params": { "name": "MySQL bandwidth", //图形的名称(required) "width": 900, //图形的宽度(单位:像素)(required) "height": 200, //图形的高度(单位:像素)(required) "gitems": [ //创建到图形中的监控项 { "itemid": "22828", //监控项的ID。(required) "color": "00AA00" //.绘制图形项目的颜色,使用十六进制码表示(required) }, { "itemid": "22829", "color": "3333FF" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含graphids属性下创建的图形的ID的对象。返回的ID的顺序与传递的图形的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "graphids": [ "652" ] }, "id": 1 }
|
17.2. graph.delete
Description | 此方法允许删除图形。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个图形 删除两个图形 { "jsonrpc": "2.0", "method": "graph.delete", "params": [ "652", "653" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含graphids属性下已删除图形的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "graphids": [ "652", "653" ] }, "id": 1 }
|
17.3. graph.get
Description | 此方法允许根据给定的参数返回图形 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:获取主机的所有图像 获取所有主机“10107”所有图形并对他们按名称排列。 { "jsonrpc": "2.0", "method": "graph.get", "params": { "output": "extend", "hostids": 10107, //返回只属于指定主机的图形。 "sortfield": "name" //指定的参数将结果排序.可用值: "graphid", "name" and "graphtype". }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "graphid": "612", //(readonly) 图形的ID "name": "CPU jumps", //图形的名称 "width": "900", //图形的宽度(单位:像素) "height": "200", //图形的高度(单位:像素) "yaxismin": "0.0000", //Y轴的固定最小值 "yaxismax": "100.0000", //Y轴的固定最大值 "templateid": "439", //(readonly)父模板图形ID "show_work_period": "1", //是否在图形上显示工作时间.可用值: 0 - hide;隐藏 "show_triggers": "1", "graphtype": "0", //图形类别。可用值: "show_legend": "1", //是否在图形上显示图例.可用值: 0 - hide;隐藏 "show_3d": "0", //是否以3D图形展示饼图和分散饼图.可用值: 0 - (default默认值) 以2D图展示 "percent_left": "0.0000", //百分比线(左) "percent_right": "0.0000", //百分比线(右) "ymin_type": "0", //Y轴最小值的计算方式.可用值: 0 - (default默认值) calculated可计算的; "ymax_type": "0", //Y轴最大值的计算方式.可用值: 0 - (default默认值) calculated;可计算的 "ymin_itemid": "0", //用于作为Y轴最小值的监控项ID "ymax_itemid": "0", //.用于作为Y轴最大值的监控项ID "flags": "0" //(readonly)图形的来源.可用值: }, { "graphid": "613", "name": "CPU load", "width": "900", "height": "200", "yaxismin": "0.0000", "yaxismax": "100.0000", "templateid": "433", "show_work_period": "1", "show_triggers": "1", "graphtype": "0", "show_legend": "1", "show_3d": "0", "percent_left": "0.0000", "percent_right": "0.0000", "ymin_type": "1", "ymax_type": "0", "ymin_itemid": "0", "ymax_itemid": "0", "flags": "0" }, { "graphid": "614", "name": "CPU utilization", "width": "900", "height": "200", "yaxismin": "0.0000", "yaxismax": "100.0000", "templateid": "387", "show_work_period": "1", "show_triggers": "0", "graphtype": "1", "show_legend": "1", "show_3d": "0", "percent_left": "0.0000", "percent_right": "0.0000", "ymin_type": "1", "ymax_type": "1", "ymin_itemid": "0", "ymax_itemid": "0", "flags": "0" }, { "graphid": "645", "name": "Disk space usage /", "width": "600", "height": "340", "yaxismin": "0.0000", "yaxismax": "0.0000", "templateid": "0", "show_work_period": "0", "show_triggers": "0", "graphtype": "2", "show_legend": "1", "show_3d": "1", "percent_left": "0.0000", "percent_right": "0.0000", "ymin_type": "0", "ymax_type": "0", "ymin_itemid": "0", "ymax_itemid": "0", "flags": "4" } ], "id": 1 }
|
17.4. graph.update
Description | 此方法允许更新已经存在的图形。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:设置Y轴最大值刻度 设置Y轴最大值刻度固定为100. { "jsonrpc": "2.0", "method": "graph.update", "params": { "graphid": "439", "ymax_type": 1, //Y轴最大值的计算方式.可用值: "yaxismax": 100 //Y轴的固定最大值.Default:100 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含graphids属性下的更新图的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "graphids": [ "439" ] }, "id": 1 }
|
18. 原型图
18.1. graphprototype.create
Description | 此方法用于创建新的图形原型 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个图形原型 创建一个含有两个监控项的图形原型 { "jsonrpc": "2.0", "method": "graphprototype.create", "params": { "name": "Disk space usage {#FSNAME}", "width": 900, "height": 200, "gitems": [ //创建到图形原型中的监控项.图形监控项能同时被监控项与监控项原型检索到,但必须至少有一个监控项原型。(required) { "itemid": "22828", "color": "00AA00" }, { "itemid": "22829", "color": "3333FF" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含graphids属性下创建的图形原型ID的对象。返回的ID的顺序与传递的图形原型的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "graphids": [ "652" ] }, "id": 1 }
|
18.2. graphprototype.delete
Description | 此方法允许删除图形原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个图形原型 删除连个图形原型。 { "jsonrpc": "2.0", "method": "graphprototype.delete", "params": [ "652", "653" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含graphids属性下的已删除图形原型ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "graphids": [ "652", "653" ] }, "id": 1 }
|
18.3. graphprototype.get
Description | 此方法允许按照给定的参数检索图形原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:从一个低级发现规则检索图形原型 从一个低级发现规则检索图形原型 { "jsonrpc": "2.0", "method": "graphprototype.get", "params": { "output": "extend", "discoveryids": "27426" //只返回属于指定自动发现规则的图形原型 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "graphid": "1017", //(readonly)图形原型的ID "parent_itemid": "27426", "name": "Disk space usage {#FSNAME}", //图形原型的名称 "width": "600", //图形原型的宽度(单位:像素) "height": "340", //图形原型的高度(单位:像素) "yaxismin": "0.0000", //Y轴的固定最小值 "yaxismax": "0.0000", //Y轴的固定最大值 "templateid": "442", //(readonly)图形原型的父模板的ID "show_work_period": "0", //是否在发现的图形上显示工作时间.可用值: 0 - hide隐藏; "show_triggers": "0", "graphtype": "2", //图形原型布局类型.可用值: "show_legend": "1", //是否在被发现的图形上显示图例.可用值: 0 - hide隐藏; "show_3d": "1", //是否使用3D形式展示被发现的饼图和分散饼图.可用值: 0 - (default默认) 2D形式展示; "percent_left": "0.0000", //左侧百分比线 "percent_right": "0.0000", //右侧百分比线 "ymin_type": "0", //Y轴最小值的计算方式 .可用值: 0 - (default默认值) calculated计算的; "ymax_type": "0", //Y轴最大值的计算方式 .可用值: 0 - (default默认值) calculated计算的; "ymin_itemid": "0", //用于作为Y轴最小值的监控项ID "ymax_itemid": "0" //用于作为Y轴最大值的监控项ID } ], "id": 1 }
|
18.4. graphprototype.update
Description | 此方法允许更新已经存在的图形原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:改变一个图形原型的尺寸 将一个图形原型的尺寸修改成宽1100像素高400像素。 { "jsonrpc": "2.0", "method": "graphprototype.update", "params": { "graphid": "439", "width": 1100, "height": 400 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含graphids属性下更新的图形原型ID的对象 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "graphids": [ "439" ] }, "id": 1 }
|
19. 模板聚合图形项
19.1. templatescreenitem.get
Description | 该方法用于根据规定的参数获取模板聚合图形项. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:从聚合图形上检索模板聚合图形项 从模板聚合图形“15”返回所有模板聚合图形项. { "jsonrpc": "2.0", "method": "templatescreenitem.get", "params": { "output": "extend", "screenids": "15" //只返回指定模板聚合图形所属ID的模板聚合图形项. }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": [ { "screenitemid": "42", //(readonly)模板聚合图形项的ID. "screenid": "15", //模板聚合图形项所属ID. "resourcetype": "0", //模板聚合图形项. 可能的值: 0 - graph图形; "resourceid": "454", //来自父模板的对象的ID显示在模板聚合图形项上. 根据聚合图形项的类型,resourceid属性可引用不同的对象. 聚合图形项不用于clock和URL.注意: 即使聚合图形项自身继承在某一主机或模板上,其resourceid属性始终引用父模板对象中使用的对象。 "width": "500", //模板聚合图形项的宽度(以像素为单位). Default: 320. "height": "200", //模板聚合图形项的高度(以像素为单位). Default: 200. "x": "0", //模板上聚合图形项在screen的X轴,从左到右. Default: 0. "y": "0", //模板上聚合图形项在screen的Y轴,从上到下. Default: 0. "colspan": "1", //模板聚合图形项所跨的列数. "rowspan": "1", //模板聚合图形项所跨的行数. "elements": "0", //在模板聚合图形项上显示的行数. Default: 25. "valign": "1", //指定模板聚合图形项如何在单元格中垂直对齐. 可能的值: 0 - (default) middle中间; "halign": "0", //指定模板监控项如何在单元格中水平对齐. 可能的值: 0 - (default) center中心; "style": "0", //模板聚合图形项显示的选项. "url": "", //在模板聚合图形项中显示的网页的URL,由URL模板聚合图形项使用 "max_columns": "3" //指定的图形原型或简单图形原型聚合图形元素可具有的最大列数. Default: 3. }, { "screenitemid": "43", "screenid": "15", "resourcetype": "0", "resourceid": "455", "width": "500", "height": "270", "x": "1", "y": "0", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "", "max_columns": "3" } ], "id": 1 }
|
20. 模板聚合图形
20.1. templatescreen.create
Description | 该方法允许创建新的模板聚合图形 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建模板聚合图形 创建一个名为“Graphs”的模板聚合图形,带有2行和3列,并将图形添加到左上角的单元格。. { "jsonrpc": "2.0", "method": "templatescreen.create", "params": { "name": "Graphs", //模板聚合图形的名称.(required) "templateid": "10047", //聚合图形所属模板的ID.(required) "hsize": 3, //模板聚合图形的宽度. Default: 1 "vsize": 2, //模板聚合图形的高度. Default: 1 "screenitems": [ //聚合图形上要创建的模板聚合图形项. { "resourcetype": 0, //模板聚合图形项. 可能的值: 0 - graph图形; "resourceid": "410", //来自父模板的对象的ID显示在模板聚合图形项上. 根据聚合图形项的类型,resourceid属性可引用不同的对象. 聚合图形项不用于clock和URL.注意: 即使聚合图形项自身继承在某一主机或模板上,其resourceid属性始终引用父模板对象中使用的对象。 "x": 0, //模板上聚合图形项在screen的X轴,从左到右. Default: 0. "y": 0 //模板上聚合图形项在screen的Y轴,从上到下. Default: 0. } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回一个包含screenids属性下创建的模板聚合图形的ID的对象,返回的ID的顺序与传递的模板聚合图形的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenids": [ "45" ] }, "id": 1 }
|
20.2. templatescreen.delete
Description | 此方法允许删除模板聚合图形. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个模板聚合图形 删除两个模板聚合图形. { "jsonrpc": "2.0", "method": "templatescreen.delete", "params": [ "45", "46" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回一个包含screenids属性下删除的模板聚合图形ID的对象. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenids": [ "45", "46" ] }, "id": 1 }
|
20.3. templatescreen.get
Description | 该方法允许根据指定的参数来检索模板聚合图形. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:从模板检索聚合图形 从模板“10001”和所有聚合图形项中检索所有聚合图形. { "jsonrpc": "2.0", "method": "templatescreen.get", "params": { "output": "extend", "selectScreenItems": "extend", //返回screenitems属性中模板聚合图形中使用的聚合图形项. "templateids": "10001" //只返回所属指定模板的模板聚合图形. }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "screenid": "3", //(readonly)模板聚合图形的ID. "name": "System performance", "hsize": "2", "vsize": "2", "templateid": "10001", "screenitems": [ { "screenitemid": "20", "screenid": "3", "resourcetype": "0", "resourceid": "433", "width": "500", "height": "120", "x": "0", "y": "0", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "" }, { "screenitemid": "21", "screenid": "3", "resourcetype": "0", "resourceid": "387", "width": "500", "height": "100", "x": "0", "y": "1", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "" }, { "screenitemid": "22", "screenid": "3", "resourcetype": "1", "resourceid": "10013", "width": "500", "height": "148", "x": "1", "y": "0", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "" }, { "screenitemid": "23", "screenid": "3", "resourcetype": "1", "resourceid": "22181", "width": "500", "height": "184", "x": "1", "y": "1", "colspan": "1", "rowspan": "1", "elements": "0", "valign": "1", "halign": "0", "style": "0", "url": "" } ] } ], "id": 1 }
|
20.4. templatescreen.update
Description | 此方法允许更新现有的模板聚合图形. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名模板聚合图形 将模板聚合图形重命名为“Performance graphs”. { "jsonrpc": "2.0", "method": "templatescreen.update", "params": { "screenid": "3", "name": "Performance graphs" //模板聚合图形的名称.(required) }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个包含screenids属性下更新的模板聚合图形的ID的对象 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "screenids": [ "3" ] }, "id": 1 }
|
20.5. templatescreen.copy
Description | 该方法允许将模板聚合图形复制到指定的模板. |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个全局宏 创建一个值为“public”的全局宏“{$ SNMP_COMMUNITY}”。 { "jsonrpc": "2.0", "method": "templatescreen.copy", "params": { "screenIds": "25", //要复制的模板聚合图形的ID.(required) "templateIds": "30085" //将聚合图形复制到模板的ID.(required) }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果复制成功,则返回true. |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
20.6. templatescreen.isreadable
Description | 该方法检查给定的模板聚合图形是否可用于阅读。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个模板聚合图形 检查两个模板聚合图形是否可读。 { "jsonrpc": "2.0", "method": "templatescreen.isreadable", "params": [ "3", //要检查的模板聚合图形的ID。 "5" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的模板聚合图形可供阅读,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
20.7. templatescreen.iswritable
Description | 此方法检查给定的模板聚合图形是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个模板聚合图形 检查两个模板聚合图形是否可写。 { "jsonrpc": "2.0", "method": "templatescreen.iswritable", "params": [ "3", "5" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的模板聚合图形可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
21. 历史数据
21.1. history.get(YES)
Description | 该方法允许根据给定的参数检索历史数据。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索项目历史数据 从数字(浮点型)项返回10个最新值。 { "jsonrpc": "2.0", "method": "history.get", "params": { "output": "extend", "history": 0, "itemids": "23863", "sortfield": "clock", "sortorder": "DESC", "limit": 10 }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例二:检索项目历史数据(指定具体时间段) 从数字(浮点型)项返回某个时间段(2018.5.10 9:40:00——2018.5.10 9:48:00)内的最新值。 { "jsonrpc": "2.0", "method": "history.get", "params": { "output": "extend", "history": 0, "itemids": "23863", "time_from": "1525916400", //仅返回在给定时间时或之后收到的值 "time_till": "1525916880", //仅返回在给定时间时或之前收到的值。 "sortfield": "clock", "sortorder": "DESC" }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
示例三:检索项目历史数据(指定具体时间段的最新2条数据) 从数字(浮点型)项返回某个时间段(2018.5.22 9:30:00——2018.5.22 9:50:00)内的最新2条数据。 { "jsonrpc": "2.0", "method": "history.get", "params": { "output": "extend", "history": 0, "itemids": "23863", "time_from": "1526952600", "time_till": "1526953800", "sortfield": "clock", "sortorder": "DESC", "limit": 2 }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "itemid": "23296", //相关项的ID。 "clock": "1351090996", //收到这个值的时间 "value": "0.0850", //获取值。 "ns": "563157632" //收到值时纳秒。 }, { "itemid": "23296", "clock": "1351090936", "value": "0.1600", "ns": "549216402" }, { "itemid": "23296", "clock": "1351090876", "value": "0.1800", "ns": "537418114" }, { "itemid": "23296", "clock": "1351090816", "value": "0.2100", "ns": "522659528" }, { "itemid": "23296", "clock": "1351090756", "value": "0.2150", "ns": "507809457" }, { "itemid": "23296", "clock": "1351090696", "value": "0.2550", "ns": "495509699" }, { "itemid": "23296", "clock": "1351090636", "value": "0.3600", "ns": "477708209" }, { "itemid": "23296", "clock": "1351090576", "value": "0.3750", "ns": "463251343" }, { "itemid": "23296", "clock": "1351090516", "value": "0.3150", "ns": "447947017" }, { "itemid": "23296", "clock": "1351090456", "value": "0.2750", "ns": "435307141" } ], "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": [{ "itemid": "23863", "clock": "1525916863", "value": "99.6830", "ns": "557520940" }, { "itemid": "23863", "clock": "1525916803", "value": "99.7153", "ns": "477480351" }, { "itemid": "23863", "clock": "1525916743", "value": "99.5825", "ns": "322726242" }, { "itemid": "23863", "clock": "1525916683", "value": "84.3222", "ns": "93680644" }, { "itemid": "23863", "clock": "1525916623", "value": "99.5819", "ns": "167140788" }, { "itemid": "23863", "clock": "1525916563", "value": "99.3980", "ns": "834558379" }, { "itemid": "23863", "clock": "1525916503", "value": "98.8625", "ns": "470667143" }, { "itemid": "23863", "clock": "1525916443", "value": "98.2098", "ns": "121570884" }], "id": 1 }
对应示例三: { "jsonrpc": "2.0", "result": [{ "itemid": "23863", "clock": "1526953783", "value": "98.9481", "ns": "809603833" }, { "itemid": "23863", "clock": "1526953723", "value": "99.2138", "ns": "545784119" }], "id": 1 }
|
22. 用户
22.1. user.create(YES)
Description | 该方法允许创建新用户。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个用户 创建一个新用户,将他添加到用户组并为他创建一个新媒体。 { "jsonrpc": "2.0", "method": "user.create", "params": { "alias": "John", //用户别名。(required) "passwd": "Doe123", //用户的密码。(required) "usrgrps": [ //用户组添加用户。用户组必须具有已定义的usrgrpid属性。(required) { "usrgrpid": "7" //(只读)用户组的ID。 } ], "user_medias": [ //为用户创建媒体。 { "mediatypeid": "1", //媒体使用的媒体类型的ID。(required) "sendto": "support@company.com", //收件人的地址,用户名或其他标识符。(required) "active": 0, //媒体是否启用。可能的值: 0 - 启用; 1 - 禁用。(required) "severity": 63, //触发严重性发送有关通知.Severities以二进制形式存储,每一位代表相应的严重性。例如,12表示二进制数为1100,意味着通知将从严重级别为警告和平均值的触发器发送。(required) "period": "1-7,00:00-24:00" //通知可以作为时间段发送的时间。(required) } ] }, "auth": "af021c073254e8682355f93390e0b56d", "id": 1 }
|
返回值
| 返回包含userids属性下创建的用户的ID的对象。返回的ID的顺序与传递的用户的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "userids": ["3"] }, "id": 1 }
|
22.2. user.delete(YES)
Description | 该方法允许删除用户。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个用户 删除两个用户。 { "jsonrpc": "2.0", "method": "user.delete", "params": [ "3" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 回包含userids属性下已删除用户的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "userids": ["3"] }, "id": 1 }
|
22.3. user.get(YES)
Description | 该方法允许根据给定的参数来检索用户。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索用户 检索所有配置的用户。 { "jsonrpc": "2.0", "method": "user.get", "params": { "output": "extend" }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "userid": "1", "alias": "Admin", "name": "Zabbix", "surname": "Administrator", "url": "", "autologin": "1", "autologout": "0", "lang": "en_GB", "refresh": "30", "type": "3", "theme": "default", "attempt_failed": "0", "attempt_ip": "", "attempt_clock": "0", "rows_per_page": "50" }, { "userid": "2", "alias": "guest", "name": "", "surname": "", "url": "", "autologin": "0", "autologout": "900", "lang": "en_GB", "refresh": "30", "type": "1", "theme": "default", "attempt_failed": "0", "attempt_ip": "", "attempt_clock": "0", "rows_per_page": "50" }, { "userid": "3", "alias": "John", "name": "", "surname": "", "url": "", "autologin": "0", "autologout": "900", "lang": "en_GB", "refresh": "30", "type": "1", "theme": "default", "attempt_failed": "0", "attempt_ip": "192.168.4.1", "attempt_clock": "1521600629", "rows_per_page": "50" }], "id": 1 }
|
22.4. user.update
Description | 该方法允许更新现有用户。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名用户 将用户重命名为John Doe。 { "jsonrpc": "2.0", "method": "user.update", "params": { "userid": "1", "name": "John", "surname": "Doe" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含userids属性下更新的用户的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "userids": [ "1" ] }, "id": 1 }
|
22.5. user.updateprofile
Description | 该方法允许更新当前登录的用户。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:重命名当前用户 将当前用户重命名为John Doe。 { "jsonrpc": "2.0", "method": "user.updateprofile", "params": { "name": "John", "lastname": "Doe" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含userids属性下更新的用户的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "userids": [ "1" ] }, "id": 1 }
|
22.6. user.addmedia
Description | 该方法允许向多个用户添加新媒体。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:将媒体添加到多个用户 为两位用户创建一个通用电子邮件介质。媒体必须随时发送有关所有警报的通知。 { "jsonrpc": "2.0", "method": "user.addmedia", "params": { "users": [ //用户将媒体添加到。用户必须具有已定义的userid属性。(required) { "userid": "1" }, { "userid": "2" } ], "medias": { //要为给定用户创建媒体。不得定义媒体userid属性。(required) "mediatypeid": "1", "sendto": "support@company.com", "active": 0, "severity": 63, "period": "1-7,00:00-24:00" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含mediaids属性下创建的媒体的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "mediaids": [ "12", "13" ] }, "id": 1 }
|
22.7. user.deletemedia
Description | 该方法允许删除媒体。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个媒体 删除两个媒体。 { "jsonrpc": "2.0", "method": "user.deletemedia", "params": [ "11", //要删除的媒体的ID。 "13" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 在mediaids属性下返回包含已删除媒体ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "mediaids": [ "11", "13" ] }, "id": 1 }
|
22.8. user.updatemedia
Description | 该方法允许为多个用户更新媒体。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:替换多个用户的媒体 将两个用户使用的所有媒体替换为通用电子邮件媒体。媒体必须随时发送有关所有警报的通知。 { "jsonrpc": "2.0", "method": "user.updatemedia", "params": { "users": [ //用户要更新。用户必须具有已定义的userid属性。(required) { "userid": "1" }, { "userid": "2" } ], "medias": { //媒体取代现有的媒体。如果媒体定义了mediaid属性,它将被更新,否则将创建新的媒体(required) "mediatypeid": "1", "sendto": "support@company.com", "active": 0, "severity": 63, "period": "1-7,00:00-24:00" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含userids属性下更新的用户的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "userids": [ "1", "2" ] }, "id": 1 }
|
22.9. user.login(YES)
Description | 此方法允许登录到API并生成身份验证令牌。使用此方法时,还需要执行user.logout以防止生成大量打开的会话记录。此方法可用于未经身份验证的用户,并且必须在JSON-RPC请求中不带auth参数的情况下调用该方法。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:验证用户 验证用户。 { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "Admin", //用户名。(required) "password": "zabbix" //用户密码。未用于HTTP身份验证。(required) }, "id": 1 }
示例一:请求认证用户的信息 验证并返回有关用户的其他信息。 { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "Admin", "password": "zabbix", "userData": true //返回有关已认证用户的信息。 }, "id": 1 }
|
返回值 | 如果使用userData参数,则返回一个包含有关已认证用户信息的对象。如果未使用userData参数,则该方法将返回一个身份验证令牌。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": { "userid": "1", "alias": "Admin", "name": "Zabbix", "surname": "Administrator", "url": "", "autologin": "1", "autologout": "0", "lang": "en_GB", "refresh": "30", "type": "3", "theme": "default", "attempt_failed": "0", "attempt_ip": "", "attempt_clock": "0", "rows_per_page": "50", "debug_mode": false, "userip": "192.168.4.1", "sessionid": "1f0aff7a8c9e4bd3614eb7b83f87b330", "gui_access": "0" }, "id": 1 }
|
22.10. user.logout(YES)
Description | 此方法允许注销API并使当前身份验证令牌失效。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:注销 从API注销。 { "jsonrpc": "2.0", "method": "user.logout", "params": [], "id": 1, "auth": "16a46baf181ef9602e1687f3110abf8a" }
|
返回值 | 如果用户已成功注销,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
22.11. user.isreadable(YES)
Description | 该方法检查给定的用户是否可用于阅读。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个用户 检查两个用户是否可读。 { "jsonrpc": "2.0", "method": "user.isreadable", "params": [ "1", //要检查的用户的ID。 "2" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 如果给定的用户可以阅读,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
22.12. user.iswritable(YES)
Description | 该方法检查给定的用户是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个用户 检查两个用户是否可写。 { "jsonrpc": "2.0", "method": "user.iswritable", "params": [ "1", "2" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 如果给定的用户可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
23. 用户组
23.1. usergroup.create(YES)
Description | 此方法允许创建新的用户组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个用户组 创建一个拒绝访问主机组“2”的用户组。 { "jsonrpc": "2.0", "method": "usergroup.create", "params": { "name": "Operation managers", "rights": { "permission": 0, "id": "2" } }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值
| 返回包含“usrgrpids”属性下创建的用户组的ID的对象。返回的ID的顺序与传递的用户组的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "usrgrpids": ["14"] }, "id": 1 }
|
23.2. usergroup.delete(YES)
Description | 此方法允许删除用户组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个用户组 删除两个用户组。 { "jsonrpc": "2.0", "method": "usergroup.delete", "params": [ "13", //要删除的用户组的ID。 "14" ], "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回包含“usrgrpids”属性下删除的用户组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "usrgrpids": [ "13", "14" ] }, "id": 1 }
|
23.3. usergroup.get(YES)
Description | 该方法允许根据给定的参数检索用户组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索启用的用户组 检索所有已启用的用户组。 { "jsonrpc": "2.0", "method": "usergroup.get", "params": { "output": "extend", "status": 0 //只返回具有给定状态的用户组。 }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [{ "usrgrpid": "7", "name": "Zabbix administrators", "gui_access": "0", "users_status": "0", "debug_mode": "0" }, { "usrgrpid": "8", "name": "Guests", "gui_access": "0", "users_status": "0", "debug_mode": "0" }, { "usrgrpid": "11", "name": "Enabled debug mode", "gui_access": "0", "users_status": "0", "debug_mode": "1" }, { "usrgrpid": "12", "name": "No access to the frontend", "gui_access": "2", "users_status": "0", "debug_mode": "0" }], "id": 1 }
|
23.4. usergroup.update
Description | 此方法允许更新现有的用户组。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:禁用用户组 禁用用户组。 { "jsonrpc": "2.0", "method": "usergroup.update", "params": { "usrgrpid": "17", "users_status": "1" //用户组是启用还是禁用。 可能的值: 0 - (默认) 启用; }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“usrgrpids”属性下更新的用户组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "usrgrpids": [ "17" ] }, "id": 1 }
|
23.5. usergroup.massadd
Description | 此方法允许同时向多个用户组添加权限和用户。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:拒绝访问主机组 拒绝两个用户组访问主机组“2”。 { "jsonrpc": "2.0", "method": "usergroup.massadd", "params": { "usrgrpids": [ //要更新的用户组的ID。(required) "17", "19" ], "rights": { //分配给用户组的权限。 "permission": 0, //(required)访问到主机组的级别。可能的值: 0 - 拒绝访问; "id": "2" //要添加权限的主机组的ID。(required) } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“usrgrpids”属性下更新的用户组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "usrgrpids": [ "17", "19" ] }, "id": 1 }
|
23.6. usergroup.massupdate
Description | 此方法允许同时更新多个用户组的属性,用户或权限。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:更改用户组的权限 更新两个用户组的权限,只允许对两个主机组进行读写访问。 { "jsonrpc": "2.0", "method": "usergroup.massupdate", "params": { "usrgrpids": [ "17", "19" ], "rights": [ { "permission": 3, "id": "2" }, { "permission": 3, "id": "3" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“usrgrpids”属性下更新的用户组的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "usrgrpids": [ "17", "19" ] }, "id": 1 }
|
23.7. usergroup.isreadable(YES)
Description | 该方法检查给定的用户组是否可用于阅读。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个用户组 检查两个用户组是否可读。 { "jsonrpc": "2.0", "method": "usergroup.isreadable", "params": [ "21", // 要检查的用户组的ID。 "22" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的用户组可用于读取,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
23.8. usergroup.iswritable(YES)
Description | 该方法检查给定的用户组是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:检查多个用户组 检查两个用户组是否可写。 { "jsonrpc": "2.0", "method": "usergroup.iswritable", "params": [ "21", "22" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的用户组可用于写入,则返回true。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
24. 用户宏
24.1. usermacro.create
Description | 此方法允许创建新的主机宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个主机宏 在主机“10198”上创建一个主机宏“{$ SNMP_COMMUNITY}”,其值为“public”。 { "jsonrpc": "2.0", "method": "usermacro.create", "params": { "hostid": "10198", //宏所属主机的ID。(required) "macro": "{$SNMP_COMMUNITY}", //宏字符串。(required) "value": "public" //宏的值。(required) }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含“hostmacroids”属性下创建的主机宏的ID的对象。 返回的ID的顺序与传递的主机宏的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostmacroids": [ "11" //主机宏的ID。 ] }, "id": 1 }
|
24.2. usermacro.delete
Description | 此方法允许删除主机宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个主机宏 删除两个主机宏。 { "jsonrpc": "2.0", "method": "usermacro.delete", "params": [ "32", "11" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含hostmacroids属性下的已删除主机宏ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostmacroids": [ "32", "11" ] }, "id": 1 }
|
24.3. usermacro.get
Description | 该方法允许根据给定的参数检索主机和全局宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试) | 示例一:检索主机的主机宏 检索为主机“10198”定义的所有主机宏。 { "jsonrpc": "2.0", "method": "usermacro.get", "params": { "output": "extend", "hostids": "10198" //仅返回属于给定主机的主机宏。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
示例二:检索全局宏 检索所有全局宏。 { "jsonrpc": "2.0", "method": "usermacro.get", "params": { "output": "extend", "globalmacro": true //返回全局宏而不是主机宏。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response(实际测试结果) | 对应示例一: { "jsonrpc": "2.0", "result": [ { "hostmacroid": "9", //(readonly) 主机宏的ID。 "hostid": "10198", //宏所属主机的ID。(required) "macro": "{$INTERFACE}", //宏字符串。(required) "value": "eth0" //宏的值。(required) }, { "hostmacroid": "11", "hostid": "10198", "macro": "{$SNMP_COMMUNITY}", "value": "public" } ], "id": 1 }
对应示例二: { "jsonrpc": "2.0", "result": [ { "globalmacroid": "6", //(readonly) 全局宏的ID。 "macro": "{$SNMP_COMMUNITY}", //宏字符串。(required) "value": "public" //宏的值。(required) } ], "id": 1 }
|
24.4. usermacro.update
Description | 此方法允许更新现有的主机宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:更改主机宏的值 将主机宏的值更改为“public”。 { "jsonrpc": "2.0", "method": "usermacro.update", "params": { "hostmacroid": "1", //(required) "value": "public" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“hostmacroids”属性下更新的主机宏的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostmacroids": [ "1" ] }, "id": 1 }
|
24.5. usermacro.createglobal
Description | 此方法允许创建新的全局宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:创建一个全局宏 创建一个值为“public”的全局宏“{$ SNMP_COMMUNITY}”。 { "jsonrpc": "2.0", "method": "usermacro.createglobal", "params": { "macro": "{$SNMP_COMMUNITY}", //(required) "value": "public" //(required) }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“globalmacroids”属性下创建的全局宏的ID的对象。 返回的ID的顺序与传递的全局宏的顺序相匹配。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "globalmacroids": [ "6" ] }, "id": 1 }
|
24.6. usermacro.deleteglobal
Description | 此方法允许删除全局宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:删除多个全局宏 删除两个全局宏。 { "jsonrpc": "2.0", "method": "usermacro.deleteglobal", "params": [ "32", //要删除的全局宏的ID。 "11" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含“globalmacroids”属性下删除的全局宏ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "globalmacroids": [ "32", "11" ] }, "id": 1 }
|
24.7. usermacro.updateglobal
Description | 此方法允许更新现有的全局宏。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request(实际测试)
| 示例一:更改全局宏的值 将全局宏的值更改为“public”。 { "jsonrpc": "2.0", "method": "usermacro.updateglobal", "params": { "globalmacroid": "1", //(required) "value": "public" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“globalmacroids”属性下更新的全局宏的ID的对象。 |
Response(实际测试结果)
| 对应示例一: { "jsonrpc": "2.0", "result": { "globalmacroids": [ "1" ] }, "id": 1 }
|
25. 主机接口
25.1. hostinterface.create(YES)
Description | 该方法允许创建新的主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:创建一个新的接口 在主机“10108”上创建一个辅助IP代理接口。 { "jsonrpc": "2.0", "method": "hostinterface.create", "params": { "hostid": "10108", "dns": "", "ip": "127.0.0.1", "main": 0, "port": "10050", "type": 1, "useip": 1 }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值
| 返回一个包含“interfaceids”属性下创建的主机接口的ID的对象。返回的ID的顺序与传递的主机接口的顺序相匹配。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "interfaceids": ["6"] }, "id": 1 }
|
25.2. hostinterface.delete
Description | 此方法允许删除主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:删除主机接口 删除ID为30062的主机接口。 { "jsonrpc": "2.0", "method": "hostinterface.delete", "params": [ "30062" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回包含“interfaceids”属性下删除的主机接口的ID的对象。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "interfaceids": [ "30062" ] }, "id": 1 }
|
25.3. hostinterface.get(YES)
Description | 该方法允许根据给定的参数检索主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request | 示例一:检索主机接口 检索主机“10108”使用的接口的所有数据。 { "jsonrpc": "2.0", "method": "hostinterface.get", "params": { "output": "extend", "hostids": "10108" }, "auth": "cbaea23bcbc89b6875d9690b302c81cd", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response | 对应示例一: { "jsonrpc": "2.0", "result": [{ "interfaceid": "5", "hostid": "10108", "main": "1", "type": "1", "useip": "1", "ip": "192.168.3.1", "dns": "", "port": "10050", "bulk": "1" }, { "interfaceid": "6", "hostid": "10108", "main": "0", "type": "1", "useip": "1", "ip": "127.0.0.1", "dns": "", "port": "10050", "bulk": "1" }], "id": 1 }
|
25.4. hostinterface.update
Description | 此方法允许更新现有的主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:更改主机接口端口 更改主机接口的端口。 { "jsonrpc": "2.0", "method": "hostinterface.update", "params": { "interfaceid": "30048", //(required) "port": "30050" }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个包含“interfaceids”属性下更新的主机接口的ID的对象 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "interfaceids": [ "30048" ] }, "id": 1 }
|
25.5. hostinterface.massadd
Description | 该方法允许同时向多个主机添加主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:创建接口 在两台主机上创建一个接口。 { "jsonrpc": "2.0", "method": "hostinterface.massadd", "params": { "hosts": [ //要更新的主机。主机必须定义“hostid”属性。(required) { "hostid": "30050" //(required)
}, { "hostid": "30052" } ], "interfaces": { //在给定的主机上创建主机接口。(required)
"dns": "", "ip": "127.0.0.1", "main": 0, "port": "10050", "type": 1, "useip": 1 } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个包含“interfaceids”属性下创建的主机接口的ID的对象。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "interfaceids": [ "30069", "30070" ] }, "id": 1 }
|
25.6. hostinterface.massremove
Description | 该方法允许从给定的主机中删除主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:删除接口 从两台主机中删除“127.0.0.1”SNMP界面。 { "jsonrpc": "2.0", "method": "hostinterface.massremove", "params": { "hostids": [ //要更新的主机的ID。(required) "30050", "30052" ], "interfaces": { //要从给定主机中删除的主机接口。 "dns": "", "ip": "127.0.0.1", "port": "161" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个包含“interfaceids”属性下创建的主机接口的ID的对象。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "interfaceids": [ "30069", "30070" ] }, "id": 1 }
|
25.7. hostinterface.replacehostinterfaces
Description | 此方法允许替换给定主机上的所有主机接口。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:更换主机接口 用单个代理接口替换所有主机接口。 { "jsonrpc": "2.0", "method": "hostinterface.replacehostinterfaces", "params": { "hostid": "30052", //要更新的主机的ID。(required) "interfaces": { //替换当前主机接口的主机接口。(required) "dns": "", "ip": "127.0.0.1", "main": 1, "port": "10050", "type": 1, "useip": 1 } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回一个包含“interfaceids”属性下创建的主机接口的ID的对象。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "interfaceids": [ "30081" ] }, "id": 1 }
|
26. 主机原型
26.1. hostprototype.create
Description | 这种方法允许创建新的主机原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:创建主机原型 使用组原型“{#HV.NAME}”为LLD规则“23542”创建主机原型“{#VM.NAME}”。 将其链接到主机组“2”。 { "jsonrpc": "2.0", "method": "hostprototype.create", "params": { "host": "{#VM.NAME}", //主机原型的技术名称。(required) "ruleid": "23542", //主机原型所属的LLD规则的ID。(required) "groupLinks": [ //要为主机原型创建的组链接。(required) { "groupid": "2" //主机组的ID。(required) } ], "groupPrototypes": [ //将为主机原型创建的组原型。 { "name": "{#HV.NAME}" //组原型的名称(required) } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值
| 返回包含“hostids”属性下创建的主机原型的ID的对象。 返回的ID的顺序与传递的主机原型的顺序相匹配。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "10103" ] }, "id": 1 }
|
26.2. hostprototype.delete
Description | 该方法允许删除主机原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:删除多个主机原型 删除两个主机原型 { "jsonrpc": "2.0", "method": "hostprototype.delete", "params": [ "10103", "10105" ], "auth": "3a57200802b24cda67c4e4010b50c065", "id": 1 }
|
返回值 | 返回一个包含“hostids”属性下删除的主机原型的ID的对象。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "10103", "10105" ] }, "id": 1 }
|
26.3. hostprototype.get
Description | 该方法允许根据给定的参数检索主机原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request | 示例一:从LLD规则检索主机原型 从LLD规则中检索所有主机原型及其组链接和组原型。 { "jsonrpc": "2.0", "method": "hostprototype.get", "params": { "output": "extend", "selectGroupLinks": "extend", //在“groupLinks”属性中返回主机原型的组链接。 "selectGroupPrototypes": "extend", //返回“groupPrototypes”属性中的主机原型的组原型。 "discoveryids": "23554" //仅返回属于给定LLD规则的主机原型。 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回其中之一: 一组对象; 如果已经使用“countOutput”参数,则返回检索到的对象的计数. |
Response | 对应示例一: { "jsonrpc": "2.0", "result": [ { "hostid": "10092", //(readonly) 主机原型的ID。 "host": "{#HV.UUID}", //主机原型的技术名称。 "status": "0", //主机原型的状态.可能的值是: "name": "{#HV.NAME}", //主机原型的可见名称。 "templateid": "0", //(readonly)父模板主机原型的ID "tls_connect": "1", //连接到主机。可能的值是: "tls_accept": "1", //主机连接。 可能的位图值为: "tls_issuer": "", //证书发行者 "tls_subject": "", //证书类别 "tls_psk_identity": "", //.PSK身份 如果“tls_connect”或“tls_accept”启用了PSK,则必需。 "tls_psk": "", //预共享密钥,至少32位十六进制数字。 如果“tls_connect”或“tls_accept”启用了PSK,则必需。 "groupLinks": [ { "group_prototypeid": "4", //(readonly) 组链接的ID。 "hostid": "10092", //(readonly)主机原型的ID "groupid": "7", //主机组的ID。 "templateid": "0" //(readonly)父模板组链接的ID。 } ], "groupPrototypes": [ { "group_prototypeid": "7", //(readonly) I组原型的ID。 "hostid": "10092", //(readonly)主机原型的ID "name": "{#CLUSTER.NAME}", //组原型的名称 "templateid": "0" //(readonly)父模板组原型的ID。 } ] } ], "id": 1 }
|
26.4. hostprototype.update
Description | 此方法允许更新现有的主机原型。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:禁用主机原型 禁用主机原型,即将其状态设置为1。 { "jsonrpc": "2.0", "method": "hostprototype.update", "params": { "hostid": "10092", //(required) "status": 1 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 返回包含“hostids”属性下更新的主机原型的ID的对象。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": { "hostids": [ "10092" ] }, "id": 1 }
|
26.5. hostprototype.isreadable
Description | 该方法检查给定的主机原型是否可用于读取。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:检查多个主机原型 检查两个主机原型是否可读。 { "jsonrpc": "2.0", "method": "hostprototype.isreadable", "params": [ "10092", "10093" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的主机原型可用于读取,则返回true。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|
26.6. hostprototype.iswritable
Description | 该方法检查给定的主机原型是否可用于写入。 |
请求方法 | POST |
URL | http://192.168.3.132/zabbix/api_jsonrpc.php |
Content-Type | application/json |
Request
| 示例一:检查多个主机原型 检查两个主机原型是否可写。 { "jsonrpc": "2.0", "method": "hostprototype.iswritable", "params": [ "10092", "10093" ], "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }
|
返回值 | 如果给定的主机原型可用于写入,则返回true。 |
Response
| 对应示例一: { "jsonrpc": "2.0", "result": true, "id": 1 }
|