Áú»¢¶Ä²©

This is a translation of the original English documentation page. Help us make it better.

19. API

?????

??API ?? Áú»¢¶Ä²© ????? ?? ????? ?????? ????? ?????? ?? ??????? ?? Áú»¢¶Ä²© ????? ???? ?????? ???. ?????? ????? ?? ??? ?????:

  • ????? ??????? ????? ??? ?????? ??? Áú»¢¶Ä²©;
  • ????? Áú»¢¶Ä²© ??????? ????????;
  • ????? ???????? ??????? ????????.

??API ?? Áú»¢¶Ä²© ???? ??????? ??? ???? ??? ?????? ?????. ??? ????? ????????? JSON-RPC 2.0 ??? ???? ??? ?????:

  • ??API ????? ?????? ?? ?????? ??????;
  • ????? ??????? ??? ??????? ???API ??????? ?????? JSON.

???? ????? ???? ???? ?? JSON ? ??.

????

??API ????? ????? ?????? ???????? ???????? ?????? API ??????. ?? ??? ???????? ????? ????? ?????? ???. ????, ?????? host.create ????? ??API ?? host ???? ????? ?????? ?????? ?????. ?????? ????????, ????? API ?????? ?????? ???????¡±.

??? ????? ??API ?????? ????? ???? ??????: get, create, update ??delete ??????, ?????, ????? ?????? ?? ?????? ??????, ?? ??? ?????? ??API ?????? ???? ???? ???? ????? ?? ??????.

?????

?????? ?? ???? ????? ???? ?????? ???? ????? ?????? ????? ???? ???????? ?? ?????. ??? ????? ?? ??, ??? ?? ???? ?????? ??????? ???? ?????, ????? ? ????? ??? ????? ??? ?? ????? ??? ????? ??? ???????? widget. ???? ????? ?? ?? ????? ??????, ???? ?? ?????? ????? ??? ??? ?????? ????????? ?? ????? ?????? ????.

