Datadogの使用イメージを掴む

こんにちは角田(tsunoda)です。

今回はDatadogを触ってみたので、グラフの設定の方法など基本的な使い方をざっくりご紹介します。
Datadogってこんな感じかというイメージをもって頂ければ幸いです。

Datadogとは

Datadogとは、モニタリングクラウドサービスです。
サーバのリソースやミドルウェアのもモニタリングが可能です。

install

Datadogによる監視を有効にするには、
Datadog-agentを対象サーバにinstallする必要があります。
まずはDatadogにサインアップ!
Datadog
自分は2週間のフリートライアルを試しました。
Datadogにログインしたら、メニューバーから以下にアクセス。

Integrations→Agent→installするサーバのOSを選択

するとDD_API_KEYなるものが付与されたinstallコマンドがありますので、
対象サーバで実行します。

今回は以下の環境を用意しました。

gcp環境
CentOS7
n1-standard-1

installが完了すると、 /etc/datadog-agent/配下に色々できます。
/etc/datadog-agent/datadog.yaml はconfigファイルです。
/etc/datadog-agent/conf.d/配下にはミドルウェアを監視するためのyamlファイルがあります。

起動
systemctl start datadog-agent

監視設定の色々

グラフの設定などをご紹介します。

dashboard

DashboardsメニューからDashboard Listを選択すると、
Dashboard一覧が出てきます。
表示も作成順やname順など設定可能です。
また、自分用のListも作成することができ、
よく使うDashboardはそのListにまとめておくと便利です。


Dashboard グラフの設定

●dashboardの鉛筆マークで編集できます。
  Metricで色々とリソースを選べます。
  cpustats,loadavg,memstats,io,などなど…

●fromでタグが選べ、そのタグでグラフを出せます。
  host指定はもちろん、region、zone、project指定なんかも可能です。

●+ボタンを押してRollup/Avarageを選択
  periodに60と入れると、60秒ごとにrollupするように設定できます。
  この設定で更新頻度を変更可能です。

●Add Query+を押すとMetricを追加できます。
  左にaとかbとかMetricごとに出ます。
  ここをクリックすると表示、非表示も可能です。
  このa、bを使って、算術でグラフを作成できます。


  Add Formula+を押すと算術を書く欄が出るので、そこにa、bを使って算術を書きます。
  例えば、a - b
  aのMetricの値からbを引いた値のグラフを出せます。
  これだけ表示したければ、aとかbをクリックして非表示にすれば良し。
  掛け算などもできるので、取得できない数値を算術で出す事もできますね!

middlewareのoverview

まずはIntegrationsメニューからIntegrationsを選択します。
必要なmiddlewareのoverviewをDatadogへinstallできます。

overviewに値を入れるには、
ミドルウェアの設定ファイルとdatadogの conf.d/midleware.d/XX.yaml を設定する必要があります。

例) nginxの監視をoverviewに入れる。

まずはnginxの設定で以下のような設定を追加します。

自分はlocalhost.confに追記しています。
# nginx status
location /nginx_status {
  root /status/check/pass/;
  stub_status on;
  access_log off;
  allow 127.0.0.1;
  allow XXX.XX.XX.XX;
  deny all;
  }

次に、datadogの設定をします。
/etc/datadog-agent/conf.d/nginx.d/conf.yaml.example
というファイルがあるので、それを同じdirにcpします。

$ cp conf.yaml.example nginx.yaml
$ vi nginx.yaml
・・・
  - nginx_status_url: http://127.0.0.1/nginx_status/
#  - nginx_status_url: http://localhost/nginx_status/
  #   tags:
  #     - instance:foo
  #
  # - nginx_status_url: http://example2.com:1234/nginx_status/
  #   ssl_validation: False
・・・

先ほど設定したlocationを設定します。
datadog-agent statusコマンドで設定の確認ができます。

$ datadog-agent status

    nginx (3.1.0)
    -------------
      Instance ID: nginx:hogehoe [OK]
      Total Runs: XXX
      Metric Samples: Last Run: X, Total: XXX
      Events: Last Run: X, Total: X
      Service Checks: Last Run: , Total: XXX
      Average Execution Time : Xms

そして systemctl restart datadog-agent
done!

こんな感じで、middlewareとDatadogの設定で監視も可能になります。
Datadogには基本的なmiddlewareだけじゃなく、
gcp,awsといったクラウドの監視項目も充実しています。

各メニュー

よく使うであろう左メニュー項目の役割をまとめてみました。

●Events
  何が再起動したのか、どんなalertが飛んだのかなど、
  その時に起こった出来事を確認できます。
  ここはmonitorのアラートと連携しています。
  FROM欄で表示するものを絞る事も可能です。

●Dashbords
  グラフを確認できます。
  New Dashbord+を押せば新しいDashboardも作成可能です。
  新しいListを作成でき、そこに自分がよく見るdashboardを登録できます。
  Integrationsでinstallしておけばそのmiddlewareのoverviewはここで確認可能です。

●Infrastructure
  Hostmapでdatadog-agentが起動しているインスタンスを確認できます。
  さらにインスタンスを選択すると、
  その中でどんなmiddlewareが起動してるか、監視tagsは何が対象になっているか、
  datadog-agentのバージョン、systemc(スペック)など確認できます。

●monitor
  ここでアラートの設定ができます。   datadog-agent自体も監視しています。
  監視設定してあるものはEventsの他にも好きなアドレスへ飛ばせます。

●Metrics
  ここで閲覧したいグラフを確認できます。
  summaryでMetric Nameの詳細情報が確認できます。
  MetricのMetadataを編集できます。
  どのhostか、tagはなにかなど確認することができます。

●Integrations
  middlewareのmetricをinstallできます。
  APIsでKeyの確認だできたり、keyの削除もできます。
  Events API Emailでmailを送る事も可能です。
  AgentでOSを選んでdatadog-agnetのinstall方法を確認できます。

●Notebooks
  グラフの添付、メモの追加ができます。
  何か障害のあった時のグラフをメモ付きで残しておくことができます。

まとめ

サービス構成の初期段階、1台サーバの監視目的の為にDatadogを触ってみました。
機能が細かく分かれているので、詳細な監視ができそうなツールです。
最後に料金体系ですが、3つぐらい料金体系があって、
それぞれメトリックの保持期間などが違います。
ざっくりいうと $15/hostという感じ。
datadog_pricing

Datadogの使用感イメージをもって頂ければ幸いです。
あとは触ってみると色んな機能が見えてきて面白いですよ☆