2013年11月17日日曜日

L7ロードバランサHaproxyを使う(その3 syslogの設定とコマンドラインツール)

どうも、俺@眠いす。


今日は「L7ロードバランサHaproxyを使う(その2 設定から起動)」の続きです。
前回では、haproxy.cfgを編集してリクエストに応じて
バックエンドサーバを切り替える(Proxyする)ところまでやりました。
※サーバはCentOS6.xです。

今日はその設定にあった
1)ログ出力
2)haproxy状態を確認するコマンドラインツール
の使い方を書きます。


1)ログ出力
前回の説明で、haproxy.cfg設定に
log         127.0.0.1 local6 debug

というのがありました。
これはHaproxyのログを書き出す設定、というところまで説明しましたが、
今回はもう少し具体的に解説します。

syslogにログを出力させるために、まず /etc/syslog.confを開き、
# add haproxy setting
local6.* /var/log/haproxy_log
を追加します。
facility(local6)に設定した出力を/var/log/haproxy_logに書き出す、という意味です。
この書式は
(facility).(priority) (action)
です。
上の場合は、local6ファシリティの全てのpriorityを/var/log/haproxy_logに出力となりますが、
もし出力レベルを変えて「警告以上のみを出力」としたい場合などは
# add haproxy setting
local6.warn /var/log/haproxy_log
とすると良いでしょう。
または、haproxy.cfgの「debug」を「warn」に変えるという方法でも良いです。

次に、/etc/sysconfig/syslogを編集します。
SYSLOGD_OPTIONS="-m 0 -r"
そしてsyslogdを再起動。
service syslogd restart
これでログ出力完了(のはず)です。


2)haproxy状態を確認するコマンドラインツール
これは前回haproxy.cfgに設定した、
  # 統計情報が見れる。※ただし要設定!次回説明します。。
  stats socket /var/run/haproxy/stats.socket uid 105 gid 105 
の部分です。
コマンドラインからhaproxyのステータス情報を確認できるようになります。
まず、socatというツールをインストールします。
yum install --enablerepo=epel socat
haproxyを再起動します。
service haproxy restart

あとは、socatを使い情報を取得します。
// 一般的な情報を出力
echo "show info" | socat unix-connect:/var/run/haproxy/stats.socket stdio

// エラー情報を出力
echo "show errors" | socat unix-connect:/var/run/haproxy/stats.socket stdio

// 統計情報を出力
echo "show stats" | socat unix-connect:/var/run/haproxy/stats.socket stdio
のような感じです。
hastats(ステータスページ)では確認できないような詳細なデータを見ることが出来ます。



以上でぇぇぇぇぇす。

0 件のコメント: