Zabbix系统接口文档

 

                                    Zabbix系统接口文档

                                                                                     (V1.0)

                                                                                       2018.3

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

目录

Zabbix系统接口文档 - 1 -

目录 - 2 -

1. 获取API版本 - 1 -

2. 关联(3.2版本开始有) - 1 -

2.1. correlation.create - 1 -

2.2. correlation.delete - 4 -

2.3. correlation.get - 5 -

2.4. correlation.update - 6 -

3. 监控项 - 8 -

3.1. item.create - 8 -

3.2. item.delete - 10 -

3.3. item.get - 10 -

3.4. item.update - 16 -

3.5. item.isreadable - 17 -

3.6. item.iswritable - 18 -

4. 主机 - 18 -

4.1. host.create - 18 -

4.2. host.delete - 20 -

4.3. host.get - 21 -

4.4. host.update - 28 -

4.5. host.massadd - 31 -

4.6. host.massremove - 32 -

4.7. host.massupdate - 33 -

4.8. host.isreadable - 34 -

4.9. host.iswritable - 34 -

5. 主机组 - 35 -

5.1. hostgroup.create - 35 -

5.2. hostgroup.delete - 36 -

5.3. hostgroup.get - 37 -

5.4. hostgroup.update - 38 -

5.5. hostgroup.massadd - 39 -

5.6. hostgroup.massremove - 40 -

5.7. hostgroup.massupdate - 41 -

5.8. hostgroup.isreadable - 42 -

5.9. hostgroup.iswritable - 42 -

6. Web场景 - 43 -

6.1. httptest.create - 43 -

6.2. httptest.delete - 44 -

6.3. httptest.get - 45 -

6.4. httptest.update - 48 -

6.5. httptest.isreadable - 49 -

6.6. httptest.iswritable - 49 -

7. 模板 - 50 -

7.1. template.create - 50 -

7.2. template.delete - 51 -

7.3. template.get - 52 -

7.4. template.update - 55 -

7.5. template.massadd - 55 -

7.6. template.massremove - 57 -

7.7. template.massupdate - 59 -

7.8. template.isreadable - 60 -

7.9. template.iswritable - 60 -

8. 发现主机 - 61 -

8.1. dhost.get - 61 -

9. 发现服务 - 64 -

9.1. dservice.get - 64 -

10. 发现检查 - 66 -

10.1. dcheck.get - 66 -

11. 发现规则 - 68 -

11.1. drule.create - 68 -

11.2. drule.delete - 69 -

11.3. drule.get - 70 -

11.4. drule.update - 72 -

11.5. drule.isreadable - 73 -

11.6. drule.iswritable - 74 -

12. 应用集 - 74 -

12.1. application.create - 74 -

12.2. application.delete - 75 -

12.3. application.get - 76 -

12.4. application.update - 77 -

12.5. application.massadd - 78 -

13. 触发器 - 79 -

13.1. trigger.create - 79 -

13.2. trigger.delete - 80 -

13.3. trigger.get - 81 -

13.4. trigger.update - 85 -

13.5. trigger.adddependencies - 85 -

13.6. trigger.deletedependencies - 86 -

13.7. trigger.isreadable - 87 -

13.8. trigger.iswritable - 88 -

14. 图像 - 89 -

14.1. image.create - 89 -

14.2. image.delete - 90 -

14.3. image.get - 91 -

14.4. image.update - 92 -

15. 聚合图形项目 - 93 -

15.1. screenitem.create - 93 -

15.2. screenitem.delete - 95 -

15.3. screenitem.get - 95 -

15.4. screenitem.update - 100 -

15.5. screenitem.updatebyposition - 100 -

15.6. screenitem.isreadable - 101 -

15.7. screenitem.iswritable - 102 -

16. 聚合图形 - 103 -

16.1. screen.create - 103 -

16.2. screen.delete - 105 -

16.3. screen.get - 106 -

16.4. screen.update - 108 -

17. 图形项 - 110 -

17.1. graphitem.get - 110 -

18. 图形 - 112 -

18.1. graph.create - 112 -

18.2. graph.delete - 113 -

18.3. graph.get - 114 -

18.4. graph.update - 117 -

19. 原型图 - 118 -

19.1. graphprototype.create - 118 -

19.2. graphprototype.delete - 119 -

19.3. graphprototype.get - 120 -

19.4. graphprototype.update - 122 -

20. 模板聚合图形项 - 122 -

20.1. templatescreenitem.get - 122 -

21. 模板聚合图形 - 125 -

21.1. templatescreen.create - 125 -

21.2. templatescreen.delete - 126 -

21.3. templatescreen.get - 127 -

21.4. templatescreen.update - 130 -

21.5. templatescreen.copy - 130 -

21.6. templatescreen.isreadable - 131 -

21.7. templatescreen.iswritable - 132 -

22. 历史数据 - 132 -

22.1. history.get - 132 -

23. 用户 - 135 -

23.1. user.create - 135 -

23.2. user.delete - 136 -

23.3. user.get - 137 -

23.4. user.update - 139 -

23.5. user.updateprofile - 140 -

23.6. user.addmedia - 140 -

23.7. user.deletemedia - 141 -

23.8. user.updatemedia - 142 -

23.9. user.login - 143 -

23.10. user.logout - 145 -

23.11. user.isreadable - 146 -

23.12. user.iswritable - 146 -

24. 用户组 - 147 -

24.1. usergroup.create - 147 -

24.2. usergroup.delete - 148 -

24.3. usergroup.get - 149 -

24.4. usergroup.update - 151 -

24.5. usergroup.massadd - 152 -

24.6. usergroup.massupdate - 153 -

24.7. usergroup.isreadable - 154 -

24.8. usergroup.iswritable - 154 -

25. 用户宏 - 155 -

25.1. usermacro.create - 155 -

25.2. usermacro.delete - 156 -

25.3. usermacro.get - 157 -

25.4. usermacro.update - 158 -

25.5. usermacro.createglobal - 159 -

25.6. usermacro.deleteglobal - 160 -

25.7. usermacro.updateglobal - 161 -

26. 主机接口 - 161 -

26.1. hostinterface.create - 161 -

26.2. hostinterface.delete - 163 -

26.3. hostinterface.get - 163 -

26.4. hostinterface.update - 165 -

26.5. hostinterface.massadd - 166 -

26.6. hostinterface.massremove - 167 -

