12 Zabbix統計のリモート監視
概要
Zabbixサーバーおよびプロキシの一部の内部メトリクスは、別のZabbixインスタンスまたはサードパーティーツールからリモートでアクセスできるようにすることが可能です。 これは、サポーター/サービスプロバイダーが顧客のZabbixサーバー/プロキシをリモートで監視したり、またはZabbixが主要な監視ツールではない組織において、包括的な監視構成の中でZabbixの内部メトリクスをサードパーティーシステムで監視したりする場合に役立ちます。
Zabbixの内部統計は、新しい 'StatsAllowedIP' server/proxy パラメータに一覧表示された、設定可能なアドレスのセットに対して公開されます。リクエストは、これらのアドレスからのみ受け付けられます。
アイテム
別のZabbixインスタンスで内部統計のクエリを設定するには、次の2つの項目を使用します。
zabbix[stats,<ip>,<port>]internal item - Zabbixサーバー/プロキシの直接リモートクエリ用。 <ip>と<port>は、ターゲットインスタンスを識別するために使用しますzabbix.stats[<ip>,<port>]agent item - Zabbixサーバー/プロキシのエージェントベースのリモートクエリ用。 <ip>と<port>は、ターゲットインスタンスを識別するために使用されます。
参考情報: 内部項目, Zabbixエージェントアイテム
次の図はコンテキストに応じた、いずれかのアイテムの使用法を示しています。

- Server → external Zabbix instance (zabbix[stats,<ip>,<port>])
- Server → proxy → external Zabbix instance (zabbix[stats,<ip>,<port>])
- Server → agent → external Zabbix instance (zabbix.stats[<ip>,<port>])
- Server → proxy → agent → external Zabbix instance (zabbix.stats[<ip>,<port>])
ターゲットインスタンスが外部インスタンスによるクエリを許可するには、ターゲットインスタンスの'StatsAllowedIP'パラメータに外部インスタンスのアドレスをリストします。
公開されるメトリクス
statsアイテムは統計情報を一括で収集してJSONを返します。これは、従属アイテムがデータを取得するための基盤となります。以下の内部メトリクスは、2つのアイテムのいずれかによって返されます。
zabbix[boottime]zabbix[hosts]zabbix[items]zabbix[items_unsupported]zabbix[preprocessing](サーバーのみ)zabbix[preprocessing_queue](サーバーのみ)zabbix[process,<type>,<mode>,<state>](プロセスタイプベースの統計情報のみ)zabbix[rcache,<cache>,<mode>]zabbix[requiredperformance]zabbix[triggers](サーバーのみ)zabbix[uptime]zabbix[vcache,buffer,<mode>](サーバーのみ)zabbix[vcache,cache,<parameter>]zabbix[version]zabbix[vmware,buffer,<mode>]zabbix[wcache,<cache>,<mode>]('trends' キャッシュタイプはサーバーのみ)
テンプレート
外部インスタンスからZabbixサーバーまたは プロキシの内部メトリクスをリモート 監視するためのテンプレートを利用できます。
- リモートZabbixサーバーのヘルス
- リモートZabbixプロキシのヘルス
複数の外部インスタンスをリモート監視するためにテンプレートを使用する場合は、 外部インスタンスの監視ごとに個別のホストが必要になることに注意してください。
トラッパープロセス
外部のZabbixインスタンスからの内部メトリクス要求の受信は、トラッパープロセスによって処理されます。このプロセスは要求を検証し、メトリクスを収集し、JSONデータバッファを作成して、準備したJSONを送り返します。以下は、例えばサーバーから返されるJSONです。
{
"response": "success",
"data": {
"boottime": N,
"uptime": N,
"hosts": N,
"items": N,
"items_unsupported": N,
"preprocessing": {
"queued": {
"count": N,
"size": N
},
"direct": {
"count": N,
"size": N
},
"queue": N
},
"preprocessing_queue": N,
"process": {
"alert manager": {
"busy": {
"avg": N,
"max": N,
"min": N
},
"idle": {
"avg": N,
"max": N,
"min": N
},
"count": N
},
...
},
"queue": N,
"rcache": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"requiredperformance": N,
"triggers": N,
"uptime": N,
"vcache": {
"buffer": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"cache": {
"requests": N,
"hits": N,
"misses": N,
"mode": N
}
},
"vmware": {
"total": N,
"free": N,
"pfree": N,
"used": N,
"pused": N
},
"version": "N",
"wcache": {
"values": {
"all": N,
"float": N,
"uint": N,
"str": N,
"log": N,
"text": N,
"not supported": N
},
"history": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"index": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
},
"trend": {
"pfree": N,
"free": N,
"total": N,
"used": N,
"pused": N
}
}
}
}
内部キューアイテム
別のZabbixインスタンスで内部キュー統計をリモートクエリできるようにする別の2つの項目もあります。
zabbix[stats,<ip>,<port>,queue,<from>,<to>]internal item - リモートZabbixサーバー/プロキシへの直接内部キュークエリ用zabbix.stats[<ip>,<port>,queue,<from>,<to>]agent item - リモートZabbixサーバー/プロキシへのエージェントベースの内部キュークエリ用
参考情報: 内部項目, Zabbixエージェントアイテム