Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

map.create

説明

object map.create(object/array maps)

このメソッドで、新しいマップを作成できます。

このメソッドはどのタイプのユーザーでも利用可能です。このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳しくはユーザーの役割を参照してください。

パラメータ

(object/array) マップの作成

このメソッドは標準のマッププロパティに加えて、次のパラメーターを受け入れます。

パラメータ タイプ 説明
links array マップ上に作成するマップリンク
selements array マップ上に作成するマップエレメント
urls array マップ上に作成するマップURLs
users array マップ上に作成するマップユーザー共有
userGroups array マップ上に作成するマップユーザーグループ共有
shapes array マップ上に作成するマップ形状
lines array マップ上に作成するマップライン

マップリンクを作成するには、マップ要素のselementidを任意の値に設定し、この値を使用してリンクのselementid1またはselementid2プロパティでこの要素を参照する必要があります。 要素が作成されるとこの値はZabbixによって生成された正しいIDに置き換えられます。例を参照

戻り値

(object) sysmapidsプロパティの下で作成されたマップのIDを含むオブジェクトを返します。 返されるIDの順序は、渡されたマップの順序と一致します。

空のマップを作成する

要素のないマップを作成します。

Request:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map",
               "width": 600,
               "height": 600
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "8"
               ]
           },
           "id": 1
       }

ホストマップを作成する

2つのホスト要素とそれらの間のリンクを使用してマップを作成します。 マップ要素を参照するために、マップリンクオブジェクトで一時的な「selementid1」および「selementid2」値を使用していることに注意してください。

Request:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Host map",
               "width": 600,
               "height": 600,
               "selements": [
                   {
                       "selementid": "1",
                       "elements": [
                           {"hostid": "1033"}
                       ],
                       "elementtype": 0,
                       "iconid_off": "2"
                   },
       
                   {
                       "selementid": "2",
                       "elements": [
                           {"hostid": "1037"}
                       ],
                       "elementtype": 0,
                       "iconid_off": "2"
                   }
               ],
               "links": [
                   {
                       "selementid1": "1",
                       "selementid2": "2"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "9"
               ]
           },
           "id": 1
       }

トリガーマップを作成する

2つのトリガーを含むトリガー要素を使用してマップを作成します。

Request:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Trigger map",
               "width": 600,
               "height": 600,
               "selements": [
                   {
                       "elements": [
                           {"triggerid": "12345"},
                           {"triggerid": "67890"}
                       ],
                       "elementtype": 2,
                       "iconid_off": "2"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "10"
               ]
           },
           "id": 1
       }

地図の共有

2種類の共有(ユーザーとユーザーグループ)マップを作成します。

Request:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map sharing",
               "width": 600,
               "height": 600,
               "users": [
                   {
                       "userid": "4",
                       "permission": "3"
                   }
               ],
               "userGroups": [
                   {
                       "usrgrpid": "7",
                       "permission": "2"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "9"
               ]
           },
           "id": 1
       }

マップの形状

マップ名titleでマップを作成します。

Request:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Host map",
               "width": 600,
               "height": 600,
               "shapes": [
                   {
                       "type": 0,
                       "x": 0,
                       "y": 0,
                       "width": 600,
                       "height": 11,
                       "text": "{MAP.NAME}"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "10"
               ]
           },
           "id": 1
       }

マップライン

マップラインを作成します。

Request:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map API lines",
               "width": 500,
               "height": 500,
               "lines": [
                   {
                       "x1": 30,
                       "y1": 10,
                       "x2": 100,
                       "y2": 50,
                       "line_type": 1,
                       "line_width": 10,
                       "line_color": "009900"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "11"
               ]
           },
           "id": 1
       }

参照

ソース

CMap::create() in ui/include/classes/api/services/CMap.php.