26.7. hostinterface.replacehostinterfaces - 168 -

27. 主机原型 - 169 -

27.1. hostprototype.create - 169 -

27.2. hostprototype.delete - 170 -

27.3. hostprototype.get - 171 -

27.4. hostprototype.update - 173 -

27.5. hostprototype.isreadable - 173 -

27.6. hostprototype.iswritable - 174 -

28. LLD规则(待写。。。) - 175 -

28.1. discoveryrule.copy - 175 -

28.2. discoveryrule.create - 176 -

28.3. discoveryrule.delete - 176 -

28.4. discoveryrule.get - 176 -

28.5. discoveryrule.update - 176 -

28.6. discoveryrule.isreadable - 176 -

28.7. discoveryrule.iswritable - 176 -

29. 应用集(待写。。。) - 176 -

29.1. application.create - 176 -

29.2. application.delete - 176 -

29.3. application.get - 176 -

29.4. application.update - 176 -

29.5. application.massadd - 176 -

 

1. 获取API版本

 

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. 关联(3.2版本开始有)

2.1. correlation.create

Description

该方法允许创建新的关联

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:

创建一个新的事件标签关联

{

    "jsonrpc": "2.0",

    "method": "correlation.create",

    "params": {  //这里通过传递JSON对象来作为特定方法的参数。如果你希望创建监控项,"name"和"key_"参数是需要的,每个方法需要的参数在Zabbix API文档中都有描述。

        "name": "new event tag correlation",//关联的名称(required)

        "filter": {    //关联的关联过滤对象(required)

            "evaltype": 0, //过滤条件评估方法。(required)

//0 - and/or;1 - and;2 - or;3 - custom expression.

            "conditions": [ //用于过滤结果的一组过滤条件(required)

                {

                    "type": 1,//条件类型.可能的值:(required) 

//0 - 旧事件标签
//1 - 新事件标签
//2 - 新事件主机组;
//3 - 事件标签对
//4 - 旧事件标签值;
//5 - 新的事件标签值

                    "tag": "ok"

                }

            ]

        },

        "operations": [   //创建关联的关联操作(required)

            {

                "type": 0    //操作类型.可能的值是:(required)
//0 - 关闭旧事件 ;1 - 关闭新事件

            }

        ]

    },

    "auth": "343baad4f88b4106b9b5961e77437688",   //这是一个认证令牌【authentication token】用以鉴别用户、访问API。这也是使用API进行相关操作的前提-获取认证ID

"id": 1    //这个字段用于绑定JSON请求和响应。响应会跟请求有相同的"id"。在一次性发送多个请求时很有用,这些也不需要唯一或者连续

}

 

实例二:

创建一个使用自定义过滤条件的关联。公式ID“A”或“B”已被任意选择。条件类型将为“主机组”与操作员

{

    "jsonrpc": "2.0",

    "method": "correlation.create",

    "params": {

        "name": "new host group correlation", //(required)

        "description": "a custom description",//关联的说明

        "status": 0,//关联是否被启用.

//可能的值是:0 - 默认启用 ;1 - 禁用

        "filter": {  //(required)

            "evaltype": 3, //(required)

            "formula": "A or B", //用于自定义表达式用于评估过滤条件的用户定义表达式。表达式必须包含通过其''公式'引用特定过滤条件的ID。表达式中使用的ID必须与过滤条件中定义的ID完全匹配:无条件可以保留未使用或省略。

            "conditions": [  //(required)

                {

                    "type": 2,  //(required)

                    "operator": 1,//条件运算符.条件类型为2,4,5时需要

                    "formulaid": "A"

                },

                {

                    "type": 2,

                    "operator": 1,

                    "formulaid": "B"  //用于从自定义表达式引用条件的任意唯一ID。只能包含大写字母。修改过滤条件时,用户必须定义ID,但是以后请求时会重新生成。

                }

            ]

        },

        "operations": [  //(required)

            {

                "type": 1  //(required)

            }

        ]

    },

    "auth": "343baad4f88b4106b9b5961e77437688",

"id": 1

}

 

返回值

 

返回一个对象,该对象包含“相关性”属性下创建的关联的ID。返回的ID的顺序与通过的相关性的顺序相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "correlationids": [

            "1"

        ]

    },

"id": 1

}

 

对应实例二:

{

    "jsonrpc": "2.0",

    "result": {

        "correlationids": [

            "2"

        ]

    },

"id": 1

}

 

2.2. correlation.delete

 

Description

该方法允许删除关联

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

 

示例一:

删除多个关联

{

    "jsonrpc": "2.0",

    "method": "correlation.delete",

    "params": [

        "1",    //要删除的关联的ID

        "2"

    ],

    "auth": "343baad4f88b4106b9b5961e77437688",

"id": 1

}

 

 

 

返回值

返回一个对象,该对象包含“相关性”属性下删除的关联的ID

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "correlaionids": [

            "1",

            "2"

        ]

    },

"id": 1

}

 

2.3. correlation.get

Description

该方法允许根据给定的参数获取关联

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

示例一:

获取所有配置的关联以及关联条件和操作。过滤器使用“和/或”评估类型,因此formula属性为空,“eval_formula”是自动生成的。

{

    "jsonrpc": "2.0",

    "method": "correlation.get",

    "params": {

        "output": "extend", //要返回的对象属性.默认为extend.

        "selectOperations": "extend",//返回“操作”属性中的关联操作

        "selectFilter": "extend" 返回“filter”属性中的关联过滤器

    },

    "auth": "343baad4f88b4106b9b5961e77437688",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "correlationid": "1", //仅返回给定ID的关联

            "name": "Correlation 1",

            "description": "",

            "status": "0",

            "filter": {

                "evaltype": "0",

                "formula": "",

                "conditions": [

                    {

                        "type": "3",

                        "oldtag": "error",//旧事件标签.条件类型为3时需要。

                        "newtag": "ok",//旧事件标签 条件类型为3时需要。

                        "formulaid": "A"

                    }

                ],

                "eval_formula": "A"  //生成的表达式将用于评估过滤条件。该表达式包含通过其“公式”引用特定过滤条件的ID。“eval_formula”的值等于具有自定义表达式的过滤器的“公式”值.

            },

            "operations": [

                {

                    "type": "0"

                }

            ]

        }

    ],

"id": 1

}

 

 

2.4. correlation.update

Description

该方法允许更新现有的相关性。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

 

