2015年4月8日水曜日

New RelicでHAProxyを監視する

Sean Freese Day 115: "Server room bokeh" https://www.flickr.com/photos/seanfreese/6965700818
https://rpm.newrelic.com/accounts/778367/plugins/directory/142
New RelicのHAProxyプラグインです。
Traffic、Sessions、Connection Queue、Denied Requests、Downtime、Errorsといったメトリクスを収集してグラフ化します。

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

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'
必須ライブラリをインストール。
# yum -y --enablerepo=epel install gcc libyaml-devel python-setuptools python-pip python-devel
ソースをgit cloneで取得してインストール。
# git clone https://github.com/MeetMe/newrelic-plugin-agent.git
# cd newrelic-plugin-agent
# python setup.py install
# cat /usr/bin/newrelic-plugin-agent
設定ファイルのホスト名を編集。
# vim /etc/newrelic/newrelic_plugin_agent.cfg
  haproxy:
    name: [ホスト名を入力]
    scheme: http
    host: localhost
    port: 1919
  #  verify_ssl_cert: true
    path: /haproxy-status?stats;csv
エージェントをスタート。
# newrelic-plugin-agent -c /etc/newrelic/newrelic_plugin_agent.cfg
ログを確認。
# cat /var/log/newrelic/newrelic_plugin_agent.log
INFO       2015-03-27 14:39:19,485 6590   MainProcess     MainThread newrelic_plugin_agent.agent                   __init__                  L55    : Agent v1.3.0 initialized, Linux-2.6.32-504.3.3.namibuild.el6.x86_64-x86_64-with-glibc2.2.5 (CentOS 6.6 Final) CPython v2.6.6
INFO       2015-03-27 14:39:19,497 6602   MainProcess     MainThread newrelic_plugin_agent.agent                   start_plugin_polling      L263   : Enabling plugin: haproxy
INFO       2015-03-27 14:39:19,519 6602   MainProcess     MainThread newrelic_plugin_agent.plugins.base            finish                    L140   : HAProxy poll successful, completed in 0.02 seconds
INFO       2015-03-27 14:39:19,519 6602   MainProcess     MainThread newrelic_plugin_agent.agent                   send_components           L220   : Sending 15 metrics to NewRelic
INFO       2015-03-27 14:39:20,200 6602   MainProcess     MainThread newrelic_plugin_agent.agent                   process                   L133   : Stats processed in 0.70 seconds, next wake in 59 seconds

New Relicにログインして、プラグインページから確認してみてください。
うまくメトリクスが収集できているでしょうか?