?????? ?? ???? ?? ????? ???? (????? ???'), ?? ?? ???? ?????? ????? ?????? - ??? ????? ?? ??? ?????? ?????.

??? ????? ??????

????? ??? ????? ??? ?? ???? ??????? ????? ???? ?????.

?????

??? ???? ??????? ????? ?-Zabix, ??? ????:

??????, ?? ???? ????? ?????? ????? ??? ?? ??? ????? ?????? ????? ???????, ???? JSON ????? ??:

{
            "jsonrpc": "2.0",
            "method": "user.login",
            "params": {
                "username": "????",
                "?????": "zabbix"
            },
            "????": 1,
            "auth": null
       }

???? ????? ????? ?? ??????? ?????. ?? ?? ?? ?????? ????? ?????:

  • jsonrpc - ????? ?? ???????? JSON-RPC ?????? ?? ?-API; ?-API ?? Áú»¢¶Ä²© ????? JSON-RPC ???? 2.0;
  • ???? - ???? ?-API ??????;
  • params - ??????? ??????? ????? ?-API;
  • id - ???? ??????? ?? ?????;
  • auth - ?????? ????? ?????; ?????? ?????? ??? ??? ???, ??? ????? ?'null'.

?? ????? ?? ???????? ????? ?????, ?????? ??????? ?? ??? ? API ???? ?? ?????? ????? ??????:

{
            "jsonrpc": "2.0",
            "result": "0424bd59b807674191e7d77572075f33",
            "????": 1
       }

??????? ?????? ???? ????? ?? ????????? ?????:

  • jsonrpc - ???, ????? ?? ???????? JSON-RPC;
  • ????? - ??????? ???????? ?? ??? ?????;
  • ???? - ???? ?? ????? ???????.

????? ??????

??? ?? ??? ?????? ????? ????? ???? ????? ?????? ?? ??? ???? ??????? ?-Zabix. ??????, ???? ????? ?- ???? host.get ??? ????? ?? ??????, ???? ?????? ??????? ?? ?? ???????? ??????:

{
            "jsonrpc": "2.0",
            "method": "host.get",
            "params": {
                "???": [
                    "hostid",
                    "????"
                ],
                "selectInterfaces": [
                    "interfaceid",
                    "ip"
                ]
            },
            "????": 2,
            "auth": "0424bd59b807674191e7d77572075f33"
       }

::: ???? ???? ???? ?? ???????? 'auth' ????? ??? ?- ?????? ????? ?????? ???????? user.login. :::

??????? ?????? ???? ?? ??????? ???????? ?? ???????:

{
            "jsonrpc": "2.0",
            "?????": [
                {
                    "hostid": "10084",
                    "host": "??? Áú»¢¶Ä²©",
                    "??????": [
                        {
                            "interfaceid": "1",
                            "ip": "127.0.0.1"
                        }
                    ]
                }
            ],
            "????": 2
       }

????? ??????? ??? ??????? ????? ???? ?? ??????? ??????? ??????? ????? ??????? ?????? ???.

????? ???? ???

???? ????? ???? ??? ?-Áú»¢¶Ä²© server" ??????? ??????? ?????? ??-host.get ????? ?????????. ???? ????? ??? ?? ??? ????? ?- ???? item.create:

{
            "jsonrpc": "2.0",
            "method": "item.create",
            "params": {
                "name": "??? ???? ???? ?-/home/joe/",
                "key_": "vfs.fs.size[/home/joe/,free]",
                "hostid": "10084",
                "???": 0,
                "???_???": 3,
                "interfaceid": "1",
                "?????": 30
            },
            "auth": "0424bd59b807674191e7d77572075f33",
            "????": 3
       }

????? ?????? ???? ?? ????? ?? ????? ???? ?????, ??? ???? ?????? ??? ??????? ????? ?????? ?????:

{
            "jsonrpc": "2.0",
            "?????": {
                "itemids": [
                    "24759"
                ]
            },
            "????": 3
       }

???? 'item.create' ??? ?? ????? ????? ????? ???? ?? ???? ?????? ?? ????????? ?????? ???? ?????? ?? API ??? ???????.

????? ??????? ??????

?? ?? ????? ????? ????? ??????, ???? ?????? ?????? triggers ??:

{
            "jsonrpc": "2.0",
            "method": "trigger.create",
            "??????": [
                {
                    "description": "???? ????? ???? ??? ?-{HOST.NAME}",
                    "expression": "last(/Linux server/system.cpu.load[percpu,avg1])>5",
                },
                {
                    "description": "???? ??? ??????? ?-{HOST.NAME}",
                    "expression": "avg(/Linux server/proc.num[],5m)>300",
                }
            ],
            "auth": "0424bd59b807674191e7d77572075f33",
            "????": 4
       }

????? ?????? ???? ?? ?????? ?? ???? ???? ????? ???????:

{
            "jsonrpc": "2.0",
            "?????": {
                "?????????": [
                    "17369",
                    "17370"
                ]
            },
            "????": 4
       }

????? ????

???? ????, ?????, ???? ?? ?????? ??? ?-"0":

{
            "jsonrpc": "2.0",
            "method": "item.update",
            "params": {
                "itemid": "10092",
                "?????": 0
            },
            "auth": "0424bd59b807674191e7d77572075f33",
            "????": 5
       }

????? ?????? ???? ?? ????? ?? ????? ???????:

{
            "jsonrpc": "2.0",
            "?????": {
                "itemids": [
                    "10092"
                ]
            },
            "????": 5
       }

???? 'item.update' ??? ?? ????? ????? ????? ???? ?? ???? ?????? ?? ????????? ?????? ???? ?????? ?? API ??? ???????.

????? ?? ???? ???????

???? ???? ???????, ?????, ???? ?? ?????? ???? ?-0:

{
            "jsonrpc": "2.0",
            "method": "trigger.update",
            "??????": [
                {
                    "triggerid": "13938",
                    "?????": 0
                },
                {
                    "triggerid": "13939",
                    "?????": 0
                }
            ],
            "auth": "0424bd59b807674191e7d77572075f33",
            "????": 6
       }

????? ?????? ???? ?? ?????? ?? ???????? ?????????:

{
            "jsonrpc": "2.0",
            "?????": {
                "?????????": [
                    "13938",
                    "13939"
                ]
            },
            "????": 6
       }

???? ???? ?????? ???????. ???? API ????? ??? host.massupdate ??????? ????? ??? ???? ????, ??? ?? ?? ?? ????? ?????? ?????? ???, ?????? ??? ????? ?- ??????? ???????.

????? ???????

?? ?????? ?? ?? ?? ??????? ??? ?????. ??? ?? ???? ?? ???? ???? ????? ?? ????? ?-API? ???? ???? ??? ???? ???? ?? ??? ??????? host.create ?? ????? ?- ????? '??????' ????.

{
            "jsonrpc": "2.0",
            "method": "host.create",
            "params": {
                "host": "??? ??????",
                "??????": [
                    {
                        "??? 1,
                        "????": 1,
                        "useip": 1,
                        "ip": "192.168.3.1",
                        "dns": "",
                        "port": "10050"
                    }
                ]
            },
            "????": 7,
            "auth": "0424bd59b807674191e7d77572075f33"
       }

?????? ???? ?? ????? ?????:

{
            "jsonrpc": "2.0",
            "?????": {
                "???": -32602,
                "message": "??????? ?? ??????.",
                "data": "??? ?????? ???? ???? \"??? ??????\"."
            },
            "????": 7
       }

?? ????? ?????, ????? ??????? 'result', ?????? ??????? ???? ?????? '?????' ?? ??????? ?????:

  • ??? - ??? ?????;
  • ????? - ????? ????? ???;
  • ?????? - ????? ????? ?????? ????.

?????? ?????? ?????? ?????? ?????, ???? ????? ???? ???? ?????, ??? ??? ?? ????? ?? ?????? ???? ?????????? ?? ??????. ??????? ????????? ????? ????? ?????? ???? ??? ???? ?? ?? ??????.

?????? API

??? ???? ?? ??????? ?-API, ??? Áú»¢¶Ä²© 2.0.4, ????? ?? ?-API ???? ?? ????? ?? Áú»¢¶Ä²© ????. ??? ???? ?????? ? apiinfo.version ????? ?????? ?? ???? ?-API ????? ??? ????. ?? ???? ????? ?????? ???? ????? ????????? ??? ?????? ??????? ???????? ?????.

??? ??????? ?????? ????? ???? ????? ???????. ???? ?????? ??????? ?? ?????? ????? ??? ??????? ??????, ????? ???? ??? ??????? ?? ??????? ?????? ??? ?????? ?????? ??????? ????, ? ??? ???? ?? ???? ??? ???????. ??? ???, ??? ?????? ????? ?????? ??? ??????? ??????? ???? ???? ????? ?????????. ???? ?????? ?? ????? ?? ??? ????? ?????? ?????? ???? ??????? ????? ???? ????? ??????.

??? ???? ????? ??? ?? ???????? ?????? ?-API ?- ??? ??????? ?-API.

???? ???? ??????

????? ???? ????? ??? ??? ?????? ????? ?? ??API ?? Áú»¢¶Ä²©, ??? ??? ????? ??. ??? ?????? ???? ??? ??????? ?? ????? ?????? ????? ??API ???????.