示例一:

禁用关联

{

    "jsonrpc": "2.0",

    "method": "correlation.update",

    "params": {

        "correlationid": "1",//关联的ID

        "status": "1"

    },

    "auth": "343baad4f88b4106b9b5961e77437688",

"id": 1

}

 

示例二:

替换条件,但保持评估方法

{

    "jsonrpc": "2.0",

    "method": "correlation.update",

    "params": {   

        "correlationid": "1",

        "filter": {  //替换当前过滤器的关联过滤对象。

            "conditions": [  //

                {

                    "type": 3,

                    "oldtag": "error",

                    "newtag": "ok"

                }

            ]

        }

    },

    "auth": "343baad4f88b4106b9b5961e77437688",

"id": 1

}

 

返回值

返回一个对象,该对象包含“相关性”属性下更新的相关性的ID

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "correlationids": [

            "1"

        ]

    },

"id": 1

}

 

对应示例二:

{

    "jsonrpc": "2.0",

    "result": {

        "correlationids": [

            "1"

        ]

    },

"id": 1

}

 

3. 监控项

3.1. item.create

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": "Free disk space on $1", //(required)

        "key_": "vfs.fs.size[/home/joe/,free]",  //(required)

        "hostid": "30074",  //(required)

        "type": 0,  //(required)

        "value_type": 3,   //(required)

        "interfaceid": "30084",  //(required)

        "applications": [ //要添加项的应用程序的ID

            "609",

            "610"

        ],

        "delay": 30  //以秒为单位更新该项目的时间间隔。(required)

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"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": [

            "24758"

        ]

    },

"id": 1

}

 

对应实例二:

{

    "jsonrpc": "2.0",

    "result": {

        "itemids": [

            "24759"

        ]

    },

"id": 1

}

 

3.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

}

 

3.3. item.get

Description

该方法允许根据给定的参数检索监控项。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

示例一:通过 Key 查询 Items

从key中具有“system”一词的ID为“10084”的主机检索所有项,并按名称进行排序。

{

    "jsonrpc": "2.0",

    "method": "item.get",

    "params": {

        "output": "extend", 

        "hostids": "10084", //该项所属的主机 ID

        "search": {

            "key_": "system"  //Item key

        },

        "sortfield": "name" //按给定属性排序结果.可能值:itemid, name, key_, delay, history, trends, type and status.

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "itemid": "23298", //监控项ID

            "type": "0",    //item的类别.可能的值:
0 - Zabbix agent;
1 - SNMPv1 agent;
2 - Zabbix trapper;
3 - simple check;
4 - SNMPv2 agent;
5 - Zabbix internal;
6 - SNMPv3 agent;
7 - Zabbix agent (active);
8 - Zabbix aggregate;
9 - web item;
10 - external check;
11 - database monitor;
12 - IPMI agent;
13 - SSH agent;
14 - TELNET agent;
15 - calculated;
16 - JMX agent;
17 - SNMP trap.

            "snmp_community": "", //SNMP社区。 仅由SNMPv和SNMPv2项使用。

            "snmp_oid": "",

            "hostid": "10084",  //该项所属的主机 ID

            "name": "Context switches per second", //item的名称

            "key_": "system.cpu.switches", //Item key

            "delay": "60",  //以秒为单位更新该项目的时间间隔。

            "history": "7", //保留项目历史数据的天数。Default: 90.

            "trends": "365",//保留项目趋势数据的天数。 Default: 365.

            "lastvalue": "2552", //item的最后一个值。此属性将仅返回ZBX_HISTORY_PERIOD中配置的时间段的值

            "lastclock": "1351090998",//item上次更新时间。此属性将仅返回ZBX_HISTORY_PERIOD中配置的时间段的值

            "prevvalue": "2641",//item的上一个值。此属性将仅返回ZBX_HISTORY_PERIOD中配置的时间段的值

            "state": "0",//item声明.可能的值:
0 - (default) normal;
1 - not supported.

            "status": "0", //item状态.可能的值:
0 - (default) enabled item;
1 - disabled item.

            "value_type": "3",//item的信息类型。可能的值:
0 - numeric float;
1 - character;
2 - log;
3 - numeric unsigned;
4 - text.

            "trapper_hosts": "", //允许的主机。 仅由trapper items使用。

            "units": "sps", //Value units

            "multiplier": "0", //是否使用自定义乘数

            "delta": "1",//将被存储的值.可能的值:
0 - (default) as is;
1 - Delta, speed per second;
2 - Delta, simple change.

            "snmpv3_securityname": "",//SNMPv3安全名称。 仅用于SNMPv3项

            "snmpv3_securitylevel": "0",SNMPv3安全级别。 仅用于SNMPv3项.可能的值: 0 - noAuthNoPriv; 1 - authNoPriv; 2 - authPriv.

            "snmpv3_authpassphrase": "",//SNMPv3身份验证密码。仅用于SNMPv3项目

            "snmpv3_privpassphrase": "",//SNMPv3 priv密码。 仅用于SNMPv3项

            "snmpv3_authprotocol": "0",//SNMPv3认证协议 仅用于SNMPv3项。可能的值 0 - (default) MD5; 1 - SHA.

            "snmpv3_privprotocol": "0",SNMPv3隐私协议。 仅用于SNMPv3项.可能的值: 0 - (default) DES; 1 - AES.

            "snmpv3_contextname": "",//SNMPv3上下文名称。 仅用于SNMPv3项

            "formula": "1",//自定义乘数.Default: 1.

            "error": "",//如果更新项目时出现问题,则显示错误文本。

            "lastlogsize": "0",

            "logtimefmt": "",//日志条目中的时间格式。仅用于日志项。

            "templateid": "22680",//父模板项的ID

            "valuemapid": "0",//相关值图的ID

            "params": "", //附加参数取决于item的类型:SSH和Telnet items执行脚本;SQL查询数据库监视项;计算项公式.

            "ipmi_sensor": "",//IPMI传感器 仅由IPMI项使用

            "data_type": "0",//item的数据类型.可能的值:
0 - (default默认) decimal;
1 - octal;
2 - hexadecimal;
3 - boolean.

            "authtype": "0",//SSH认证方式。 仅用于SSH代理项.可能的值:0 - (default) password; 1 - public key.

            "username": "",//验证用户名。 用于简单检查,SSH,Telnet,数据库监控和JMX项.需要SSH和Telnet项目

            "password": "",//认证密码。 用于简单检查,SSH,Telnet,数据库监控和JMX项

            "publickey": "",//公钥文件的名称

            "privatekey": "",//私钥文件的名称

            "mtime": "0",//受监控日志文件上次更新的时间。 仅用于日志项。

            "lastns": "564054253",//item上次更新时的纳秒.此属性将仅返回ZBX_HISTORY_PERIOD中配置的时间段的值。

            "flags": "0",//item的来源.可能的值
0 - a plain item;
4 - a discovered item.

            "interfaceid": "1",//项主机接口的ID。 仅用于主机项。适用于Zabbix代理(活动),Zabbix内部,Zabbix陷阱,Zabbix聚合,数据库监控和计算项。

            "port": "",//由项监视的端口。 仅由SNMP项使用。

            "description": "",//item说明

            "inventory_link": "0",//由item填充的主机库存字段的ID。请参阅主机清单页面以获取支持的主机清单字段及其ID的列表。Default: 0.

            "lifetime": "0",

            "evaltype": "0"

        },

        {

            "itemid": "23299",

            "type": "0",

            "snmp_community": "",

            "snmp_oid": "",

            "hostid": "10084",

            "name": "CPU $2 time",

            "key_": "system.cpu.util[,idle]",

            "delay": "60",

            "history": "7",

            "trends": "365",

            "lastvalue": "86.031879",

            "lastclock": "1351090999",

            "prevvalue": "85.306944",

            "state": "0",

            "status": "0",

            "value_type": "0",

            "trapper_hosts": "",

            "units": "%",

            "multiplier": "0",

            "delta": "0",

            "snmpv3_securityname": "",

            "snmpv3_securitylevel": "0",

            "snmpv3_authpassphrase": "",

            "snmpv3_privpassphrase": "",

            "snmpv3_authprotocol": "0",

            "snmpv3_privprotocol": "0",

            "snmpv3_contextname": "",

            "formula": "1",

            "error": "",

            "lastlogsize": "0",

            "logtimefmt": "",

            "templateid": "17354",

            "valuemapid": "0",

            "params": "",

            "ipmi_sensor": "",

            "data_type": "0",

            "authtype": "0",

            "username": "",

            "password": "",

            "publickey": "",

            "privatekey": "",

            "mtime": "0",

            "lastns": "564256864",

            "flags": "0",

            "interfaceid": "1",

            "port": "",

            "description": "The time the CPU has spent doing nothing.",

            "inventory_link": "0",

            "lifetime": "0",

            "evaltype": "0"

        },

        {

            "itemid": "23300",

            "type": "0",

            "snmp_community": "",

            "snmp_oid": "",

            "hostid": "10084",

            "name": "CPU $2 time",

            "key_": "system.cpu.util[,interrupt]",

            "delay": "60",

            "history": "7",

            "trends": "365",

            "lastvalue": "0.008389",

            "lastclock": "1351091000",

            "prevvalue": "0.000000",

            "state": "0",

            "status": "0",

            "value_type": "0",

            "trapper_hosts": "",

            "units": "%",

            "multiplier": "0",

            "delta": "0",

            "snmpv3_securityname": "",

            "snmpv3_securitylevel": "0",

            "snmpv3_authpassphrase": "",

            "snmpv3_privpassphrase": "",

            "snmpv3_authprotocol": "0",

            "snmpv3_privprotocol": "0",

            "snmpv3_contextname": "",

            "formula": "1",

            "error": "",

            "lastlogsize": "0",

            "logtimefmt": "",

            "templateid": "22671",

            "valuemapid": "0",

            "params": "",

            "ipmi_sensor": "",

            "data_type": "0",

            "authtype": "0",

            "username": "",

            "password": "",

            "publickey": "",

            "privatekey": "",

            "mtime": "0",

            "lastns": "564661387",

            "flags": "0",

            "interfaceid": "1",

            "port": "",

            "description": "The amount of time the CPU has been servicing hardware interrupts.",

            "inventory_link": "0",

            "lifetime": "0",

            "evaltype": "0"

        }

    ],

