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

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

host.update

説明

object host.update(object/array hosts)

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

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

パラメータ

(object/array) 更新されるホストプロパティ

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

しかし、ホストの technical name(実ホスト名) を更新すると、ホストの visible name (表示名 指定されていないか空の場合) も
ホストの technical name の値で更新されることに注意してください。

standard host propertiesに加えて、このメソッドは以下のパラメータを受け付けます。

パラメータ Type 説明
groups object/array Host groups to replace the current host groups the host belongs to.

The host groups must have the groupid property defined. All host groups that are not listed in the request will be unlinked.
interfaces object/array Host interfaces to replace the current host interfaces.

All interfaces that are not listed in the request will be removed.
tags object/array Host tags to replace the current host tags.

All tags that are not listed in the request will be removed.
inventory object Host inventory properties.
macros object/array User macros to replace the current user macros.

All macros that are not listed in the request will be removed.
templates object/array Templates to replace the currently linked templates. All templates that are not listed in the request will be only unlinked.

The templates must have the templateid property defined.
templates_clear object/array Templates to unlink and clear from the host.

The templates must have the templateid property defined.

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

戻り値

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

ホストの有効化

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

Request:

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

Response:

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

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

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

Request:

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

Response:

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

ホストマクロの更新

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

Request:

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

Response:

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

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

インベントリモードの変更とロケーションの追加

Request:

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

Response:

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

ホストタグの更新

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

Request:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "tags": {
                   "tag": "OS",
                   "value": "CentOS 7"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

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

参照

ソース

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