ども、cloudpack の かっぱ (@inokara) です。
はじめに
HAProxy の内部情報を可視化する方法を模索していて、Datadog の Integrations に HAProxy のロゴがあったので試してみました。
ほんの数ステップで利用出来るようになります。
設定
HAProxy の設定
datadog で HAProxy の監視を行う場合には以下のように stats
を enable
にして uri
オプションでパスを指定します。
listen haproxy_stats bind 0.0.0.0:1919 mode http stats enable stats uri /stats
HAProxy を再起動してブラウザからアクセスしてみましょう。
上記のように HAProxy の内部情報がブラウザから確認することが出来るようになります。
datadog エージェントの設定
Datadog が HAProxy のメトリクスの収集は上記で設定したステータス画面の情報を取得しますので、既に datadog エージェントがインストールされて場合には以下のように設定するだけ。
# cat haproxy.yaml init_config: instances: - url: http://127.0.0.1:1919/stats
設定したら dd-agent を再起動します。
service datadog-agent restart
設定が反映されているかを確認しましょう。
dd-agent info
以下のように出力されます。
=================== Collector (v 5.1.1) =================== Status date: 2014-12-30 23:57:28 (7s ago) Pid: 75 Platform: Linux-3.16.7-tinycore64-x86_64-with-centos-6.6-Final Python Version: 2.7.8 Logs: <stderr>, /var/log/datadog/collector.log Clocks ====== NTP offset: 0.0055 s System UTC time: 2014-12-30 14:57:35.452790 Paths ===== conf.d: /etc/dd-agent/conf.d checks.d: /opt/datadog-agent/agent/checks.d Hostnames ========= socket-hostname: b761cfcaf122 hostname: b761cfcaf122 socket-fqdn: b761cfcaf122 Checks ====== haproxy ------- - instance #0 [OK] - Collected 58 metrics, 0 events & 4 service checks network ------- - instance #0 [OK] - Collected 11 metrics, 0 events & 1 service check Emitters ======== - http_emitter [OK]
上記の Checks
に haproxy
が表示され、[OK]
となっていますので暫くすると以下のように Datadog のダッシュボードに収集された HAProxy の各種メトリクスが表示されています。
おお。
特に設定をしない状態だと以下のような情報のメトリクスを確認することが出来ます。
- HAProxy statuses
- HAProxy Frontend traffic rate
- HAProxy backend traffic rate
- HAProxy Frontend sessions
- HAProxy backend errors rate
- HAProxy frontend errors rate
- HAProxy backend warnings rate
ちなみに、HAProxy が稼働しているサーバーのリソースも以下のように Datadog のダッシュボードから確認することが出来ます。
美しい。
ということで
Integrations のページを見ていると色々なミドルウェアやサービスに対応しているのでまだまだ遊べそうな Datadog です。
元記事はこちらです。
「HAProxy 内部情報を Datadog で可視化する」