Zabbix接口测试文档

Zabbix接口测试文档

(V1.0)

2018.3

接口测试说明

注意:1.zabbix版本为3.0.14;

2.若已测试通过,则在相应的方法上加注(YES)标签;

3.测试时会在Request和Response栏做部分修改,注意与《Zabbix系统接口》文档作对比查看(着重看字体差别部分);

4.监控流程请参照《监控项添加流程图》和《监控信息获取流程图》两个文档;

5.接口测试使用的是RESTClient工具(Firefox浏览器插件)

6.已上传word版,如需下载请前往https://download.csdn.net/download/u012469528/10500305

7.待写。。。

目录

Zabbix接口测试 - 1 -

接口测试说明 - 2 -

目录 - 3 -

1. 获取API版本(YES) - 1 -

2. 监控项 - 1 -

2.1. item.create - 1 -

2.2. item.delete - 3 -

2.3. item.get - 4 -

2.4. item.update - 10 -

2.5. item.isreadable - 10 -

2.6. item.iswritable - 11 -

3. 主机 - 12 -

3.1. host.create(YES) - 12 -

3.2. host.delete - 13 -

3.3. host.get(YES) - 14 -

3.4. host.update - 22 -

3.5. host.massadd - 25 -

3.6. host.massremove - 26 -

3.7. host.massupdate - 27 -

3.8. host.isreadable - 28 -

3.9. host.iswritable - 29 -

4. 主机组 - 29 -

4.1. hostgroup.create(YES) - 29 -

4.2. hostgroup.delete - 30 -

4.3. hostgroup.get(YES) - 31 -

4.4. hostgroup.update - 33 -

4.5. hostgroup.massadd - 34 -

4.6. hostgroup.massremove - 35 -

4.7. hostgroup.massupdate - 36 -

4.8. hostgroup.isreadable - 37 -

4.9. hostgroup.iswritable - 38 -

5. Web场景 - 38 -

5.1. httptest.create - 38 -

5.2. httptest.delete - 40 -

5.3. httptest.get - 40 -

5.4. httptest.update - 43 -

5.5. httptest.isreadable - 44 -

5.6. httptest.iswritable - 45 -

6. 模板 - 45 -

6.1. template.create - 45 -

6.2. template.delete - 46 -

6.3. template.get(YES) - 47 -

6.4. template.update - 50 -

6.5. template.massadd - 51 -

6.6. template.massremove - 52 -

6.7. template.massupdate - 54 -

6.8. template.isreadable - 55 -

6.9. template.iswritable - 56 -

7. 发现主机 - 56 -

7.1. dhost.get - 56 -

8. 发现服务 - 60 -

8.1. dservice.get - 60 -

9. 发现检查 - 61 -

9.1. dcheck.get - 61 -

10. 发现规则 - 63 -

10.1. drule.create - 63 -

10.2. drule.delete - 64 -

10.3. drule.get - 65 -

10.4. drule.update - 67 -

10.5. drule.isreadable - 68 -

10.6. drule.iswritable - 69 -

11. 应用集 - 69 -

11.1. application.create - 69 -

11.2. application.delete - 70 -

11.3. application.get - 71 -

11.4. application.update - 72 -

11.5. application.massadd - 73 -

12. 触发器 - 74 -

12.1. trigger.create - 74 -

12.2. trigger.delete - 75 -

12.3. trigger.get - 76 -

12.4. trigger.update - 80 -

12.5. trigger.adddependencies - 80 -

12.6. trigger.deletedependencies - 81 -

12.7. trigger.isreadable - 82 -

12.8. trigger.iswritable - 83 -

13. 图像 - 84 -

13.1. image.create - 84 -

13.2. image.delete - 85 -

13.3. image.get - 86 -

13.4. image.update - 87 -

14. 聚合图形项目 - 88 -

14.1. screenitem.create - 88 -

14.2. screenitem.delete - 90 -

14.3. screenitem.get - 90 -

14.4. screenitem.update - 95 -

14.5. screenitem.updatebyposition - 95 -

14.6. screenitem.isreadable - 96 -

14.7. screenitem.iswritable - 97 -

