2015年3月30日月曜日

HAProxyを監視するMuninプラグイン

Danny Choo Follow Sato Dai  Ergo Proxy - another title that Sato-san worked on https://www.flickr.com/photos/dannychoo/8147019784
HAProxyを監視するMuninプラグインです。

contrib/plugins/haproxy at master · munin-monitoring/contrib
https://github.com/munin-monitoring/contrib/tree/master/plugins/haproxy


アクティブ・非アクティブなサーバ、トラフィック、セッション、エラーなど広範囲なステータスをメトリクス化できます。すべての監視項目を有効化すると31項目です。

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

HAProxyのステータスを取得できるようにしておきます。
今回は、バックエンドにMySQLを置く設定です。
# cat /etc/haproxy/haproxy.cfg
#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
listen mysql
    bind 0.0.0.0:3307
    mode tcp
    option mysql-check user haproxy
    balance roundrobin
    server mysql1 127.0.0.1:3306 check port 3306 inter 10s rise 2 fall 5
    server mysql2 127.0.0.1:3306 check port 3306 inter 10s rise 2 fall 5

#---------------------------------------------------------------------
# stats
#---------------------------------------------------------------------
listen stats 127.0.0.1:1919
    mode http
    stats uri /haproxy-status
ソースをgit cloneで取得
# git clone https://github.com/munin-monitoring/contrib.git
Muninプラグインのディレクトリにコピー
# cp contrib/plugins/haproxy/* /usr/share/munin/plugins/
設定ファイルを記述
env.backendと、env.frontendには、HAProxyで設定しているlistenの値を入れます
# emacs /etc/munin/plugin-conf.d/haproxy
[haproxy*]
user root
env.backend mysql
env.frontend mysql
env.url http://127.0.0.1:1919/haproxy-status?stats;csv
利用可能なHAProxyプラグインを表示
# munin-node-configure -suggest | grep haproxy
HAProxyプラグインのリンクを貼る
# munin-node-configure --shell  | grep haproxy | sh
munin-nodeをリスタート
# service munin-node restart

うまくグラフが表示されたでしょうか?