HAProxy監視

HAProxy――概要

HAProxy(High Availability Proxyの意味)は、定評あるオープン ソースのTCP/HTTP負荷分散ソフトウェアです。TCPとHTTPベースのアプリケーションをプロキシします。高速で信頼性があり、トラフィックの多いWebサイトに向いているため、世界トップ級の多くのサイトで広く利用されています。

HAProxyの監視ーー当社が提供すること

HAProxyの最大の用途は、複数サーバーへの負荷分散による、パフォーマンスと信頼性の向上です(Web、アプリケーション、DBなど)。HAProxyのパフォーマンスと動作を最適に保つには、リスナー、フロント エンド、バックエンド、サーバーなどのキー メトリックを監視するのが最善の手段と言えます。Applications ManagerのHAProxy監視では、わかりやすい日本語GUIで、お客さまに以下の情報を提供します。

  • フロント エンドのメトリック。クライアント接続、リクエストなど
  • バックエンド メトリック。バックエンド サーバー可用性とステータス
  • ステータスのメトリック。HAProxyのステータス

フロント エンドとバックエンドでメトリックを相関させれば、お客さまインフラを包括的に把握、問題発生の集中ポイントとなりうる箇所を、迅速に切り分け可能です。Applications Managerの利用で、パフォーマンスのボトルネックを把握し、エンド ユーザー体感に影響する予兆のうちに、手早く是正アクションを起こせます。

新規HAProxy監視を作成するには

HAProxyメトリック監視の要件当社製品要件の該当機能の解説をご確認ください。

REST APIで新規HAProxy監視を追加するこちらをクリックしてご確認ください。

To add HAProxy監視、次の手順に従ってください。

  1. HAProxy監視の表示名を指定します。
  2. HAProxyの統計取得を実行しているホストの名前IPアドレスを指定してください。
  3. HAProxy統計の表示に使うポートを入力してください。デフォルトでは8080番です。
  4. ポーリング間隔を指定します(分)。
  5. HAProxy監視を関連付ける監視グループを選択ください(任意項目)。

監視対象のパラメーター

監視タブをクリックし、監視カテゴリ ビューへ移動してください。Webサーバー/サービス テーブルで、HAProxyをクリックしてください。HAProxy一括設定ビューが3つのタブに分類・表示されます。

  • 可用性タブでは、過去24時間か30日の可用性履歴を表示します。
  • パフォーマンス タブでは、過去24時間か30日のステータスとイベントを表示します。
  • リスト ビューでは、一括管理設定が可能です。

監視名をクリックすると、全サーバーの詳細が、次のタブに表示されます。

概要

パラメーター 説明
HAProxy利用率詳細
HAProxy利用率(%) HAProxyのCPU利用率を表します(%)。
実行中のタスク HAProxで実行中のタスクの総数を示します。
接続レート
接続(数/秒) HAProxyのクライアント接続速度を指します(数/秒)。
接続詳細
現在の接続 現在の接続の数です。
パイプ詳細
現在のパイプ 現在オープンなパイプの数です。

リスナー

パラメーター 説明
セッション利用率
利用済みセッション 利用中のセッションの数を示します。
空きセッション 非アクティブ セッションの数を指します。
トランザクション詳細
リクエスト拒否 セキュリティ上の理由で許否されたリクエスト件数です(ACLでの制約)。
レスポンス拒否 セキュリティ上の理由で許否されたレスポンスの数です(ACLでの制約)。
リクエスト エラー エラーを引き起こしたリクエストの件数を指します。
概要
現在のセッション リクエストの発行に現在利用されている、セッションの数を指します。
利用済みセッション(%) 利用中のセッションの割合です(%)。
受信バイト(KB) リスナーでのデータ受信量を示します(バイト)。
送信バイト(KB) リスナーでのデータ送信量を示します(バイト)。
アドレス リスナーのHTTPアドレスです。[host]:[address]形式か、「unix」です。IPv6アドレスは角括弧で囲い表示します。
モード プロキシの通信モードを表します(TCP、HTTPなど)。
ステータス サービス ステータスを表します。UP、DOWN、NOLB、MAINT、MAINT(via)などがあります。
トランザクション詳細
リクエスト拒否 セキュリティ上の理由で許否されたリクエスト件数です(ACLでの制約)。
レスポンス拒否 セキュリティ上の理由で許否されたレスポンスの数です(ACLでの制約)。
リクエスト エラー エラーを引き起こしたリクエストの件数を指します。
接続によるリクエスト拒否 接続によりリクエストが拒否された回数を指します。
セッションによるリクエスト拒否 セッションによりリクエストが拒否された回数を指します。