"id": 1

}

 

3.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

}

 

3.5. item.isreadable

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

}

 

3.6. item.iswritable

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

}

 

4. 主机

4.1. host.create

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", //主机的正式名称(required)

        "interfaces": [     //为主机创建的接口。(required)

            {

                "type": 1,//接口类型.可能的值是:
1 - agent;
2 - SNMP;
3 - IPMI;
4 - JMX.

                "main": 1, //该接口是否在主机上用作默认接口。主机上只能有一种类型的接口作为默认设置。可能的值是:
0 - not default; 不是默认值;1 - default.默认

                "useip": 1, //是否应通过IP进行连接。:可能的值是: 0 - 连接使用主机DNS名称;
         1 - 使用该主机接口的主机IP地址进行连接。

                "ip": "192.168.3.1",//接口使用的IP地址。如果通过DNS进行连接,可以为空。

                "dns": "", //接口使用的DNS名称。如果通过IP进行连接,则可以为空。

                "port": "10050"  //接口使用的端口号。 可以包含用户宏。

            }

        ],

        "groups": [  //将主机添加到主机组中。主机组必须已定义groupid属性。(required)

            {

                "groupid": "50"

            }

        ],

        "templates": [   //链接到主机的模板。模板必须已定义过templateid属性。

            {

                "templateid": "20045"

            }

        ],

        "inventory_mode": 0, //主机资产清单群体模式.可能的值:
-1 - disabled; 已禁用;
0 - (default) manual;(默认)手动;
1 - automatic. 自动。

        "inventory": {    //主机资产清单属性。

            "macaddress_a": "01234",//MAC地址A。

            "macaddress_b": "56768"//MAC地址B。

        }

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回一个对象其中包含在hostids属性下已创建主机的ID。返回ID的命令与传递主机的命令相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "hostids": [

            "107819"

        ]

    },

"id": 1

}

 

4.2. host.delete

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": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回一个对象其中包含在hostids属性下已删除主机的ID。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "hostids": [

            "13",

            "32"

        ]

    },

"id": 1

}

 

