item.create

説明

object item.create(object/array items)

このメソッドでは、新しいアイテムを作成できます。

Web監視アイテムはZabbix API経由では作成できません。

このメソッドは、Admin および Super admin ユーザータイプでのみ利用できます。 このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。 詳細はユーザーロールを参照してください。

パラメータ

(object/array) 作成するアイテム。

標準のアイテムプロパティに加えて、このメソッドは以下のパラメータを受け付けます。

パラメータ Type 説明
preprocessing array アイテムの前処理オプション。
tags array アイテムタグ

戻り値

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

アイテムの作成

ID が "30074" のホスト上の空きディスク容量を監視するために、2 つのアイテムタグを持つ数値型のZabbixエージェントアイテムを作成します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "name": "/home/joe/ の空きディスク容量",
        "key_": "vfs.fs.size[/home/joe/,free]",
        "hostid": "30074",
        "type": 0,
        "value_type": 3,
        "interfaceid": "30084",
        "tags": [
            {
                "tag": "component",
                "value": "storage"
            },
            {
                "tag": "equipment",
                "value": "workstation"
            }
        ],
        "delay": "30s"
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "24758"
        ]
    },
    "id": 1
}

ホストインベントリのアイテムの作成

ホストの「OS」インベントリフィールドを設定するためのZabbixエージェントのアイテムを作成します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "name": "uname",
        "key_": "system.uname",
        "hostid": "30021",
        "type": 0,
        "interfaceid": "30007",
        "value_type": 1,
        "delay": "10s",
        "inventory_link": 5
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "24759"
        ]
    },
    "id": 1
}

前処理を使用したアイテムの作成

カスタム乗数を使用してアイテムを作成します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "name": "Device uptime",
        "key_": "sysUpTime",
        "hostid": "10084",
        "type": 20,
        "snmp_oid": "SNMPv2-MIB::sysUpTime.0",
        "value_type": 1,
        "delay": "60s",
        "interfaceid": "83",
        "preprocessing": [
            {
                "type": 1,
                "params": "0.01",
                "error_handler": 1,
                "error_handler_params": ""
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44210"
        ]
    },
    "id": 1
}

依存アイテムの作成

ID 24759 のマスターアイテムに対する依存アイテムを作成します。
同じホスト上の依存関係のみ許可されるため、マスターアイテムと依存アイテムは同じ hostid を持っている必要があります。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
      "hostid": "30074",
      "name": "Dependent test item",
      "key_": "dependent.item",
      "type": 18,
      "master_itemid": "24759",
      "value_type": 2
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44211"
        ]
    },
    "id": 1
}

HTTPエージェントアイテムの作成

JSONレスポンスの前処理を使用して、POSTリクエストメソッドのアイテムを作成します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "url":"http://127.0.0.1/http.php",
        "query_fields": [
            {
                "name": "mode",
                "value": "json"
            },
            {
                "name": "min",
                "value": "10"
            },
            {
                "name": "max",
                "value": "100"
            }
        ],
        "interfaceid": "1",
        "type": 19,
        "hostid": "10254",
        "delay": "5s",
        "key_": "json",
        "name": "HTTP agent example JSON",
        "value_type": 0,
        "output_format": 1,
        "preprocessing": [
            {
                "type": 12,
                "params": "$.random",
                "error_handler": 0,
                "error_handler_params": ""
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}

スクリプトアイテムの作成

スクリプトアイテムを使用して、シンプルなデータ収集を作成します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "item.create",
    "params": {
        "name": "Script example",
        "key_": "custom.script.item",
        "hostid": "12345",
        "type": 21,
        "value_type": 4,
        "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
        "parameters": [
            {
                "name": "host",
                "value": "{HOST.CONN}"
            }
        ],
        "timeout": "6s",
        "delay": "30s"
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}

ソース

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