HAProxy監視

HAProxy, TCP/HTTP ロードバランサ―のHAProxyプラグインを設定して、適切なオペレーションとパフォーマンスの実行を確実にします。

HAProxyは、リクエストを複数のサーバーに分散するTCPおよびHTTPベースのアプリケーションに、高可用性ロードバランサーおよびプロキシサーバーを提供する、フリーなオープンソースソフトウェアです。HAProxyプラグインは、最適なオペレーションとパフォーマンスの実行を確実にします。

このページでは、HAProxyサーバーのパフォーマンス、可用性、使用統計を詳細に可視化するための、HAProxyプラグインと監視メトリクスの設定方法について説明します。

 

HAProxyパフォーマンス監視メトリクス:

サポートされているメトリクスは以下の通りです:

Request errors

「request-errors」メトリクスは、クライアントがプロキシサーバーに対してリクエストを行った際に発生した、エラー合計数をカウントして記録します。

Bytes in

「bytes-in」メトリクスは、クライアントから直前の5秒間にフロントエンドプロキシによって受信された、総バイト数を記録します。

Bytes out

「bytes-out」メトリクスは、クライアントから直前の5秒間にフロントエンドプロキシによって送信された、総バイト数を記録します。

Current requests in queue

「requests-queue-current」メトリクスは、現在割り当てられていないプロセスキュー内のリクエスト合計数を記録します。

Current sessions rate

「sessions-rate-current」メトリクスは、HAProxyセットアップで1秒あたりに作成されたセッション合計数を取得します。

 

手順

  • Site24x7アカウントにログインします。アカウントをお持ちでない場合は、 こちら からサインアップへお進みください。
  • Site24x7 Linux エージェント の最新バージョンをダウンロードおよびインストールします。
  • HAProxyプラグインをインストールします。
  • エージェントはHAProxyプラグインを実行し、Site24x7サーバーにデータをプッシュします。

前提条件:

  • このプラグインはPythonベースであり、Pythonバージョン2.7以降をサポートしています。

HAProxyプラグインのインストール:

cd /opt/site24x7/monagent/plugins/
mkdir haproxy
cd haproxy
wget https://raw.githubusercontent.com/site24x7/plugins/master/haproxy/haproxy.py
  • Site24x7 Linuxエージェントのプラグインディレクトリー[ /opt/site24x7/monagent/plugins/ ]に、[haproxy]という名前のディレクトリーを作成します。
  • GitHubリポジトリ―から[haproxy.py]ファイルをダウンロード し、[haproxy]ディレクトリーに配置します。
  • 上記手順の実行コマンド:
  • プラグインファイルのダウンロードが完了すると、エージェントは次回のデータ収集でマークアップし、Site24x7クライアントで表示できるようになります。

HAProxyプラグインの設定:

listen appname 0.0.0.0:80
mode http
stats enable
stats uri /haproxy?stats
stats realm Strictly\ Private
stats auth userName:password
/etc/init.d/haproxy restart
  • [/etc/haproxy/haproxy.cfg]にあるHAProxy設定ファイルを編集し、以下コードを追加して統計を有効にします:
  • 変更を保存し、以下のコマンドを使用してHAProxyを再起動します(本番サーバーでの再起動時には注意が必要です)。
  • ユーザー名、パスワード(ある場合)および監視するホスト/ポートを入力します。
    *url = "http://localhost:80/haproxy?stats;csv"
    username = None
    password = None
    **realm = None
     
    *統計URLを追加した後、[;csv]プレフィックスを保持します。
    **HAProxy設定ファイルに領域を指定していない場合は、[None]と入力します。また、値を追加する際に、エスケープ文字は使用できません。

メトリクスを追加で監視:

  • メトリクスを追加で監視するには、[haproxy.py]ファイルを編集し、監視が必要なメトリクスを新しく追加します。
  • 新しく追加されたメトリクスを表示するには、[haproxy.py]ファイルのプラグインバージョン値をインクリメントします(たとえば、デフォルトのプラグインのバージョンをPLUGIN_VERSION=「1」からPLUGIN_VERSION=「2」に変更します)

関連プラグイン:

  • Elasticsearchプラグイン - Elasticsearchシステムのパフォーマンスメトリクスを監視します。
  • MongoDBプラグイン - MongoDBデータベースのパフォーマンスメトリクスを監視します。
  • Varnish Cacheプラグイン - Varnish Cacheサーバーのパフォーマンスを分析します。
  • Nagiosプラグイン - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
  • Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
  • カスタムプラグインの作成 – カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。