15. 聚合图形 - 98 -

15.1. screen.create - 98 -

15.2. screen.delete - 100 -

15.3. screen.get - 101 -

15.4. screen.update - 103 -

16. 图形项 - 105 -

16.1. graphitem.get - 105 -

17. 图形 - 107 -

17.1. graph.create - 107 -

17.2. graph.delete - 108 -

17.3. graph.get - 109 -

17.4. graph.update - 112 -

18. 原型图 - 113 -

18.1. graphprototype.create - 113 -

18.2. graphprototype.delete - 114 -

18.3. graphprototype.get - 115 -

18.4. graphprototype.update - 117 -

19. 模板聚合图形项 - 117 -

19.1. templatescreenitem.get - 117 -

20. 模板聚合图形 - 120 -

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 -

21. 历史数据 - 127 -

21.1. history.get - 127 -

22. 用户 - 130 -

22.1. user.create(YES) - 130 -

22.2. user.delete(YES) - 131 -

22.3. user.get(YES) - 132 -

22.4. user.update - 134 -

22.5. user.updateprofile - 134 -

22.6. user.addmedia - 135 -

22.7. user.deletemedia - 136 -

22.8. user.updatemedia - 137 -

22.9. user.login(YES) - 138 -

22.10. user.logout(YES) - 140 -

22.11. user.isreadable(YES) - 140 -

22.12. user.iswritable(YES) - 141 -

23. 用户组 - 142 -

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. 用户宏 - 149 -

24.1. usermacro.create - 149 -

24.2. usermacro.delete - 150 -

24.3. usermacro.get - 150 -

24.4. usermacro.update - 152 -

24.5. usermacro.createglobal - 153 -

24.6. usermacro.deleteglobal - 154 -

24.7. usermacro.updateglobal - 154 -

25. 主机接口 - 155 -

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. 主机原型 - 163 -

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方案。 可能的值:
0 - (默认) 启用;
1 -禁用.

            "variables": "", //Web场景变量。

            "agent": "Zabbix", //将由Web场景使用的用户代理字符串。默认: Zabbix

            "authentication": "0",//将由Web场景使用的身份验证方法。 可能的值: 0 - (默认) 无; 1 - 基本的HTTP认证;
2 - NTLM身份验证

            "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证书中指定的主机名是否与场景中使用的主机名相匹配。 可能的值:
          0 - (默认) 跳过主机验证;
          1 - 验证主机。

            "headers": "", //执行请求时将发送的HTTP标题。

            "steps": [

                {

                    "httpstepid": "36", //(readonly) 情景步骤的ID

                    "httptestid": "9", //(readonly) 该步骤所属的Web方案的ID。

                    "name": "Homepage",

                    "no": "1",

                    "url": "http://mycompany.com",

                    "timeout": "15", //在几秒钟内请求超时。
默认: 15.

                    "posts": "", //HTTP POST变量作为字符串。

                    "required": "", //必须在响应中存在的文本

                    "status_codes": "200", //所需HTTP状态代码的范围用逗号分隔。

                    "variables": "", //情景步骤变量。

                    "follow_redirects": "1", //是否遵循HTTP重定向.可能的值:
                 0 - 不要重新导向;
                 1 - (default) 遵循重定向

                    "retrieve_mode": "0", //方案步骤必须检索的HTTP响应的一部分。 可能的值:
                 0 - (default) 仅有文体;
                 1 - 仅有标题.

                    "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)

Description

该方法检查给定模板是否可用于读取。

请求方法

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)

Description

该方法检查给定模板是否可用于写入。

请求方法

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",  //服务状态. 可能的值:
0 - up; 1 - down.

                    "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",  //已发现主机是否宕机的状态. 如果至少有一个存活的服务发现,则主机是存活的. 可能的值:
0 - up; 1 - down.

            "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", //发现规则是否启用 可能的值:
0 - (默认) 启用; 1 - 停用.

            "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

Description

此方法用于更新目前的应用集。

请求方法

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"  //函数对象表示触发器表达式中使用的函数,并具有以下属性:
functionid - (string) 函数的ID;
itemid - (string) 函数中使用的监控项的ID;
function - (string) 函数名称;
parameter - (string) 参数传递给函数.

    },

    "auth": "cbaea23bcbc89b6875d9690b302c81cd",

