1 プロキシ
概要
Zabbix プロキシは、Zabbix サーバーの代わりにパフォーマンスおよび可用性データを収集できます。これにより、プロキシはデータ収集の一部の負荷を自ら引き受け、Zabbix サーバーの負荷を軽減できます。
また、プロキシを使用することは、集中監視と分散監視を実装する最も簡単な方法です。すべてのエージェントとプロキシが 1 台の Zabbix サーバーに報告し、すべてのデータが中央で収集されます。
Zabbix プロキシは、次の用途に使用できます。
- リモート拠点の監視
- 通信が不安定な拠点の監視
- 数千台のデバイスを監視する際の Zabbix サーバーの負荷軽減
- 分散監視の保守を簡素化する

プロキシが必要とするのは、Zabbix サーバーへの TCP 接続 1 本だけです。このため、ファイアウォールの設定は 1 つのルールだけで済み、回避しやすくなります。
Zabbix プロキシは別個のデータベースを使用する必要があります。 Zabbix サーバーのデータベースを指定すると、設定が壊れます。
プロキシによって収集されたすべてのデータは、サーバーへ送信される前にローカルに保存されます。このため、サーバーとの一時的な通信障害が発生してもデータは失われません。プロキシ設定ファイル の ProxyLocalBuffer および ProxyOfflineBuffer パラメーターで、データをローカルに保持する期間を制御します。
プロキシが Zabbix サーバーのデータベースから最新の設定変更を直接受け取る場合、CacheUpdateFrequency の値によって設定更新が遅れる可能性がある Zabbix サーバーよりも、プロキシのほうが新しい設定を持っていることがあります。その結果、プロキシがデータ収集を開始して Zabbix サーバーへ送信しても、Zabbix サーバー側ではそれらのデータが無視される場合があります。
Zabbix プロキシはデータコレクターです。トリガーの計算、イベント処理、アラート送信は行いません。プロキシの機能概要については、次の表を参照してください。
| Function | Supported by proxy | |
|---|---|---|
| アイテム | ||
| Zabbix agent checks | Yes | |
| Zabbix agent checks (active) | Yes 1 | |
| Simple checks | Yes | |
| Trapper items | Yes | |
| SNMP checks | Yes | |
| SNMP traps | Yes | |
| IPMI checks | Yes | |
| JMX checks | Yes | |
| Log file monitoring | Yes | |
| Internal checks | Yes | |
| SSH checks | Yes | |
| Telnet checks | Yes | |
| External checks | Yes | |
| Dependent items | Yes | |
| Script items | Yes | |
| Browser items | Yes | |
| 組み込みの Web 監視 | Yes | |
| アイテム値の前処理 | Yes | |
| ネットワークディスカバリ | Yes | |
| アクティブエージェントの自動登録 | Yes | |
| 低レベルディスカバリ | Yes 2 | |
| リモートコマンド | Yes | |
| トリガーの計算 | No | |
| イベント処理 | No | |
| イベント相関 | No | |
| アラート送信 | No | |
[1] エージェントがアクティブチェックを要求する相手がサーバーではなくプロキシになるようにするには、エージェント設定ファイルの ServerActive パラメーターにプロキシを記載する必要があります。
[2] LLD では、Zabbix プロキシはデータを収集して前処理するだけで、その後 Zabbix サーバーに送信し、さらに処理します。
過負荷からの保護
Zabbixサーバーがしばらく停止していて、その間にプロキシが大量のデータを収集し、その後サーバーが起動すると、過負荷状態になることがあります(しばらくの間、履歴キャッシュの使用率が95~100%のままになります)。この過負荷により、チェックの処理速度が本来より遅くなり、パフォーマンスが低下する可能性があります。履歴キャッシュの過負荷によって発生する問題を回避するため、この状況に対する保護機能が実装されています。
Zabbixサーバーの履歴キャッシュがいっぱいになると、履歴キャッシュへの書き込みアクセスが制限され、サーバーのデータ収集プロセスが停滞します。履歴キャッシュが過負荷になる最も一般的なケースは、サーバーの停止後にプロキシが収集したデータをアップロードするときです。これを回避するため、プロキシのスロットリング機能が追加されています(現在、この機能を無効にすることはできません)。
履歴キャッシュの使用率が80%に達すると、Zabbixサーバーはプロキシからのデータの受け入れを停止します。その代わり、該当するプロキシはスロットリングリストに追加されます。これは、キャッシュの使用率が60%まで低下するまで続きます。その後、サーバーはスロットリングリストに定義されたプロキシから、1つずつデータの受け入れを開始します。つまり、スロットリング期間中に最初にデータをアップロードしようとしたプロキシが最初に処理され、その処理が完了するまで、サーバーは他のプロキシからのデータを受け入れません。
このスロットリングモードは、キャッシュの使用率が再び80%に達するか、20%まで低下するか、またはスロットリングリストが空になるまで継続します。最初の場合、サーバーは再びプロキシからのデータの受け入れを停止します。後の2つの場合、サーバーは通常の動作に戻り、すべてのプロキシからデータを受け入れます。
上記の情報は、次の表に示すことができます。
| 履歴書き込み キャッシュの使用率 |
Zabbixサーバーのモード | Zabbixサーバーのアクション |
|---|---|---|
| 80%に到達 | 待機 | プロキシからのデータの受け入れを停止しますが、スロットリングリスト(後で接続するプロキシの優先リスト)を保持します。 |
| 60%まで低下 | スロットリング | スロットリングリストの処理を開始しますが、プロキシからのデータは引き続き受け入れません。 |
| 20%まで低下 | 通常 | スロットリングリストを破棄し、通常どおりプロキシからのデータの受け入れを開始します。 |
zabbix[wcache,history,pused]内部アイテムを使用して、Zabbixサーバーのこの動作をメトリクスと関連付けることができます。
設定
インストールし、 設定したプロキシを用意したら、次はZabbixのWebインターフェースで設定します。
プロキシの追加
Zabbix Webインターフェースでプロキシを設定するには、次の手順を実行します。
- Administration → Proxies に移動します
- Create proxy をクリックします

