Datadogを用いた監視設計のコツを紹介します

Takuya Onda
Dec 17, 2018 · 5 min read

この記事は eureka Advent Calendar 2018 17日目の記事です。

こんにちは!エウレカのSREチーム恩田です。エウレカではDatadogを2018年6月に導入しました。今回の記事では、Datadogを監視ツールとして使い倒すコツを3つ紹介したいと思います。

*以下はとある1週間の弊社サービスのバックエンドシステムの可用性をDatadogで数値化したものです。SREチームやサーバサイド開発チームはこの値をはじめとしたメトリクスを随時Datadogで見つつ、本番リリース作業などを行なっています。

バージョン管理する

監視設計でも当たり前ですが、Infrastructure as Codeを徹底しましょう。DatadogはTerraformで非常に簡単にコード管理することができます。

また、AWSであればEC2に限らず、ありとあらゆるARNに対して適切なtagルール設計と管理を徹底しましょう。監視対象とするサービスを適切に管理し誤報や不必要なアラートを断捨離しやすくなります。

テンプレートを工夫する

アラートが鳴る= 即時対応が必要な事象である前提で、アラートを受け取った人が具体的なアクションを取れるようテンプレートを工夫しましょう。

下記のように、システムメトリクスダッシュボードやLog ViewerのURL、また対応者に具体的に取るべきアクション(コマンドやchatopsで叩くコマンド)をアラートテンプレートに記載しておくと便利です。

(* 弊社では異常系ログは全てDatadogへ、正常系含めたログはStackDriver Logging経由でBigQueryへ集めています。)

異常検知に利用したいデータは全て集める

Datadogが提供しているIntegrationを利用すれば各種Public Cloud(AWS / GCP,,)のマネージドサービスメトリクスをはじめ異常検知に利用したいメトリクスを簡単に集めることができます。

また、システムメトリクス以外にもビジネスKPI(I.e, アプリの新規ユーザ獲得数、ログイン数)などもDatadog API経由で集計バッチタスクなどから投げ込んでおくと、任意のメトリクスを監視データソースとして利用できるようになります。

弊社ではPairsアプリの新規登録者数やログイン数などをcloudwatch event経由でキックしたlambdaで集計し、逐次Datadogへ送信することで監視対象にいれるようにしています(自作タスク経由で収集したメトリクスも同様にアラートを設定可能)

おわりに

今回はDatadogを利用した監視設計のコツを紹介しました。参考になれば幸いです。みなさまよい年末を!

Eureka Engineering

Learn about Eureka’s engineering efforts, product developments and more.

Takuya Onda

Written by

株式会社エウレカでSREをしています

Eureka Engineering

Learn about Eureka’s engineering efforts, product developments and more.