4.3. host.get

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": "host.get",

    "params": {

        "filter": {

            "host": [

                "Zabbix server",

                "Linux server"

            ]

        }

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

示例二:检索主机组

检索主机“Zabbix server”隶属于的组名,但是不检索主机本身的详情。

{

    "jsonrpc": "2.0",

    "method": "host.get",

    "params": {

        "output": ["hostid"],

        "selectGroups": "extend",//返回在groups属性中主机所属的主机组。

        "filter": {

            "host": [

                "Zabbix server"

            ]

        }

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 2

}

 

示例三:检索相关模板

检索主机“10084”相关模板的ID和名称。

{

    "jsonrpc": "2.0",

    "method": "host.get",

    "params": {

        "output": ["hostid"],

        "selectParentTemplates": [ //返回在parentTemplates属性中与主机关联的模板。支持count。

            "templateid",

            "name"

        ],

        "hostids": "10084"

    },

    "id": 1,

"auth": "70785d2b494a7302309b48afcdb3a401"

}

 

示例四:根据主机资产清单数据搜索

检索在资产清单“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": [

        {

            "maintenances": [],

            "hostid": "10160", //(只读)主机的ID。

            "proxy_hostid": "0",//用于监控主机的代理服务器 ID。

            "host": "Zabbix server",//主机的正式名称。(required)

            "status": "0",//主机的状态和功能。可能的值为:
0 - (default) monitored host;
1 - unmonitored host.

            "disable_until": "0",//(只读)对失效Zabbix agent下一次的轮询时间。

            "error": "",//(只读)Zabbix agent失效的错误文本。

            "available": "0",//(只读)Zabbix agent的可用性。可能的值为:
           0 - (default) unknown;(默认)未知;
           1 - available; 可用;
           2 - unavailable.失效

            "errors_from": "0",//(只读)当Zabbix agent失效时的时间。

            "lastaccess": "0", //代理上次连接到服务器的时间。

            "ipmi_authtype": "-1",//IPMI认证算法。可能的值为:
-1 - (default) default;
0 - none;无;
1 - MD2;
2 - MD5
4 - straight; 直连;
5 - OEM;原厂;
6 - RMCP+. 远程管理控制协议。

            "ipmi_privilege": "2",//IPMI特权级别。可能的值为:
1 - callback;回调;
2 - (default) user;(默认)用户;
3 - operator;操作员;
4 - admin;管理员;
5 - OEM. 原厂。

            "ipmi_username": "",//IPMI用户名。

            "ipmi_password": "",//IPMI密码。

            "ipmi_disable_until": "0",//(只读)对失效IPMI agent下一次的轮询时间。

            "ipmi_available": "0",//(只读)IPMI agent的可用性。可能的值为:0 - (default) unknown;(默认)未知;
                  1 - available;可用;

2 - unavailable. 失效。

            "snmp_disable_until": "0",//(只读)对失效SNMP agent下一次的轮询时间。

            "snmp_available": "0",(只读)SNMP agent的可用性。可能的值为:0 - (default) unknown;(默认)未知;
                1 - available;可用;
                2 - unavailable. 失效。

            "maintenanceid": "0",//(只读)当前对主机起效的管理ID。

            "maintenance_status": "0",//(只读)有效管理的状态。可能的值为:
          0 - (default) no maintenance;(默认)管理断开;
          1 - maintenance in effect.管理有效。

            "maintenance_type": "0",//(只读)有效管理的类型。可能的值为:
0 - (default) maintenance with data collection;(默认)有数据收集的管理;
1 - maintenance without data collection. 没有数据收集的管理。

            "maintenance_from": "0",//(只读)开始有效管理的时间。

            "ipmi_errors_from": "0",//(只读)当IPMI agent失效时的时间。

            "snmp_errors_from": "0",//(只读)当SNMP agent失效时的时间。

            "ipmi_error": "",//(只读)IPMI agent失效的错误文本。

            "snmp_error": "",//(只读)SNMP agent失效的错误文本。

            "jmx_disable_until": "0",//(只读)对失效JMX agent下一次的轮询时间。

            "jmx_available": "0",//(只读)JMX agent的可用性。可能的值为:0 - (default) unknown;(默认)未知;
                1 - available;可用;
                2 - unavailable.失效。

            "jmx_errors_from": "0",//(只读)当JMX agent失效时的时间。

            "jmx_error": "",//(只读)JMX失效的错误文本。

            "name": "Zabbix server",//主机显示名称。

            "description": "The Zabbix monitoring server.",//主机说明。

            "tls_connect": "1",

            "tls_accept": "1",

            "tls_issuer": "",//证书颁布者。

            "tls_subject": "",//证书标题

            "tls_psk_identity": "",//PSK身份,若要启用tls_connect或tls_accept,就必须启用PSK。

            "tls_psk": ""//PSK至少需要32位16进制数字构成。若要启用tls_connect或tls_accept,就必须启用PSK。

        },

        {

            "maintenances": [],

            "hostid": "10167",

            "proxy_hostid": "0",

            "host": "Linux server",

            "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": "Linux server",

            "description": "",

            "tls_connect": "1",

            "tls_accept": "1",

            "tls_issuer": "",

            "tls_subject": "",

            "tls_psk_identity": "",

            "tls_psk": ""

        }

    ],

"id": 1

}

 

对应示例二:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "hostid": "10085",

            "groups": [

                {

                    "groupid": "2",

                    "name": "Linux servers",

                    "internal": "0",

                    "flags": "0" //(只读)主机的来源。可能的值为:
0 - a plain host; 普通主机;
4 - a discovered host.自动发现的主机。

                },

                {

                    "groupid": "4",

                    "name": "Zabbix servers",

                    "internal": "0",

                    "flags": "0"

                }

            ]

        }

    ],

"id": 2

}

 

对应示例三:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "hostid": "10084",

            "parentTemplates": [

                {

                    "name": "Template OS Linux",

                    "templateid": "10001"

                },

                {

                    "name": "Template App Zabbix Server",

                    "templateid": "10047"

                }

            ]

        }

    ],

"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

}

 

4.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": "038e1d7b1735c6a5436ee9eae095879e",

"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

}

 

4.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

}

 

4.6. host.massremove

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": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回一个对象其中包含在hostids属性下已更新主机的ID。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "hostids": [

            "69665",

            "69666"

        ]

    },

"id": 1

}

 

4.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

}

 

4.8. host.isreadable

Description

该方法检查给定的主机是否可用于读取。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:检查多个主机

检查两台主机是否可读。

{

    "jsonrpc": "2.0",

    "method": "host.isreadable",

    "params": [

        "143",

        "943"

    ],

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

如果给定的主机可用于读取,则返回true

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": true,

"id": 1

}

 