フロント エンド

フロント エンドのメトリックでは、クライアントとロード バランサーの相互通信情報を示します。

パラメーター 説明
セッション利用率
利用済みセッション 利用中のセッションの数を指します。
空きセッション 非アクティブ セッションの数を指します。
トランザクション詳細
リクエスト拒否 セキュリティ上の理由で許否されたリクエスト件数です(ACLでの制約)。
レスポンス拒否 セキュリティ上の理由で許否されたレスポンスの数です(ACLでの制約)。
リクエスト エラー エラーを引き起こしたリクエストの件数を指します。
概要
サービス名 サービス名を示します。フロント エンドはFRONTEND、バックエンドはBACKEND、サーバーやリスナーにはそれぞれの名前が利用されます。
現在のセッション リクエスト発行に使われている現在のセッションの数を表します。
利用済みセッション(%) 利用中のセッションの割合です(%)。
セッション レート セッション作成のペースを指します(数/秒)。
最大セッション レート 最速の新規セッション レートを指します(数/秒)。
受信バイト(KB) フロント エンドでのデータ受信量を示します(バイト)。
送信バイト(KB) フロント エンドでのデータ送信量を示します(バイト)。
モード プロキシの通信モードを表します(TCP、HTTPなど)。
ステータス フロント エンドのステータスです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)などがあります。
トランザクション詳細
サービス名 サービス名を示します。フロント エンドはFRONTEND、バックエンドはBACKEND、サーバーやリスナーにはそれぞれの名前が利用されます。
リクエスト拒否 セキュリティ上の理由で許否されたリクエスト件数です(ACLでの制約)。
レスポンス拒否 セキュリティ上の理由で許否されたレスポンスの数です(ACLでの制約)。
リクエスト エラー エラーを引き起こしたリクエストの件数を指します。
総リクエスト HTTPリクエストの総数です。
接続によるリクエスト拒否 「tcp-request connection」ルールでリクエストが拒否された件数を表します。
セッションによるリクエスト拒否 「tcp-request session」ルールでリクエストが拒否された件数を表します。
リクエスト レート HTTPリクエストのレートを指します。
最大リクエスト レート HTTPリクエスト最多レートを指します。
接続(数/秒) 最新経過1秒における接続の数を表します。
HTTPレスポンス数
サービス名 サービス名を示します。フロント エンドはFRONTEND、バックエンドはBACKEND、サーバーやリスナーにはそれぞれの名前が利用されます。
総HTTPレスポンス HAProxyはレスポンス数の内訳をHTTPステータス コードごとに示します(1xx、2xx、3xx、4xx、5xx、その他)。理想的状況では、HAProxyが転送するレスポンスは、すべてクラス2xxのコードとなります。
圧縮詳細
コンプレッサーへのバイト コンプレッサー宛てHTTPレスポンスの、データ量を指します(バイト)。
コンプレッサーからのバイト コンプレッサーが送信するHTTPレスポンスのデータ量を指します(バイト)。
コンプレッサー迂回バイト(bypassed bytes) HTTPコンプレッサーを迂回したデータの量を示します(バイト)。
圧縮済みレスポンス 圧縮されたHTTPレスポンスの数を指します。

バックエンド

