2015年4月8日水曜日

HATopでHAProxyを監視・インタラクティブに操作

Quentin Meulepas MacBook Colors https://www.flickr.com/photos/kwintin/3473840881
http://feurix.org/projects/hatop/
HATopはHAProxyのクライアントソフトのひとつです。
HAProxyの統計情報を表示したり、ウェイトのパラメータなどをインタラクティブに操作できるようにします。
Python 2.4以上。HAProxy 1.4以上で動作します。



以下、セットアップ方法です。

HAProxyの設定に"stats socket"を追加しておきます。
# vim /etc/haproxy/haproxy.cfg 
    stats socket /var/lib/haproxy/stats user root group wheel level admin

# service haproxy reload
HATopのソースを取得してインストール。
# wget http://hatop.googlecode.com/files/hatop-0.7.7.tar.gz
# tar zxvf hatop-0.7.7.tar.gz
# cd hatop-0.7.7
# install -m 755 bin/hatop /usr/bin
# hatop -h
Usage: hatop -s SOCKET [OPTIONS]...

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit

  Mandatory:
    -s SOCKET, --unix-socket=SOCKET
                        path to the haproxy unix socket

  Optional:
    -i INTERVAL, --update-interval=INTERVAL
                        update interval in seconds (1-30, default: 3)
    -m MODE, --mode=MODE
                        start in specific mode (1-5, default: 1)
    -n, --read-only     disable the cli and query for stats only

  Filters:
    Note: All filter options may be given multiple times.

    -f FILTER, --filter=FILTER
                        stat filter in format "  "
    -p PROXY, --proxy=PROXY
                        proxy filter in format ""
HATopを起動。アップデート間隔を1秒としています。
# hatop -s /var/lib/haproxy/stats -i 1
キー 操作は以下のようになります。
h ヘルプを表示
TAB 表示モード切り替え
F4 Weightリセット
F5 Weight -10
F6 Weight -1
F7 Weight +1
F8 Weight +10
F9 有効化
F10 無効化
HATopを使って、簡単にHAProxyを操作できるようになりました。