"id": 1

}

示例二:在问题状态下检索触发器

检索在问题状态下的所有触发器的ID,名称和严重性,并按严重性级别按降序分类。

{

    "jsonrpc": "2.0",

    "method": "trigger.get",

    "params": {

        "output": [

            "triggerid",  //触发器的ID.

            "description",  //触发器的名称.

            "priority"  //触发器的严重性级别. 可能的值为:
0 - (default) not classified未分类;
1 - information信息;
2 - warning警告;
3 - average一般严重;
4 - high严重;
5 - disaster灾难.

        ],

        "filter": {  //只返回与给定过滤器完全匹配的结果.接受一个数组,其中keys是属性名称,并且值是单个值或要匹配值的数组. 支持新增的过滤器:
host - 触发器所属主机的技术性名称;
hostid - 触发器所属主机的ID.

            "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启用;
      1 - disabled禁用.

            "value": "0",  //触发器是否处于OK或问题状态.可能的值为: 0 - (default) OK正常;
          1 - problem有问题.

            "priority": "2",  //触发器的严重性级别. 可能的值为: 0 - (default) not classified未分类;
      1 - information信息;
      2 - warning警告;
      3 - average一般严重;
      4 - high严重;
      5 - disaster灾难.

            "lastchange": "0", //e触发器最后更改其状态的时间.

            "comments": "",  //触发器的附加注释.

            "error": "",  //如果在更新触发器的状态时出现任何问题,则显示文本错误.

            "templateid": "10016",  //主模板触发器的ID.

            "type": "0",  //触发器是否可以生成多个问题事件.
可能的值为: 0 - (default) 不生成多个事件;
            1 - 生成多个事件.

            "state": "0",  //触发状态. 可能的值为:
0 - (default)触发器状态是最新的;
1 - 当前的触发器状态是未知的.

            "flags": "0",  //原始的触发器.可能的值是:
0 - (default) r一个常用触发器;
4 - 一个被发现的触发器.

            "recovery_mode": "0",  //OK事件生成模式. 可能的值为: 0 - (default) Expression表达式;
      1 - Recovery expression恢复表达式;
      2 - None无.

            "recovery_expression": "",  //生成触发器恢复表达式.

            "correlation_mode": "0",  //OK事件关闭. 可能的值为: 0 - (default) All problems所有问题;
      1 - 标签值匹配时的所有问题.

            "correlation_tag": "",  //用于匹配的标签.

            "manual_close": "0"  //允许手动关闭. 可能的值为: 0 - (default) No不可以;
    1 - Yes可以.

        }

    ],

"id": 1

}

对应示例二:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "triggerid": "13907",

            "description": "Zabbix self-monitoring processes < 100% busy",

            "priority": "4"  //触发器的严重性级别. 可能的值为: 0 - (default) not classified未分类;
      1 - information信息;
      2 - warning警告;
      3 - average一般严重;
      4 - high严重;
      5 - disaster灾难.

        },

        {

            "triggerid": "13824",

            "description": "Zabbix discoverer processes more than 75% busy",

            "priority": "3"

        }

    ],

"id": 1

}

12.4. trigger.update

Description

此方法用于更新目前的触发器.

请求方法

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启用;
                    1 - disabled禁用.

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

返回值

返回一个triggerids 属性下已更新应用集的ID的对象

Response(实际测试结果)

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "triggerids": [

            "13938"

        ]

    },

"id": 1

}

12.5. trigger.adddependencies

Description

此方法允许创建新的触发器依赖关系.

请求方法

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",  //图像的类型。可能的值:
1 - (default默认) icon;图标
2 - background image.背景图。

            "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)聚合图形项目类型.可用值:
