プロキシ負荷分散により、プロキシグループ単位でホストを監視できます。これにより、プロキシ間でのホストの自動分散と高いプロキシ可用性が実現します。
プロキシグループ内の1つのプロキシがオフラインになった場合、そのホストは、グループ内で割り当てホスト数が最も少ない他のプロキシに即座に分散されます。また、プロキシのホスト数がグループ平均と比較して多すぎる/少なすぎる場合は、ホストを均等に分散するグループの再分散がトリガーされます。
ホストの再分散は、オンラインのプロキシグループでのみ行われます。プロキシグループが"オンライン"になるのは、設定された最小数のプロキシがオンラインになっている場合(オフラインまたは不明ではない場合)、そのプロキシグループが"オンライン"になっている状態です。
オンラインプロキシの最小数は、グループ内のプロキシの総数よりも小さくする必要があります。10台のプロキシグループで最小オンラインプロキシ数を10に設定すると、1台のプロキシに障害が発生した場合にグループ全体がオフラインになる状況が発生します。オンラインプロキシは6台必要となるのが理想的です。これにより、4台のプロキシが不健全な状態になっても対応できます。
プロキシの状態は以下のとおりです。
プロキシグループの状態は、zabbix[プロキシグループ,<名前>,状態] および zabbix[プロキシグループ,ディスカバリ] 内部アイテムで監視できます。
プロキシの負荷分散と高可用性は、プロキシグループマネージャ プロセスによって管理されます。プロキシグループマネージャは、他のプロキシが正常か異常かを常に把握しています。
バージョン互換性
プロキシの負荷分散と高可用性は、Zabbixサーバーのプロキシグループマネージャを介して管理されます。このマネージャは、各プロキシグループ内のすべてのプロキシの状態とホストの配分を継続的に監視します。
グループ内のプロキシの高可用性は、プロキシがオフラインになると起動され、そのホストは即座に他のプロキシに再配分されます。
また、プロキシの負荷分散も発生し、ホストは割り当てホスト数が最も少ないプロキシに再割り当てされます。
さらに、プロキシのホスト数がグループ平均から10台以上かつ2倍以上の差(ホスト超過またはホスト不足)がある場合にも、プロキシの負荷分散が起動されます。
猶予期間(10 x フェイルオーバー遅延)が経過しても不均衡が続く場合、プロキシグループはホストの再配分キューに登録されます。
プロキシグループマネージャは、以下のロジックを使用してホストを再配分します。
ホストの再配分の例:
プロキシ上のホスト数 | グループ平均 | ホストの再割り当て |
---|---|---|
100 | 50 | はい |
60 | 50 | いいえ |
40 | 50 | いいえ |
25 | 50 | はい |
15 | 5 | はい |
10 | 5 | いいえ |
単一のプロキシ(プロキシグループに属している場合でも)によって監視されるホストは、負荷分散/高可用性には影響しません。 また、プロキシグループ内のホストが10台未満の場合、グループ内のプロキシ間でホストの分散が不均一になる可能性があります。
Zabbix フロントエンドでプロキシグループを設定するには、以下の手順に従います。
パラメータ | 説明 |
---|---|
名前 | プロキシグループ名を入力します。 |
フェイルオーバー間隔 | フェイルオーバーを実行するまでの間隔を秒単位で入力します(デフォルトは1分、許容範囲は10秒~15分)。 時間サフィックスがサポートされています(例:30秒、1分)。 ユーザーマクロがサポートされています。 |
プロキシの最小数 | グループをオンラインにするために必要なオンラインプロキシの最小数を入力します(デフォルトは1、許容範囲は1~1000)。 ユーザーマクロがサポートされています。 |
説明 | プロキシグループの説明を入力します。 |
プロキシ | グループ内のプロキシの一覧です。最大5つのプロキシを表示できます(プロキシへの権限に応じて、リンクまたはプレーンテキストで表示されます)。 既存のプロキシグループを編集する場合、グループ内に少なくとも1つのプロキシが存在すると、この一覧が表示されます。 |
プロキシ負荷分散を使用するには、Zabbixフロントエンドでプロキシグループを設定(上記参照)し、ホストが個々のプロキシではなくプロキシグループで監視されていることを確認する必要があります(ホストの一括更新を使用して、ホストをプロキシからプロキシグループに移動できます)
さらに、Zabbixエージェントを以下のように設定します。
ServerActive
パラメータにプロキシグループ(または Zabbix サーバー)から 1 つのプロキシのみが含まれている場合でも、エージェントは正しいプロキシに接続できます。 エージェントサービスが起動し、指定されたプロキシに接続すると、エージェントはグループ内のプロキシ IP の完全なリストと現在の負荷を受信してキャッシュします。 その後、アクティブチェックは、プロキシグループ内の現在のプロキシとホストの割り当てに基づいて、ホストの適切なオンラインプロキシにリダイレクトされます。
ZabbixエージェントのServerActive
パラメータにプロキシを1つしか指定していない場合、指定されたプロキシがオフラインの状態でエージェントを起動/再起動すると、監視データが失われる可能性があります。
Zabbix senderを使用する場合、データリクエストは、プロキシグループ内の現在のプロキシとホストの割り当てに基づいて、ホストの適切なオンラインプロキシにもリダイレクトされます。 ただし、入力ファイルから複数のホストの値を送信する場合は、-g
オプションを使用して、間違ったプロキシにデータが送信されないようにしてください。
Zabbixエージェントは、ファイアウォールを介してプロキシグループ内のすべてのプロキシに接続できる必要があります。 そうでない場合、リダイレクトまたはフェイルオーバー中にアクティブチェックがハングしたり失敗したりする可能性があります。例:
プロキシ負荷分散をテストするには、以下の手順に従います。