| Parameter | Description | |
|---|---|---|
| Proxy name | プロキシ名を入力します。プロキシ設定ファイルの Hostname パラメータと同じ名前である必要があります。 | |
| Proxy group | プロキシの 負荷分散/高可用性 用に、1つのプロキシグループを選択します。 | |
| Address for active agents | 監視対象のアクティブ エージェントまたは送信元が接続するアドレスを入力します。Zabbix 7.0 以降のエージェントでのみサポートされます。 このアドレスは、アクティブプロキシとパッシブプロキシの両方への接続に使用されます。このフィールドは、Proxy group フィールドでプロキシグループが選択されている場合にのみ表示されます。 |
|
| Address | 接続先の IP アドレス/DNS 名。 | |
| Port | 接続先の TCP ポート番号(既定値: 10051)。ユーザーマクロを使用できます。 | |
| Proxy mode | プロキシモードを選択します。 Active - プロキシが Zabbix サーバーに接続して設定データを要求します Passive - Zabbix サーバーがプロキシに接続します 暗号化されていない通信では、アクティブプロキシを使用する場合、Zabbix サーバーの trapper ポートにアクセスできる第三者がプロキシ設定データを取得できる可能性があることに注意してください。これは、認証が行われない場合、または Proxy address フィールドでプロキシアドレスが制限されていない場合に、誰でもアクティブプロキシを装って設定データを要求できるためです。 |
|
| Proxy address | 指定した場合、アクティブプロキシからの要求は、このカンマ区切りの IP アドレス一覧(必要に応じて CIDR 表記可)またはアクティブ Zabbix プロキシの DNS 名からのみ受け入れられます。 このフィールドは、Proxy mode フィールドでアクティブプロキシが選択されている場合にのみ使用できます。マクロはサポートされません。 |
|
| Interface | パッシブプロキシのインターフェース詳細を入力します。 このフィールドは、Proxy mode フィールドでパッシブプロキシが選択されている場合にのみ使用できます。 |
|
| Address | パッシブプロキシの IP アドレス/DNS 名。 | |
| Port | パッシブプロキシの TCP ポート番号(既定値: 10051)。ユーザーマクロを使用できます。 | |
| Description | プロキシの説明を入力します。 | |
Encryption タブでは、プロキシとの 暗号化された接続 を必須にできます。
| Parameter | Description |
|---|---|
| Connections to proxy | サーバーがパッシブプロキシに接続する方法: 暗号化なし(既定)、PSK(事前共有鍵)を使用、または証明書を使用。 |
| Connections from proxy | アクティブプロキシから許可する接続タイプを選択します。複数の接続タイプを同時に選択できます(テストや別の接続タイプへの切り替えに便利です)。既定値は "No encryption" です。 |
| Issuer | 許可する証明書の発行者。証明書はまず CA(認証局)で検証されます。有効で、CA によって署名されている場合、Issuer フィールドを使用して許可する CA をさらに制限できます。このフィールドは任意で、Zabbix 環境で複数の CA の証明書を使用している場合に利用することを想定しています。 |
| Subject | 許可する証明書のサブジェクト。証明書はまず CA で検証されます。有効で、CA によって署名されている場合、Subject フィールドを使用して Subject 文字列の値を1つだけ許可できます。このフィールドが空の場合、設定された CA によって署名された有効な証明書はすべて受け入れられます。 |
| PSK identity | 事前共有鍵の識別文字列。 PSK identity に機密情報を入れないでください。どの PSK を使用するかを受信側に通知するため、ネットワーク上で暗号化されずに送信されます。 |
| PSK | 事前共有鍵(16進文字列)。Zabbix が GnuTLS または OpenSSL ライブラリを使用する場合の最大長は 512 16進桁(256 バイトの PSK)、Zabbix が mbed TLS(PolarSSL)ライブラリを使用する場合は 64 16進桁(32 バイトの PSK)です。例: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Timeouts タブでは、対応しているアイテムタイプの グローバル タイムアウトを上書きできます。