0 - 图形;
1 - 简单图形;
2 - 映射;
3 - 纯文本;
4 - 主机信息;
5 - 触发器信息;
6 - Zabbix状态;
7 - 时钟;
8 - 屏幕;
9 - 触发器概述
10 - 数据概述;
11 - URL;
12 - 历史动作;
13 - 历史事件;
14 - 主机组最新问题;
15 - 系统状态;
16 - 主机最新问题;
19 - 简单图形原型;
20 - 图形原型.

        "resourceid": 612,  //聚合图形项目显示对象的ID. 根据聚合图形项目类型,“resourceid”属性可以引用不同的对象. 聚合图形项目所需要的数据概述,图形,映射,纯文本,聚合图形,简单图形和触发器概述的数据. 聚合图形项目不使用本地和服务器的时钟,历史动作,历史事件,主机信息,zabbix状态,系统状态和URL聚合图形项目.

        "x": 0,  //聚合图形项目在聚合图形的X轴,从左到右.
默认值: 0.

        "y": 0  //聚合图形项目在聚合图形的Y轴, 从上到下.
默认值: 0.

    },

    "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",//聚合图形项目类型. 可用值:
0 - 图形;
1 - 简单图形;
2 - 映射;
3 - 纯文本;
4 - 主机信息;
5 - 触发器信息;
6 - Zabbix状态;
7 - 时钟;
8 - 屏幕;
9 - 触发器概述
10 - 数据概述;
11 - URL;
12 - 历史动作;
13 - 历史事件;
14 - 主机组最新问题;
15 - 系统状态;
16 - 主机最新问题;
19 - 简单图形原型;
20 - 图形原型.

            "resourceid": "433",  //聚合图形项目显示对象的ID. 根据聚合图形项目类型,“resourceid”属性可以引用不同的对象. 聚合图形项目所需要的数据概述,图形,映射,纯文本,聚合图形,简单图形和触发器概述的数据. 聚合图形项目不使用本地和服务器的时钟,历史动作,历史事件,主机信息,zabbix状态,系统状态和URL聚合图形项目.

            "width": "500",  //聚合图形项目宽度(单位:像素).
默认值: 320.

            "height": "120",  //聚合图形项目的高度(单位:像素). 默认值: 200.

            "x": "0",  //聚合图形项目在聚合图形的X轴,从左到右. 默认值: 0.

            "y": "0",  //聚合图形项目在聚合图形的Y轴, 从上到下. 默认值: 0.

            "colspan": "1",  //聚合图形项目的列数量. 默认值: 1.

            "rowspan": "1",  //聚合图形项目的行数量.
默认值: 1.

            "elements": "0",  //聚合图形项目显示的行数量. 默认值: 25.

            "valign": "1",  //指定聚合图形项目中的垂直排列的方式. 可用值:
          0 - (默认值) 居中;
          1 - 顶端;
          2 - 底部.

            "halign": "0",  //指定聚合图形项目的水平对齐方式. 可用值: 0 - (默认值) 居中;
            1 - 向左对齐;
            2 - 向右对齐.

            "style": "0",  //聚合图形项目显示选项.
聚合图形项目中数据概述与触发器概述的可用值:
0 - (默认值) 在左侧显示主机;
1 - 在顶部显示主机.
聚合图形属性中主机信息与触发器信息的可用之:
0 - (默认值) 水平布局;
1 - 垂直布局.
聚合图形项目属性中时钟可用值:
0 - (默认值) 本地时间;
1 - 服务器时间;
2 - 主机时间.
聚合图形项目中纯文本可用值:
0 - (默认值) 纯文本显示值;
1 - 显示HTML.

            "url": "",  //聚合图形项目中显示Web页面的URL信息,用于Web监控聚合图形项目.

            "dynamic": "0",  //聚合图形项目是否动态. 可用值: 0 - (默认值) 不动态;
    1 - 动态.

            "sort_triggers": "0",  //对动作或触发器进行必要的排序.
聚合图形元素中历史动作可用值:
3 - 时间, 升序;
4 - 时间, 降序;
5 - 类型, 升序;
6 - 类型, 降序;
7 - 状态, 升序;
8 - 状态, 降序;
9 - 重试左, 升序;
10 - 重试左, 降序;
11 - 容器, 升序;
12 - 容器, 降序.
聚合图形项目主机组和主机最新问题可以值:
0 - (默认值) 最新变化, 降序;
1 - 级别, 降序;
2 - 主机, 升序.

            "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)
