You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

host.update

説明

object host.update(object/array hosts)

このメソッドは、既存のホストを更新することができます。

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

パラメータ

(object/array) 更新するホストのプロパティ。

各ホストには hostid プロパティを定義する必要があり、他のすべてのプロパティはオプションです。 指定されたプロパティのみが更新され、他のプロパティは変更されません。

ただし、ホストの技術名を更新すると、ホストの表示名(指定されていない場合や空の場合)もホストの技術名の値で更新されます。

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

パラメータ 説明
groups object/array 現在のホストグループを置き換えるホストグループ
リクエストに記載されていないすべてのホストグループはリンク解除されます。

ホストグループには groupid プロパティのみを定義する必要があります。
interfaces object/array 現在のホストインターフェースを置き換えるホストインターフェース
リクエストに記載されていないすべてのインターフェースは削除されます。
tags object/array 現在のホストタグを置き換えるホストタグ
リクエストに記載されていないすべてのタグは削除されます。
inventory object ホストインベントリのプロパティ。
macros object/array 現在のユーザーマクロを置き換えるユーザーマクロ
リクエストに記載されていないすべてのマクロは削除されます。
templates object/array 現在リンクされているテンプレートを置き換えるテンプレート
リクエストに記載されていないすべてのテンプレートはリンク解除のみされます。

テンプレートには templateid プロパティのみを定義する必要があります。
templates_clear object/array ホストからリンク解除およびクリアするテンプレート

テンプレートには templateid プロパティのみを定義する必要があります。

Zabbixフロントエンドとは異なり、name(表示ホスト名)がhost(技術ホスト名)と同じ場合、API経由でhostを更新してもnameは自動的に更新されません。両方のプロパティを明示的に更新する必要があります。

戻り値

(object) hostids プロパティの下で更新されたホストの ID を含むオブジェクトを返します。

ホストの有効化

ホストの監視を有効にする、つまりステータスを0にします。

リクエスト :

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "status": 0
           },
           "id": 1
       }

レスポンス :

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

テンプレートのリンク削除

ホストから2つのテンプレートのリンクを削除してクリアします。

リクエスト :

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "templates_clear": [
                   {
                       "templateid": "10124"
                   },
                   {
                       "templateid": "10125"
                   }
               ]
           },
           "id": 1
       }

レスポンス :

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

ホストマクロの更新

すべてのホストマクロを新しい2つのマクロに置き換えます。

リクエスト :

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "macros": [
                   {
                       "macro": "{$PASS}",
                       "value": "password"
                   },
                   {
                       "macro": "{$DISC}",
                       "value": "sda",
                       "description": "Updated description"
                   }
               ]
           },
           "id": 1
       }

レスポンス :

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

ホストインベントリの更新

インベントリモードの変更とロケーションの追加をします。

リクエスト :

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "inventory_mode": 0,
               "inventory": {
                   "location": "Latvia, Riga"
               }
           },
           "id": 1
       }

レスポンス :

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

ホストタグの更新

すべてのホストタグを新しいものに置き換えます。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "tags": {
                   "tag": "os",
                   "value": "rhel-7"
               }
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

検出されたホストマクロの更新

作成した検出ルールの"自動"マクロを"手動"に変換し、その値を"new-value"に変更します。

リクエスト :

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "macros": {
                   "hostmacroid": "5541",
                   "value": "new-value",
                   "automatic": "0"
               }
           },
           "id": 1
       }

レスポンス :

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

ホスト暗号化の更新

ホスト"10590"を更新して、ホストからZabbixサーバーへの接続にのみPSK暗号化を使用するようにし、PSK IDとPSKキーを変更します。

ホストはPSKを使用するように事前設定する必要があることに注意してください。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10590",
               "tls_connect": 1,
               "tls_accept": 2,
               "tls_psk_identity": "PSK 002",
               "tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10590"
               ]
           },
           "id": 1
       }

参照

ソース

CHost::update() in ui/include/classes/api/services/CHost.php.