パラメーター 説明
キュー利用率
利用済みキュー 現在、キューイング済みのリクエストの数を指します。
空きキュー 空きキューに入っているリクエストの数を指します。
セッション詳細
利用済みセッション 利用中のセッションの数を指します。
空きセッション 非アクティブ セッションの数を指します。
概要
総Weight Servers can be assigned a weight parameter to manipulate how frequentlyサーバーis selected.
総ダウンタイム(秒) 総ダウンタイム(秒). 値forバックエンドisダウンタイムfor whole backend, not sum ofサーバーdowntime.
ダウンタイム率(%) 総ダウンタイムの比率です(%)。HAProxyのアップタイムとセットで計算します。
アクティブなサーバー アクティブ サーバーの数を指します。
バックアップ サーバー バックアップ サーバーの数を指します。
サーバー選出回数(No. times Server selected) サーバーが選出された合計回数を表します。新規セッションのためのものも、再ディスパッチのためのものもカウントします。
モード プロキシの通信モードを表します(TCP、HTTPなど)。
ステータス フロント エンドのステータスです。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)などがあります。
セッション詳細
現在のキュー サイズ キュー内ので現在、まだ割り当てのないリクエスト件数を指します。バックエンド側では、キューイングされてはいるものの割り当てサーバーが決まっていないものを表します。
利用済みキュー(%) キューの利用率です(%)。
現在のセッション リクエスト発行に使われている現在のセッションの数を表します。
利用済みセッション(%) 利用中のセッションの割合です(%)。
セッション レート 新規セッションのレートです。
最大新規セッション数 新規セッション作成の最多レートを指します。
最新セッション割り当て後経過時間(秒) サーバー/バックエンドに最新セッションが割り当てられて以来の経過時間を示します(秒)。
トランザクション詳細
受信バイト(KB) バックエンド ホストにおけるデータ受信レートを指します。
送信バイト(KB) バックエンド ホストにおけるデータ送信レートを指します。
リクエスト拒否 「tcp-request connection」ルールによるリクエスト拒否を指します。
レスポンス拒否 「tcp-request session」ルールによるリクエスト拒否を指します。
接続エラー バックエンド サーバーへの接続時に発生したリクエスト エラーの数を指します。
レスポンス エラー バックエンドから発生したレスポンス エラーの数です。
レスポンス サマリ
総HTTPレスポンス HAProxyはレスポンス数の内訳をコードごとに示します(1xx、2xx、3xx、4xx、5xx、その他)。理想的状況では、HAProxyが転送するレスポンスは、すべてクラス2xxのコードとなります。
平均セッション時間(ミリ秒) セッションの所要時間を示します。
平均応答時間(ミリ秒) キューイング、接続、レスポンスにかかる合計時間の平均値です。
接続リトライ 送信元ポート範囲に関わるマルチ プロセス設定は、高負荷な状況ではランダムなエラー発生につながることがあります(複数プロセスが、同じサーバーへの接続に同じ送信元ポートを使おうとするため)。システムはレポートを報告し、別ポートを選んでリトライを行います。このリトライ数が上昇しているときは、CPU利用率や処理時間も上がります。
リクエスト再ディスパッチ リクエストが別のサーバーに再ディスパッチされた回数を指します。サーバーがディスパッチ先から外された回数とも言えます。
クライアント アボート クライアントによるデータ転送アボートの数を指します。
サーバー アボート サーバーによるデータ転送アボートの数を指します。
コンプレッサー詳細
コンプレッサーへのバイト コンプレッサー宛てHTTPレスポンスの、データ量を指します(バイト)。
コンプレッサーからのバイト コンプレッサーが送信するHTTPレスポンスのデータ量を指します(バイト)。
コンプレッサー迂回バイト(bypassed bytes) HTTPコンプレッサーを迂回したデータの量を示します(バイト)。
圧縮済みレスポンス 圧縮されたHTTPレスポンスの数を指します。

サーバー