| Parameter | Description |
|---|---|
| Timeouts for item types | タイムアウトオプションを選択します。 Global - グローバルタイムアウトを使用します(各アイテムタイプのグレー表示された Timeout フィールドに表示されます)。 Override - カスタムタイムアウトを使用します(各アイテムタイプの Timeout フィールドで設定します)。許容範囲: 1 - 600 秒(既定値: グローバル タイムアウトから継承)。時間サフィックス(例: 30s、1m)および ユーザーマクロ を使用できます。 Global timeouts リンクをクリックすると、グローバル タイムアウトを設定できます。なお、Global timeouts リンクは、Super admin タイプのユーザーで、Administration → General の Webインターフェースセクションに対する権限を持つ場合にのみ表示されます。 サポートされるアイテムタイプ: - Zabbix agent(パッシブチェックとアクティブチェックの両方) - Simple check( icmpping*、vmware.* アイテムを除く)- SNMP agent(SNMP walk[OID] および get[OID] アイテムのみ)- External check - Database monitor - HTTP agent - SSH agent - TELNET agent - Script - Browser Override で設定したタイムアウトはグローバル設定より優先されますが、アイテム設定 で個別のアイテムタイムアウトが設定されている場合は、それがさらに優先されます。 |
プロキシのメジャーバージョンがサーバーのメジャーバージョンと一致しない場合、
アイコンが
Timeouts for item types の横に表示され、ホバー時のメッセージは
"Timeouts disabled because the proxy and server versions do not match" になります。
このような場合、プロキシはプロキシ設定ファイルの Timeout パラメータを使用します。
既存のプロキシの編集フォームには、次の追加ボタンがあります。
- Refresh configuration - プロキシの設定を更新します
- Clone - 既存のプロキシのプロパティを基に新しいプロキシを作成します
- Delete - プロキシを削除します
ホスト設定
ホスト設定フォームの Monitored by フィールドを使用して、個々のホストをプロキシまたはプロキシグループで監視するように指定できます。

ホストの一括更新でも、ホストをプロキシまたはプロキシグループで監視するように指定できます。