http://exchange.nagios.org/directory/Plugins/Network-Connections,-Stats-and-Bandwidth/HAProxy-check/details
HAProxyを監視するNagiosプラグインです。
HAProxy配下のサーバのアップダウンや、セッション数にしきい値を設けてアラート出来ます。
以下、セットアップ方法です。
HAProxyのステータスを取得できるようにしておきます。
# vim /etc/haproxy/haproxy.cfg #--------------------------------------------------------------------- # stats #--------------------------------------------------------------------- listen stats 127.0.0.1:1919 mode http stats uri /haproxy-status # service haproxy reload # curl '127.0.0.1:1919/haproxy-status?stats;csv'ソースを取得。
# wget https://raw.githubusercontent.com/benprew/nagios-checks/master/check_haproxy.rb --no-check-certificate動作確認。
# ruby check_haproxy.rb -u http://127.0.0.1:1919/haproxy-status -w 80 -c 90 -u, --url URL Statistics URL to check (eg. http://demo.1wt.eu/) -p, --proxies [PROXIES] Only check these proxies (eg. proxy1,proxy2,proxylive) -U, --user [USER] Basic auth user to login as -P, --password [PASSWORD] Basic auth password -w, --warning [WARNING] Pct of active sessions (eg 85, 90) -c, --critical [CRITICAL] Pct of active sessions (eg 90, 95) -h, --help Display this screen
正常時
$ ruby check_haproxy.rb -u http://127.0.0.1:1919/haproxy-status -w 80 -c 90 HAPROXY OK: 4 proxies found mysql: UP active mysql1 mysql: UP active mysql2 redis: UP active redis1 redis: UP active redis2異常時
$ ruby check_haproxy.rb -u http://127.0.0.1:1919/haproxy-status -w 80 -c 90 HAPROXY WARN: mysql: DOWN active mysql2 mysql: UP active mysql1 mysql: DOWN active mysql2 redis: UP active redis1 redis: UP active redis2
あとは、このスクリプトをnagiosに設定しておけばOKです。