0 - 图形;
1 - 简单图形;
2 - 映射;
3 - 纯文本;
4 - 主机信息;
5 - 触发器信息;
6 - Zabbix状态;
7 - 时钟;
8 - 屏幕;
9 - 触发器概述
10 - 数据概述;
11 - URL;
12 - 历史动作;
13 - 历史事件;
14 - 主机组最新问题;
15 - 系统状态;
16 - 主机最新问题;
19 - 简单图形原型;
20 - 图形原型.

                "resourceid": "612",  //聚合图形项目显示对         象的ID. 根据聚合图形项目类型,“resourceid”属性可以引用不同的对象.

聚合图形项目所需要的数据概述,图形,映射,纯文本,聚合图形,简单图形和触发器概述的数据. 聚合图形项目不使用本地和服务器的时钟,历史动作,历史事件,主机信息,zabbix状态,系统状态和和URL聚合图形项目.

                "rowspan": 0,  //聚合图形项目显示的行数量.
默认值: 1.

                "colspan": 0,  //聚合图形项目的列数量.
默认值: 1

                "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 - 只读;
               3 - 读写;

            }

        ],

        "userGroups": [  //在screen上创建screen用户组共享。

            {

                "usrgrpid": "7",  //用户组ID。(required)

                "permission": "2"  //(required)权限级别类型。 可能的值: 2 - 只读;
               3 - 读写;

            }

        ]

    },

    "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 - 只读;
                3 - 读写;

                }

            ],

            "userGroups": [

                {

                    "screenusrgrpid": "1",  //(readonly) screen用户组的ID

                    "usrgrpid": "7",  //用户组ID。(required)

                    "permission": "3"  //(required)权限级别类型。 可能的值: 2 - 只读;
                 3 - 读写;

                }

            ],

            "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;
    1 - (default) 私有 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",  //绘制图形项目的线型.可用值:
0 - (default默认) line实线;
1 - filled region面积图(填满的区域);
2 - bold line粗实线;
3 - dot点;
4 - dashed line虚线;
5 - gradient line (梯度线).

            "sortorder": "1",  //图形中项目的排序.默认从零开始,每增加一个加1.

            "color": "FF5555",  //绘制图形项目的颜色,使用十六进制码表示(required)

            "yaxisside": "0",  //图形项目的Y轴画在图像的位置。 可用值: 0 - (default默认) left side左侧;
             1 - right side右侧.

            "calc_fnc": "2",  //监控项的显示的值.可用值:
1 - minimum value最小值;
2 - (default默认) average value平均值;
4 - maximum value最大值;
7 - all values所有值;
9 - last value最后的值,仅用于饼图和分散饼图

            "type": "0",  //图形类型.可用值:
0 - (default默认) simple简单图形;
2 - 汇总图形,仅用于饼图和分散饼图

            "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轴的固定最小值
Default:0

            "yaxismax": "100.0000",  //Y轴的固定最大值
Default:100

            "templateid": "439",  //(readonly)父模板图形ID

            "show_work_period": "1",  //是否在图形上显示工作时间.可用值: 0 - hide;隐藏
                1 - (default默认值) show.显示

            "show_triggers": "1",

            "graphtype": "0",  //图形类别。可用值:
0 - (default) normal常规;
1 - stacked堆积图;
2 - pie饼图;
3 - exploded.分散饼图

            "show_legend": "1",  //是否在图形上显示图例.可用值: 0 - hide;隐藏
       1 - (default默认值) show.显示

            "show_3d": "0",  //是否以3D图形展示饼图和分散饼图.可用值: 0 - (default默认值) 以2D图展示
              1 - 以3D图展示

            "percent_left": "0.0000",  //百分比线(左)
Default:0.

            "percent_right": "0.0000",  //百分比线(右)
