DMM.comの、一番深くておもしろいトコロ。

DMMを支える会員プラットフォームのdatadog監視

DMMを支える会員プラットフォームのdatadog監視

  • このエントリーをはてなブックマークに追加

こんにちは。メンバーシップサービス部 アカウントサービスチームの井上です。
日頃は、DMM会員の認証と顧客情報に関連するプロダクト(認証基盤と顧客情報基盤)のバックエンドおよびフロントエンドの開発・保守を行っています。
今回はDMMを支えているプロダクトで活用しているDatadogについてお話したいと思います。

アカウントサービスチームについて

アカウントサービスチームでは100台以上のサーバを管理していますが、管理しているサーバすべてにDatadog監視するためのagentを導入して監視を行っています。 また、Datadogの機能を用いて障害時などに必要な情報を閲覧できるようにしたり通知を行ったりしています。
ここからは、実際に使用しているDatadogの機能について、運用していくうえでの使用例を含めてご説明していきます。

datadogの機能

ダッシュボード

docs.datadoghq.com

監視項目を一つのページにまとめることができ、障害時などにまとめて閲覧できるようになります。
メンバーシップサービス部では、必要な項目はダッシュボードにまとめ、何かあればダッシュボードを見るようにしています。

監視項目を設定する際、以前から監視を行っている場合には対象項目を追加していきますが、何を監視すれば良いのか分からない場合があります。
その際はintegration(監視するアプリケーション)を設定した際、Datadogが用意しているアプリケーションに応じたダッシュボードから必要な監視項目を選んで追加していくと良いかと思います。 f:id:inoue-kazuya:20191216161849p:plain

f:id:inoue-kazuya:20191216161859p:plain

f:id:inoue-kazuya:20191216161846p:plain

障害が起きた時にダッシュボードを見る必要がありますが、slackからダッシュボードのリンクにすぐアクセスできるように特定文言を投げると、slackbotがリンクを投げるように設定しています。
そのため、障害が起きてもすぐにダッシュボードを見ることができます。

f:id:inoue-kazuya:20191216162303p:plain

モニター

docs.datadoghq.com

モニター機能は監視項目の数値や状態に応じて通知を行う機能です。
アカウントサービスチームでは、監視しているすべてのサーバでモニターを設定し、異常が起きた時はすぐに気づけるようになっています。

設定方法ですが、モニターはwebUI上で手動作成できます。
しかしwebUI上で作成してしまうと、設定前にレビューができなかったり、設定を削除してしまうとどのように設定したかがわからなくなったりしてしまいます。
そのため、私たちはモニターを手動作成ではなくterraformでのコード管理、CircleCIでの自動反映にて行なっています

terraformには公式のプロパイダーがあるためterraform公式の資料に沿ってファイルを用意すれば容易に設定できます。
www.terraform.io

自動反映はGitHubとCircleCIを連携し、プルリクエストがマージされると自動でDatadogに最新のモニター情報が反映されるように設定しています。

APM

docs.datadoghq.com

APM機能では、アプリケーションのリクエスト量やレイテンシーを監視できます。
アカウントサービスチームではログイン・会員登録のアプリケーション周りにAPMを導入しています。

エラーが起きた時のその確率(エラー率)や、リリース時にどれだけレイテンシが上下するかなどを見る際に使用しています。
f:id:inoue-kazuya:20191216162301p:plain

予測モニター

docs.datadoghq.com

Datadogではデフォルトで予測機能が付いており、サーバにagentを入れることで監視機能の他にも予測機能が付いてきます。
予測機能の使用例としては、ディスク容量が残りどれぐらいで枯渇するかについて、グラフを切り替えるだけでおおよその日時を把握できるようになるなどがあります。

ログ

docs.datadoghq.com

基盤システムのサーバで発生したエラーログはdatadogに送信され、内容・件数に応じてslackにエラー通知を投げるようにしています。

watchdog

docs.datadoghq.com

agentでの監視やAPM監視で通常に比べておかしな挙動になっていた際、Datadogが自動で分析を行って通知してくれる機能です。

今回紹介した機能の設定内容つきましては、 Datadogが公式のドキュメントを豊富に揃えており、導入や各種設定はDatadogのそのドキュメントを見て行うことで簡単にできます。
docs.datadoghq.com

Datadogは導入・監視がとてもスムーズに行える監視ツールなので、ぜひ使用してみてください。

さいごに

アカウントサービスチームは7月末に新しくなった石川事業所で勤務しております。
新石川事業所の雰囲気はこちらで感じてください。
メンバーシップサービス部では一緒に働く仲間を募集しています。
3196万人(2019年現在)のユーザを支える会員プラットフォームの開発、運用に興味のある方はぜひ下記募集ページをご確認ください。
dmm-corp.com