プロキシ負荷分散により、プロキシグループ単位でホストを監視できます。これにより、プロキシ間でのホストの自動分散と高いプロキシ可用性が実現します。
プロキシグループ内の1つのプロキシがオフラインになった場合、そのホストは、グループ内で割り当てホスト数が最も少ない他のプロキシに即座に分散されます。また、プロキシのホスト数がグループ平均と比較して多すぎる/少なすぎる場合は、ホストを均等に分散するグループの再分散がトリガーされます。
ホストの再分散は、オンラインのプロキシグループでのみ行われます。プロキシグループが"オンライン"になるのは、設定された最小数のプロキシがオンラインになっている場合(オフラインまたは不明ではない場合)、そのプロキシグループが"オンライン"になっている状態です。
オンラインプロキシの最小数は、グループ内のプロキシの総数よりも小さくする必要があります。10台のプロキシグループで最小オンラインプロキシ数を10に設定すると、1台のプロキシに障害が発生した場合にグループ全体がオフラインになる状況が発生します。オンラインプロキシは6台必要となるのが理想的です。これにより、4台のプロキシが不健全な状態になっても対応できます。
プロキシの状態は以下のとおりです。
プロキシグループの状態は、zabbix[プロキシグループ,<名前>,状態] および zabbix[プロキシグループ,ディスカバリ] 内部アイテムで監視できます。
プロキシの負荷分散と高可用性は、プロキシグループマネージャ プロセスによって管理されます。プロキシグループマネージャは、他のプロキシが正常か異常かを常に把握しています。
バージョン互換性
Zabbix server checks the balance between host assignments to the proxies. The group is considered "out of balance" if there is:
The group is considered "out of balance" if the number of hosts assigned to the proxy is above/below the group average by more than 10 and a factor of 2. In this case the group is marked by the server for host reassignment after the grace period (10 x failover delay), if the balance is not restored.
The following table illustrates with example numbers when host reassignment is (or is not) triggered:
Number of hosts on proxy | Group average | Host reassignment |
---|---|---|
>100 | 50 | Yes |
60 | 50 | No |
40 | 50 | No |
<25 | 50 | Yes |
>15 | 5 | Yes |
10 | 5 | No |
The proxy group manager will re-distribute hosts in proxy groups in the following way:
プロキシグループでZabbix Senderを使用する
入力ファイル内の異なるホストからの値をプロキシグループ内のプロキシに送信する場合は、-g オプションを使用して、一部の値が間違ったプロキシに送信されることを回避します。
監視ホストのプロキシ負荷分散を設定するには:
パッシブチェックの場合、グループ内のすべてのプロキシをエージェントの Server パラメータにリストする必要があります。
監視対象ホストの ServerActive エージェントパラメータに、グループ内のすべてのプロキシを追加することは有益ですが、必須ではありません。アクティブエージェントは、ServerActive フィールドにプロキシを 1 つだけ指定してもプロキシ負荷分散は機能します。エージェントサービスが起動すると、エージェントはすべての Zabbix プロキシの IP アドレスの完全なリストを受信し、メモリにロードして保持します。アクティブチェック(および Zabbix 送信データリクエスト)は、現在のプロキシとホストの割り当てに基づいて、ホストの適切なオンラインプロキシにリダイレクトされます。
ServerActive フィールドにプロキシを 1 つだけ指定すると、そのプロキシがオフラインのときにエージェントを起動または再起動すると、監視データが失われる可能性があります。
プロキシグループがオンラインであることを確認します。
ホストをプロキシグループ単位で監視するように設定します(個々のプロキシ単位で監視するわけではありません)。ホストの一括更新(/manual/config/hosts/hostupdate)を使用して、ホストをプロキシグループに移動できます。
単一のプロキシ(プロキシグループに属している場合でも)で監視されているホストは、負荷分散/高可用性には適用されません。 また、プロキシグループに割り当てられているホストが10台未満の場合、グループ内のプロキシ間でホストの配分が不均等になる可能性があります。
プロキシグループに属するプロキシからの自動登録/ネットワーク検出データに基づいてホストが作成されると、そのホストはこのプロキシグループで監視されるように設定されます。
エージェントは、ファイアウォールレベルですべてのプロキシに常にアクセスできるようにする必要があります。以下のシナリオを検討してください。
Zabbix フロントエンドでプロキシグループを設定するには、以下の手順に従います。
パラメータ | 説明 |
---|---|
名前 | プロキシグループ名を入力します。 |
フェイルオーバー間隔 | フェイルオーバーを実行するまでの間隔を秒単位で入力します(デフォルトは1分、許容範囲は10秒~15分)。 時間サフィックスがサポートされています(例:30秒、1分)。 ユーザーマクロがサポートされています。 |
プロキシの最小数 | グループをオンラインにするために必要なオンラインプロキシの最小数を入力します(デフォルトは1、許容範囲は1~1000)。 ユーザーマクロがサポートされています。 |
説明 | プロキシグループの説明を入力します。 |
プロキシ | グループ内のプロキシの一覧です。最大5つのプロキシを表示できます(プロキシへの権限に応じて、リンクまたはプレーンテキストで表示されます)。 既存のプロキシグループを編集する場合、グループ内に少なくとも1つのプロキシが存在すると、この一覧が表示されます。 |