4.9. host.iswritable

Description

该方法检查给定主机是否可用于写入。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:检查多个主机

检查两台主机是否可写。

{

    "jsonrpc": "2.0",

    "method": "host.iswritable",

    "params": [

        "143",  //主机

        "943"

    ],

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

如果给定主机可用于写入,则返回true。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": true,

"id": 1

}

 

5. 主机组

5.1. hostgroup.create

Description

此方法允许创建新的主机组。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:创建主机组

创建一个名为“Linux servers”的主机组。

{

    "jsonrpc": "2.0",

    "method": "hostgroup.create",

    "params": {

        "name": "Linux servers" //主机组的名称(required)

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回包含“groupids”属性下创建的主机组的ID的对象。返回的ID的顺序与传递的主机组的顺序相匹配。 

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "groupids": [

            "107819"  //主机组的ID

        ]

    },

"id": 1

}

 

5.2. hostgroup.delete

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": "3a57200802b24cda67c4e4010b50c065",

"id": 1

}

 

返回值

返回包含“groupids”属性下删除的主机组的ID的对象。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "groupids": [

            "107824",

            "107825"

        ]

    },

"id": 1

}

 

5.3. hostgroup.get

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": "6f38cddc44cfbb6c1bd186f9a220b5a0",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数.

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "groupid": "2",

            "name": "Linux servers",

            "internal": "0"  //该组是否由系统内部使用。无法删除内部组。(readonly).可能的额值:
0 - (default默认) not internal;不是内部的
1 - internal.内部的

        },

        {

            "groupid": "4",

            "name": "Zabbix servers",

            "internal": "0"

        }

    ],

"id": 1

}

 

5.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

}

 

5.5. hostgroup.massadd

Description

该方法允许同时向所有给定的主机组添加多个相关对象。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:将主机添加到主机组

将两个主机添加到ID为5和6的主机组。

{

    "jsonrpc": "2.0",

    "method": "hostgroup.massadd",

    "params": {

        "groups": [ //要更新的主机组。主机组必须定义“groupid”属性。(required)

            {

                "groupid": "5"

            },

            {

                "groupid": "6"

            }

        ],

        "hosts": [  //添加到主机组的所有主机。

            {

                "hostid": "30050"

            },

            {

                "hostid": "30001"

            }

        ]

    },

    "auth": "f223adf833b2bf2ff38574a67bba6372",

"id": 1

}

 

返回值

返回包含“groupids”属性下更新的主机组的ID的对象。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "groupids": [

            "5",

            "6"

        ]

    },

"id": 1

}

 

5.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

}

 

5.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

}

 

5.8. hostgroup.isreadable

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

}

 

5.9. hostgroup.iswritable

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

}

 

6. Web场景

6.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

}

 

6.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

}

 

6.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

}

 

6.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

}

 

6.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

}

 

6.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

}

 

7. 模板

7.1. template.create

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": "Linux template",  //模板的技术性名称.(required)

        "groups": {  //将模板添加到主机组.主机组必须定义groupid属性。(required)

            "groupid": 1

        },

        "hosts": [  //链接模板的主机.

            {

                "hostid": "10084"

            },

            {

                "hostid": "10090"

            }

        ]

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回一个对象,它包含templateids属性下创建的模板的ID,返回的ID的顺序与传递的模板的顺序相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "templateids": [  //要链接到模板的模板.模板必须定义templateid属性.

            "10086"

        ]

    },

"id": 1

}

 

7.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

}

 

7.3. template.get

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": "038e1d7b1735c6a5436ee9eae095879e",

"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", //模板的ID。

            "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

}

 

7.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

}

 

7.5. template.massadd

Description

该方法允许同时向给定的模板添加多个相关对象。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:将模板添加到组

将两个模板添加到主机组“2”。

{

    "jsonrpc": "2.0",

    "method": "template.massadd",

    "params": {

        "templates": [  //要更新的模板.模板必须定义templateid属性.(required)

            {

                "templateid": "10085"

            },

            {

                "templateid": "10086"

            }

        ],

        "groups": [  //主机组添加指定的模板.主机组必须定义groupid属性.

            {

                "groupid": "2"

            }

        ]

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

示例二:将模板链接到主机

链接模板“10073”到两个主机。

{

    "jsonrpc": "2.0",

    "method": "template.massadd",

    "params": {

        "templates": [  //要更新的模板.模板必须定义templateid属性.(required)

            {

                "templateid": "10073"

            }

        ],

        "hosts": [  //将给定模板链接到的主机和模板.主机必须定义hostid属性.(required)

 

            {

                "hostid": "10106"

            },

            {

                "hostid": "10104"

            }

        ]

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回一个对象,它包含templateids属性下更新的模板的ID

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "templateids": [

            "10085",

            "10086"

        ]

    },

"id": 1

}

 

对应示例二:

{

    "jsonrpc": "2.0",

    "result": {

        "templateids": [

            "10073"

        ]

    },

"id": 1

}

 

7.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

}

 

7.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

}

 

7.8. template.isreadable

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

        "10081"

    ],

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

如果给定模板可用于读取,则返回true。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": true,

"id": 1

}

 

7.9. template.iswritable

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

        "10081"

    ],

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

如果给定模板可用于写入,则返回true。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": true,

"id": 1

}

 

8. 发现主机

8.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

}

 

9. 发现服务

9.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

}

 

10. 发现检查

10.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

}

 

11. 发现规则

11.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

}

 

11.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

}

 

11.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

}

 

11.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

}

 

11.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

}

 

11.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

}

 

 

12. 应用集

12.1. application.create

Description

此方法允许创建新的应用集。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:创建一个应用集

创建一个应用集来存储 SNMP 监控项。

{

    "jsonrpc": "2.0",

    "method": "application.create",

    "params": {

        "name": "SNMP Items",  //应用集名称。(required)

        "hostid": "10050"  //应用集所属主机的 ID。 不能进行更新。(required)

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回包含applicationids属性下创建的应用集ID的对象。返回的ID的顺序与传递的应用集的顺序相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "applicationids": [

            "356"

        ]

    },

"id": 1

}

 

12.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

}

 

12.3. application.get

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": "10001",  //只返回指定主机所属的应用集。

        "sortfield": "name"  //使用规定的属性将结果分类。可能的值:applicationid 和name。

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数.

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "applicationid": "13",  //(只读)应用集的 ID

            "hostid": "10001",  //应用集所属主机的 ID。 不能进行更新。

            "name": "CPU",  //应用集名称。

            "templateids": []  //(只读) 上级模板应用集的 ID。

        },

        {

            "applicationid": "5",

            "hostid": "10001",

            "name": "Filesystems",

            "templateids": []

        },

        {

            "applicationid": "21",

            "hostid": "10001",

            "name": "General",

            "templateids": []

        },

        {

            "applicationid": "15",

            "hostid": "10001",

            "name": "Memory",

            "templateids": []

        },

    ],

"id": 1

}

 

12.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

}

 

12.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

}

 

13. 触发器

13.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

}

 

13.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

}

 

13.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": "038e1d7b1735c6a5436ee9eae095879e",

"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

}

 

13.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

}

 

 

13.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

}

 

 

13.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

}

 

 

13.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

}

 

 

13.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

}

 

 

14. 图像

14.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

}

 

14.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

}

 

14.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

}

 

14.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

}

 

15. 聚合图形项目

15.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

}

 

15.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

}

 

15.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

}

 

15.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

}

 

15.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

}

 

15.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

}

 

 

15.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

}

 

16. 聚合图形

16.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

}

 

16.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

}

 

16.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

}

 

16.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

}

 

17. 图形项

17.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

}

 

18. 图形

18.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

}

 

18.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

}

 

18.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

}

 

18.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

}

 

19. 原型图

19.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

}

 

19.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

}

 

19.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

}

 

19.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

}

 

20. 模板聚合图形项

20.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

}

 

21. 模板聚合图形

21.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

}

 

21.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

}

 

21.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

}

 

21.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

}

 

21.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

}

 

21.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

}

 

21.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

}

 

22. 历史数据

22.1. history.get

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,  //要返回的历史对象类型。可能的值
0 - numeric float;数字浮点数
1 - character;字符
2 - log; 日志
3 - numeric unsigned; 数字
4 - text.文本

Default: 3;

        "itemids": "23296",  //只返回给定项的历史记录。

        "sortfield": "clock",  //按照给定的属性对结果进行排序。 可能的值为:"itemid"和"clock"。

        "sortorder": "DESC",

        "limit": 10

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

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

 

23. 用户

23.1. user.create

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": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回包含userids属性下创建的用户的ID的对象。返回的ID的顺序与传递的用户的顺序相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "userids": [

            "12"

        ]

    },

"id": 1

}

 

23.2. user.delete

Description

该方法允许删除用户。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:删除多个用户

删除两个用户。

{

    "jsonrpc": "2.0",

    "method": "user.delete",

    "params": [

        "1",

        "5"

    ],

    "auth": "3a57200802b24cda67c4e4010b50c065",

"id": 1

}

 

返回值

回包含userids属性下已删除用户的ID的对象。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "userids": [

            "1",

            "5"

        ]

    },

"id": 1

}

 

23.3. user.get

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": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数.

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "userid": "1",  //(只读)用户的ID。

            "alias": "Admin",  //用户别名。

            "name": "Zabbix",  //用户的名称。

            "surname": "Administrator",  //用户的姓氏。

            "url": "",  //登录后将用户重定向到的页面的URL。

            "autologin": "1",  //是否启用自动登录。可能值:0 - (默认)自动登录禁用;

1 - 启用自动登录。

            "autologout": "0",  //用户会话生存时间,以秒为单位如果设置为0,则会话永远不会过期。默认值:900。

            "lang": "ru_RU",  //用户语言的语言代码。默认:en_GB。

            "refresh": "0",  //自动刷新周期,以秒为单位。默认:30。

            "type": "3",  //用户类型。可能的值:

1 - (默认)Zabbix用户;

2 - Zabbix管理员;

3 - Zabbix超级管理员。

            "theme": "default",  //用户的主题。可能值:

默认 - (默认)系统默认值;蓝色主题 - 蓝色;

黑色主题 - 黑暗。

            "attempt_failed": "0",  //(只读)最近失败的登录尝试次数。

            "attempt_ip": "",  //(只读)最后一次不成功的登录尝试来自哪里的IP地址。

            "attempt_clock": "0",  //(只读)最后一次不成功的登录尝试的时间。

            "rows_per_page": "50"  //每页显示的对象行数。Default: 50.

        },

        {

            "userid": "2",

            "alias": "guest",

            "name": "Default2",

            "surname": "User",

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

        }

    ],

"id": 1

}

 

23.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

}

 

 

23.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

}

 

23.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

}

 

23.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

}

 

23.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

}

 

23.9. user.login

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": "0424bd59b807674191e7d77572075f33",  //应该记住生成的身份验证令牌并将其用于以下JSON-RPC请求的auth参数。使用HTTP身份验证时也是必需的。

"id": 1

}

 

对应示例二:

{

    "jsonrpc": "2.0",

    "result": {

        "userid": "1",

        "alias": "Admin",

        "name": "Zabbix",

        "surname": "Administrator",

        "url": "",

        "autologin": "1",

        "autologout": "0",

        "lang": "ru_RU",

        "refresh": "0",

        "type": "3",

        "theme": "default",

        "attempt_failed": "0",

        "attempt_ip": "127.0.0.1",

        "attempt_clock": "1355919038",

        "rows_per_page": "50",

        "debug_mode": true,  //是否为用户启用调试模式。

        "userip": "127.0.0.1",  //用户的IP地址。

        "sessionid": "5b56eee8be445e98f0bd42b435736e42",  //身份验证令牌,必须在以下API请求中使用。

        "gui_access": "0"  //用户对前端的认证方法。参阅用户组对象的gui_access属性以获取可能值的列表。

    },

"id": 1

}

 

23.10. user.logout

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

}

 

23.11. user.isreadable

Description

该方法检查给定的用户是否可用于阅读。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:检查多个用户

检查两个用户是否可读。

{

    "jsonrpc": "2.0",

    "method": "user.isreadable",

    "params": [

        "4",  //要检查的用户的ID。

        "6"

    ],

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

如果给定的用户可以阅读,则返回true。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": true,

"id": 1

}

 

23.12. user.iswritable

Description

该方法检查给定的用户是否可用于写入。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:检查多个用户

检查两个用户是否可写。

