ども、cloudpackかっぱ (@inokara) です。

はじめに

HAProxy の内部情報を可視化する方法を模索していて、DatadogIntegrations に HAProxy のロゴがあったので試してみました。
HAProxy 内部情報を Datadog で可視化する: Datadog の Integrations に HAProxy のロゴ

ほんの数ステップで利用出来るようになります。

設定

HAProxy の設定

datadog で HAProxy の監視を行う場合には以下のように statsenable にして uri オプションでパスを指定します。

listen haproxy_stats
  bind 0.0.0.0:1919
  mode http
  stats enable
  stats uri /stats

HAProxy を再起動してブラウザからアクセスしてみましょう。
HAProxy 内部情報を Datadog で可視化する: HAProxyの設定(1)

上記のように 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]

上記の Checkshaproxy が表示され、[OK] となっていますので暫くすると以下のように Datadog のダッシュボードに収集された HAProxy の各種メトリクスが表示されています。
HAProxy 内部情報を Datadog で可視化する: Datadogの設定

おお。
特に設定をしない状態だと以下のような情報のメトリクスを確認することが出来ます。

  • 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 のダッシュボードから確認することが出来ます。
HAProxy 内部情報を Datadog で可視化する: Datadogのダッシュボードで確認

美しい。

ということで

Integrations のページを見ていると色々なミドルウェアやサービスに対応しているのでまだまだ遊べそうな Datadog です。

元記事はこちらです。
HAProxy 内部情報を Datadog で可視化する