Default:0.

            "ymin_type": "0",  //Y轴最小值的计算方式.可用值: 0 - (default默认值) calculated可计算的;
    1 - fixed固定值;
    2 - item监控项.

            "ymax_type": "0",  //Y轴最大值的计算方式.可用值: 0 - (default默认值) calculated;可计算的
    1 - fixed;固定值
    2 - item监控项.

            "ymin_itemid": "0",  //用于作为Y轴最小值的监控项ID

            "ymax_itemid": "0",  //.用于作为Y轴最大值的监控项ID

            "flags": "0"  //(readonly)图形的来源.可用值:
0 - (default默认值) a plain graph;一幅简图;
4 - a discovered graph.一副发现图

        },

        {

            "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轴最大值的计算方式.可用值:
0 - (default默认值) calculated;可计算的
1 - fixed;固定值
2 - item监控项.

        "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隐藏;
                     1 - (default默认值) show显示.

            "show_triggers": "0",

            "graphtype": "2",  //图形原型布局类型.可用值:
0 - (default默认) normal常规;
1 - stacked堆积图;
2 - pie饼图;
3 - exploded分散饼图.

            "show_legend": "1",  //是否在被发现的图形上显示图例.可用值: 0 - hide隐藏;
             1 - (default默认值) show显示.

            "show_3d": "1",  //是否使用3D形式展示被发现的饼图和分散饼图.可用值: 0 - (default默认) 2D形式展示;
                       1 - 3D形式展示.

            "percent_left": "0.0000",  //左侧百分比线
Default: 0.

            "percent_right": "0.0000",  //右侧百分比线
Default: 0.

            "ymin_type": "0",  //Y轴最小值的计算方式 .可用值: 0 - (default默认值) calculated计算的;
    1 - fixed固定的;
    2 - item监控项.

            "ymax_type": "0",  //Y轴最大值的计算方式 .可用值: 0 - (default默认值) calculated计算的;
    1 - fixed固定的;
    2 - item监控项.

            "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图形;
    1 - simple graph简单图形;
    3 - plain text纯文本;
    7 - clock时钟;
    11 - URL;
    19 - simple graph prototype简单图形原型;
    20 - graph prototype图形原型.

            "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",  //模板聚合图形项所跨的列数.
Default: 1.

            "rowspan": "1",  //模板聚合图形项所跨的行数.
Default: 1.

            "elements": "0",  //在模板聚合图形项上显示的行数. Default: 25.

            "valign": "1",  //指定模板聚合图形项如何在单元格中垂直对齐. 可能的值: 0 - (default) middle中间;
                        1 - top顶部;
                        2 - bottom底部.

            "halign": "0",  //指定模板监控项如何在单元格中水平对齐. 可能的值: 0 - (default) center中心;
                    1 - left左边;
                    2 - right右边.

            "style": "0",  //模板聚合图形项显示的选项.
聚合图形项clock的可能值: 0 - (default) local time;
                          1 - server time server时间 ;
                          2 - host time主机时间.
聚合图形项纯文本的可能值: 0 - (default) 显示值为纯文本;
                          1 - 显示值为HTML.

            "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图形;
      1 - simple graph简单图形;
      3 - plain text纯文本;
      7 - clock时钟;
      11 - URL;
      19 - simple graph prototype简单图形原型;
      20 - graph prototype图形原型.

                "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": "[email protected]",  //收件人的地址,用户名或其他标识符。(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": "[email protected]",

            "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": "[email protected]",

            "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 - (默认) 启用;
       1 - 禁用.

    },

    "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 - 拒绝访问;
               2 - 只读访问;
               3 - 读写访问.

            "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": {  //要从给定主机中删除的主机接口。
主机接口对象必须具有定义的ip,dns和port属性(required)

            "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",  //主机原型的状态.可能的值是:
0 - (default);被监控的主机;
1 - 不受监控的主机。

            "name": "{#HV.NAME}",  //主机原型的可见名称。
默认值:host属性值。

            "templateid": "0",  //(readonly)父模板主机原型的ID

            "tls_connect": "1",  //连接到主机。可能的值是:
1 - (default默认) 无加密
2 - PSK;
4 - certificate. 证书

            "tls_accept": "1",  //主机连接。 可能的位图值为:
1 - (default默认) 无加密
2 - PSK;
4 - certificate.证书

            "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

}

猜你喜欢

转载自blog.csdn.net/u012469528/article/details/80916209