{

    "jsonrpc": "2.0",

    "method": "user.iswritable",

    "params": [

        "4",

        "6"

    ],

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

如果给定的用户可用于写入,则返回true。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": true,

"id": 1

}

 

24. 用户组

24.1. usergroup.create

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",  //用户组的名称(required)

        "rights": {  //分配给组的权限

            "permission": 0,  //(required)访问到主机组的级别。可能的值: 0 - 拒绝访问;
               2 - 只读访问;
               3 - 读写访问.

            "id": "2"  //要添加权限的主机组的ID。(required)

        },

        "userids": "12"  //要添加到用户组的用户的ID。

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回包含“usrgrpids”属性下创建的用户组的ID的对象。返回的ID的顺序与传递的用户组的顺序相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "usrgrpids": [

            "20"

        ]

    },

"id": 1

}

 

24.2. usergroup.delete

Description

此方法允许删除用户组。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:删除多个用户组

删除两个用户组。

{

    "jsonrpc": "2.0",

    "method": "usergroup.delete",

    "params": [

        "20",  //要删除的用户组的ID。

        "21"

    ],

    "auth": "3a57200802b24cda67c4e4010b50c065",

"id": 1

}

 

返回值

返回包含“usrgrpids”属性下删除的用户组的ID的对象。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "usrgrpids": [

            "20",

            "21"

        ]

    },

"id": 1

}

 

24.3. usergroup.get

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": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数.

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

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

            "name": "Zabbix administrators",  //用户组的名称

            "gui_access": "0",  //组中用户的前端身份验证方法。 可能的值:0 - (默认) 使用系统默认身份验证方法;
              1 - 使用内部认证;
              2 - 禁止访问前端。

            "users_status": "0",  //用户组是启用还是禁用。 可能的值: 0 - (默认) 启用;
           1 - 禁用.

            "debug_mode": "1"  //是否启用或禁用调试模式。
可能的值: 0 - (默认) 禁用;
           1 - 启用.

        },

        {

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

        },

        {

            "usrgrpid": "14",

            "name": "Read only",

            "gui_access": "0",

            "users_status": "0",

            "debug_mode": "0"

        },

        {

            "usrgrpid": "18",

            "name": "Deny",

            "gui_access": "0",

            "users_status": "0",

            "debug_mode": "0"

        }

    ],

"id": 1

}

 

24.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

}

 

24.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

}

 

24.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

}

 

24.7. usergroup.isreadable

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

}

 

24.8. usergroup.iswritable

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

}

 

25. 用户宏

25.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

}

 

25.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

}

 

25.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

}

 

25.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

}

 

25.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

}

 

25.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

}

 

25.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

}

 

26. 主机接口

26.1. hostinterface.create

Description

该方法允许创建新的主机接口。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

 

示例一:创建一个新的接口

在主机“30052”上创建一个辅助IP代理接口。 

{

    "jsonrpc": "2.0",

    "method": "hostinterface.create",

    "params": {

        "hostid": "30052",  //接口所属主机的ID。(required)

        "dns": "",  //.接口使用的DNS名称。 如果通过IP进行连接,则可以为空。(required)

        "ip": "127.0.0.1",  //接口使用的IP地址。 如果通过DNS进行连接,可以为空。(required)

        "main": 0,  //(required)该接口是否在主机上用作默认接口。主机上只能有一种类型的接口作为默认设置。可能的值是:0 - not default; 不是默认值
    1 - default.默认

        "port": "10050",  //接口使用的端口号。 可以包含用户宏。(required)

        "type": 1,  //(required)接口类型.可能的值是:

1 - agent;
2 - SNMP;
3 - IPMI;
4 - JMX.

        "useip": 1  //(required)是否应通过IP进行连接。可能的值是: 0 - 连接使用主机DNS名称;
           1 - 使用该主机接口的主机IP地址进行连接。     

},

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

 

返回一个包含“interfaceids”属性下创建的主机接口的ID的对象。返回的ID的顺序与传递的主机接口的顺序相匹配。

Response

 

对应示例一:

{

    "jsonrpc": "2.0",

    "result": {

        "interfaceids": [

            "30062"

        ]

    },

"id": 1

}

 

26.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

}

 

26.3. hostinterface.get

Description

该方法允许根据给定的参数检索主机接口。

请求方法

POST

URL

http://192.168.3.132/zabbix/api_jsonrpc.php

Content-Type

application/json

Request

示例一:检索主机接口

检索主机“30057”使用的接口的所有数据。 

{

    "jsonrpc": "2.0",

    "method": "hostinterface.get",

    "params": {

        "output": "extend",

        "hostids": "30057"  //仅返回给定主机使用的主机接口。

    },

    "auth": "038e1d7b1735c6a5436ee9eae095879e",

"id": 1

}

 

返回值

返回其中之一:

一组对象;

如果已经使用“countOutput”参数,则返回检索到的对象的计数.

Response

对应示例一:

{

    "jsonrpc": "2.0",

    "result": [

        {

            "interfaceid": "30050",  //接口的ID。

            "hostid": "30057",

            "main": "1",

            "type": "1",

            "useip": "1",

            "ip": "127.0.0.1",

            "dns": "",

            "port": "10050",

            "bulk": "1"  //是否使用批量SNMP请求。 可能的值是:0 - 不要使用批量请求;
    1 - (default)使用批量请求;

        },

        {

            "interfaceid": "30067",

            "hostid": "30057",

            "main": "0",

            "type": "1",

            "useip": "0",

            "ip": "",

            "dns": "localhost",

            "port": "10050",

            "bulk": "1"

        },

        {

            "interfaceid": "30068",

            "hostid": "30057",

            "main": "1",

            "type": "2",

            "useip": "1",

            "ip": "127.0.0.1",

            "dns": "",

            "port": "161",

            "bulk": "1"

        }

    ],

"id": 1

}

 

26.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

}

 

26.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

}

 

26.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

}

 

26.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

}

 

27. 主机原型

27.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

}

 

27.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

}

 

27.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

}

 

27.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

}

 

27.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

}

 

27.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

}

 

28. LLD规则(待写。。。)

28.1. discoveryrule.copy

28.2. discoveryrule.create

28.3. discoveryrule.delete

28.4. discoveryrule.get

28.5. discoveryrule.update

28.6. discoveryrule.isreadable

28.7. discoveryrule.iswritable

你可能感兴趣的:(Zabbix服务监控,Zabbix监控服务,zabbix,监控服务,系统接口)