object itemprototype.create(object/array itemPrototypes)
このメソッドを使用すると、新しいアイテムのプロトタイプを作成できます。
このメソッドはAdminおよびSuper adminユーザータイプでのみ使用できます。 メソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。 詳細についてはユーザーの役割を参照してください。
(object/array)
作成するアイテムプロトタイプ。
このメソッドは標準アイテム プロトタイプ プロパティ に加えて、次のパラメーターを受け入れます
パラメータ | タイプ | 説明 |
---|---|---|
ruleid (必須) |
string | アイテムが属する LLD ルールの ID |
preprocessing | array | アイテム プロトタイプ 事前処理 オプション |
tags | array | アイテムプロトタイプタグ. |
(object)
itemids
プロパティの下で作成されたアイテム プロトタイプの ID を含むオブジェクトを返します。 返される ID の順序は、渡されたアイテム プロトタイプの順序と一致します。
アイテムのプロトタイプを作成して、検出されたファイル システムのディスクの空き容量を監視します。 検出されたアイテムは、数値の Zabbix エージェント アイテムである必要があり、30 秒ごとに更新されます。
Request:
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Free disk space on {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
2 番目のステップとして、1 秒あたりの変化とカスタム倍率を使用してアイテムを作成します。
Request:
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Incoming network traffic on {#IFNAME}",
"key_": "net.if.in[{#IFNAME}]",
"hostid": "10001",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"delay": "60s",
"units": "bps",
"interfaceid": "1155",
"preprocessing": [
{
"type": 10,
"params": "",
"error_handler": 0,
"error_handler_params": ""
},
{
"type": 1,
"params": "8",
"error_handler": 2,
"error_handler_params": "10"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
ID 44211 のマスター アイテム プロトタイプの依存アイテム プロトタイプを作成します。同じホスト (テンプレート/ディスカバリルール) への依存のみが許可されるため、マスター アイテムと依存アイテムは同じホスト ID とルール ID を持つ必要があります。
Request:
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"hostid": "10001",
"ruleid": "27665",
"name": "Dependent test item prototype",
"key_": "dependent.prototype",
"type": 18,
"master_itemid": "44211",
"value_type": 3
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
ユーザーマクロ、クエリフィールド、およびカスタムヘッダーを使用してURLでアイテムプロトタイプを作成します
Request:
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"type": "19",
"hostid": "10254",
"ruleid": "28256",
"interfaceid": "2",
"name": "api item prototype example",
"key_": "api_http_item",
"value_type": 3,
"url": "{$URL_PROTOTYPE}",
"query_fields": [
{
"min": "10"
},
{
"max": "100"
}
],
"headers": {
"X-Source": "api"
},
"delay": "35"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
スクリプト アイテムのプロトタイプを使用して、単純なデータ コレクションを作成します。
Request:
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Script example",
"key_": "custom.script.itemprototype",
"hostid": "12345",
"type": 21,
"value_type": 4,
"params": "var request = new CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
"parameters": [
{
"name": "host",
"value": "{HOST.CONN}"
}
],
"timeout": "6s",
"delay": "30s"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 2
}
Response:
CItemPrototype::create() in ui/include/classes/api/services/CItemPrototype.php.