パラメーター 説明
キュー利用率
利用済みキュー 現在キューイング済みのリクエストの数を指します。
空きキュー 空きキューイング済みリクエストの数です。
セッション詳細
利用済みキュー 利用中のセッションの数を指します。
空きキュー 非アクティブ セッションの数を指します。
概要
サーバー荷重(weight) 総サーバー荷重(weight)「荷重(weight)」パラメーターは、他のサーバーと比べた際のサーバーへの負荷を補正するのにつかいます。サーバーはシステム全体への総荷重のうち、自分への荷重に応じた分量の負荷を引き受けます。すなわち、荷重が多いほど負荷が上昇します。
総ダウンタイム(秒) 総サーバー ダウンタイム(秒)
ダウンタイム率(%) 総ダウンタイムの比率です(%)。HAProxyのアップタイムとセットで計算します。
アクティブなサーバー アクティブ サーバーの数を指します。
バックアップ サーバー バックアップ サーバーの数を指します。
サーバー選出回数(No. times Server selected) サーバーが選出された合計回数を表します。新規セッションのためのものも、再ディスパッチのためのものもカウントします。
アドレス サーバーIPアドレス
モード プロキシの通信モードを表します(TCP、HTTPなど)。
ステータス フロント エンドのステータスを表します。UP、DOWN、NOLB、MAINT、MAINT(via)、MAINT(resolution)などがあります。
セッション詳細
現在のキュー サイズ バックエンド サーバーすべてでのキュー サイズ合計を表します。
利用済みキュー(%) キューの利用率です(%)。
現在のセッション リクエスト発行に使われている現在のセッションの数を表します。
利用済みセッション(%) 利用中のセッションの割合です(%)。
セッション レート 新規セッションのレートです。
最大新規セッション数 新規セッション作成の最多レートを指します。
最新セッション割り当て後経過時間(秒) サーバー/バックエンドに最新セッションが割り当てられて以来の経過時間を示します(秒)。
トランザクション詳細
受信バイト(KB) サーバーがクライアントから受信したデータ量を指します(KB)。
送信バイト(KB) サーバーが送信したデータ量を指します(KB)。
レスポンス拒否 セキュリティ上の制限によるリクエスト許否の件数を指します。
接続エラー バックエンド サーバーへの接続中、エラーが発生したリクエストの件数を表します。
レスポンス エラー サーバーから発生したレスポンス エラーの数です。
スロットル率(%) スロウ スタートが有効なときに、サーバーでのスロットルを示します(%)。無効であれば、値は示しません。
レスポンス サマリ
総HTTPレスポンス HAProxyはレスポンス数の内訳をHTTPステータス コードごとに示します(1xx、2xx、3xx、4xx、5xx、その他)。理想的状況では、HAProxyが転送するレスポンスは、すべてクラス2xxのコードとなります。
平均セッション時間(ミリ秒) セッションの所要時間を示します。
平均応答時間(ミリ秒) キューイング、接続、レスポンスにかかる合計時間の平均値です。
接続リトライ 送信元ポート範囲に関わるマルチ プロセス設定は、高負荷な状況ではランダムなエラー発生につながることがあります(複数プロセスが、同じサーバーへの接続に同じ送信元ポートを使おうとするため)。システムはレポートを報告し、別ポートを選んでリトライを行います。このリトライ数が上昇しているときは、CPU利用率や処理時間も上がります。
リクエスト再ディスパッチ リクエストが別のサーバーに再ディスパッチされた回数を指します。サーバーがディスパッチ先から外された回数とも言えます。
クライアント アボート クライアントによるデータ転送アボートの数を指します。
サーバー アボート サーバーによるデータ転送アボートの数を指します。
ステータス チェック
チェック失敗 チェック失敗の数を示します。ただし、サーバーが落ちている時はチェック失敗をカウントしません。
ステータス チェック失敗 ステータス チェック失敗の数を指します。
ステータス チェック レスポンス コード ステータス チェックに失敗したときのレスポンス コードです。
ステータス チェックのコンテンツ、ステータス チェックの説明、ステータス チェックの経過時間(ミリ秒) ステータス チェックの詳細情報を示します。
エージェント チェックのレスポンス コード、エージェント チェックのコンテンツ、エージェント チェックの説明、エージェント チェックの経過時間(ミリ秒) 最新エージェント チェックの詳細です。

設定

パラメーター 説明
設定詳細
プロセスID システムが割り当てたHAProxyのプロセスIDです。
サーバー起動時刻 サーバーの直近起動時刻を指します。
バージョン HAProxyのバージョンを指します。
最大メモリ HAProxy向けの最大許容メモリです。
最大ソケット数 作成できる最多ソケットを指します。
最大接続数 接続HAProxyの接続数上限を指し、設定とプラットフォームで決まります。
最大パイプ数 情報転送のため作成できる最多パイプ数を示します。
最大ファイル デスクリプター数 ファイル ディスク リプターを開ける上限の数を指します。