Zabbixプロキシは、プロキシグループに編成して、プロキシの負荷分散と高可用性を実現できます。
プロキシの負荷分散と高可用性とは、プロキシグループ内のプロキシ間でホストを自動的に再分配することです。
ホストの再分配は、次の条件を満たすグループ内のプロキシ間でのみ機能します。
プロキシグループの健全性は、プロキシグループに割り当てられた任意のホストによって内部チェックで監視できます。 ただし、グループ内の単一のプロキシの健全性を監視するには、そのホストをそのプロキシに割り当ててください。そうしないと、結果が一貫しない場合があります。
プロキシの負荷分散と高可用性は、プロキシグループマネージャによってZabbixサーバーが管理します。これは、各プロキシグループ内のすべてのプロキシの状態とホストの分配を継続的に監視します。
グループ内のプロキシの高可用性は、プロキシのフェイルオーバーによって保証されます。プロキシがオフラインになると、そのホストは直ちに他のプロキシに再分配されます。 また、ホストが最も少ないプロキシに再割り当てされるため、プロキシの負荷分散も行われます。
さらに、プロキシのホスト数がグループの平均値から少なくとも10台かつ2倍以上(ホスト過剰またはホスト不足)異なる場合にも、プロキシの負荷分散がトリガーされます。 猶予期間(10 x フェイルオーバー遅延)後も不均衡が続く場合、プロキシグループはホストの再分配のためにキューに入れられます。
プロキシグループマネージャは、次のロジックでホストを再分配します。
ホストの再分配の例:
| プロキシ上のホスト数 | グループ平均 | ホストの再割り当て |
|---|---|---|
| 100 | 50 | はい |
| 60 | 50 | いいえ |
| 40 | 50 | いいえ |
| 25 | 50 | はい |
| 15 | 5 | はい |
| 10 | 5 | いいえ |
プロキシグループで監視されているホストが10台未満の場合、グループ内のプロキシ間でホストの分配が不均等になる可能性があります。
Zabbixフロントエンドでプロキシグループを設定するには:

| パラメータ | 説明 |
|---|---|
| 名前 | プロキシグループの名前。 |
| フェイルオーバー期間 | プロキシグループ内のプロキシがオンラインと見なされるためにZabbixサーバーと通信しなければならない秒数(デフォルト: 1m; 範囲: 10s–15m)。この期間内にプロキシが通信しない場合、プロキシの状態はオフラインに変更され、そのホストは直ちに他のプロキシに再配分されます。プロキシの負荷分散はこの期間の10倍の時間が経過した後に開始されます。 時間のサフィックス(例: 30s, 1m)およびユーザーマクロをサポートします。 |
| 最小プロキシ数 | プロキシグループをオンラインに保つために必要なオンラインプロキシの最小数(デフォルト: 1; 範囲: 1–1000)。 ユーザーマクロをサポートします。 この値はグループ内のプロキシの総数より少なくする必要があります。例えば、10台のプロキシのグループで最小値を10に設定すると、いずれかのプロキシが障害を起こした場合にグループがオフラインになります。オフライングループ内のオンラインプロキシは通常通り動作し続けますが、負荷分散や高可用性は行われません。 |
| 説明 | プロキシグループの説明。 |
| プロキシ | プロキシを持つグループを編集する際に、最大5つのプロキシのリスト(ユーザーのプロキシに対する権限に応じてリンクまたはプレーンテキスト)を表示します。 |
プロキシのロードバランシングを使用するには、Zabbixフロントエンドでプロキシグループを設定(上記参照)し、ホストが個々のプロキシではなくプロキシグループによって監視されていることを確認する必要があります(ホストをプロキシからプロキシグループに移動するには、ホストの一括更新を使用できます)。
Zabbixエージェントを使用する場合は、以下のように設定してください。
ServerActiveパラメータにプロキシグループのプロキシ(またはZabbixサーバー)が1つだけ含まれている場合でも、エージェントは正しいプロキシに接続できます。 エージェントサービスが起動して指定したプロキシに接続すると、エージェントはグループ内のプロキシIPの完全なリストと現在の負荷を受信してキャッシュします。 その後、アクティブチェックは、プロキシグループ内の現在のプロキシ-ホスト割り当てに基づいて、ホストに対して正しいオンラインプロキシにリダイレクトされます。
ZabbixエージェントのServerActiveパラメータに単一のプロキシのみを指定している場合、指定したプロキシがオフラインの状態でエージェントが起動/再起動すると、監視データが失われる可能性があります。
Zabbix senderを使用する場合も、データリクエストはプロキシグループ内の現在のプロキシ-ホスト割り当てに基づいて、ホストに対して正しいオンラインプロキシにリダイレクトされます。 ただし、入力ファイルから複数ホストの値を送信する場合は、-gオプションを使用して、誤ったプロキシへのデータ送信を防止してください。
Zabbixエージェントは、ファイアウォールを介してプロキシグループ内のすべてのプロキシに接続できる必要があります。 そうでない場合、アクティブチェックのリダイレクトやフェイルオーバー時にハングや失敗が発生する可能性があります。例:
プロキシの負荷分散をテストするには: