Datadogを活用したシステム監視について

本稿はJCB Advent Calendar 2022の12/15の記事です。

こんにちは。JCBデジタルソリューション開発部の古市です。
アプリチームに所属しており、担当するサービスの開発・保守運用を行っています。

今回はJCB Digital Enablement Platform (JDEP)上のプロダクトで横断的に活用している、Datadogダッシュボードでのシステム監視についてご紹介します。

はじめに

私達はプロダクトのシステム監視をする際、SaaS形式で提供されるシステムモニタリングサービスであるDatadogを活用しています。
Datadogにはメトリクスの調査・ログデータの分析・アラートなど様々な機能が含まれていますが、複数の情報を俯瞰して見る際にはダッシュボード機能が有用です。
今回は私達が日々の業務で一番利用している、ダッシュボード機能にフォーカスを当ててご紹介したいと思います。

システム監視を確認する場面

システムの監視が必要になる場面はシステムの特性や運用によって様々ですが、私達が日々の業務でDatadogを使用する場面は大きく分けて3つあります。

  • 日次のシステム稼働確認
  • 他部署からの問い合わせ対応
  • 障害対応時の状況確認

これらの各場面で必要となる情報は一概に同じとは言えず、私達は場面ごとに特化したダッシュボードを作成しています。

日次のシステム稼働確認

私が担当するシステムは24時間365日稼働のオンラインシステムであるため、常日頃からエラー検知が欠かせません。
それならばErrorやWarnなど全てのエラーをアラート対象とした検知の仕組みを作れば良いと考えますが、これでは高頻度でアラートが鳴り、夜も眠れない日々が続いてしまいます。
システム監視とメンバーの生活の両立を考え私達のチームでは緊急対応が必要なもののみアラート対象とし、緊急性の低いエラーに関してはダッシュボードを活用し営業時間内に確認する運用としています。
具体的には毎日朝と夕方の2回、「Datadogを見る会」と称してシステムの健康状態を確認しています。

日次確認用ダッシュボード(抜粋)

私達が確認するシステム情報の一例として以下のような対象があります。

  • サービスへのリクエスト数
  • 4xx/5xxエラーコードの返却数
  • サービスのレイテンシ

ここで深堀りしたい要素が見つかった場合、業務内で確認・対処します。

他部署からの問い合わせ対応

他部署からの問い合わせは「CPU使用率」や「メモリ使用率」といったシステム部門からの問い合わせの他にビジネス部門からの問い合わせがあります。
ここで必要となるのはビジネスとして知りたい情報であり、システム稼働確認で私達が知りたかった情報とは異なります。
これらを1つのダッシュボードとして作成した場合、欲しい情報を探しにくい・読み込み時間が遅い・メンテナンスし辛いなどの弊害が生まれます。
そのため、私達はビジネス部門向けのダッシュボードを専用に作成し、これをビジネス部門に提供しています。

ビジネス部門が確認する情報の一例として以下のような対象があります。

  • 利用者ID毎のリクエスト数
  • 利用バージョンの割合
  • 利用デバイス種類の割合

このダッシュボードを提供することで、ビジネス部門のメンバーが欲しい情報を好きなタイミングで確認できるようになり、私達への問い合わせをする必要がなくなりました。
そのため私達の問い合わせ対応を行なう時間は削減され、この時間を開発作業に利用できるよう運用改善がなされました。

障害対応時の状況確認

先程も触れましたが、私達の担当するシステムは24時間365日稼働のオンラインシステムです。 そのため出社や帰宅といったパソコンを広げ辛い環境にいる最中にも、システムエラーによるアラート発報の可能性があります。
私達はそのような環境下でも最低限の障害対応ができるよう、障害対応用スマートフォンを常備しDatadogアプリをインストールしています。
これにより、24時間体制でのシステム監視を実現しています。

障害対応時に確認する情報の一例としては以下のような対象があります。

  • 東京リージョン取引数
  • 大阪リージョン取引数
  • サービスのレイテンシ

このダッシュボードには日次のシステム稼働確認で使用するダッシュボードと重複する情報が複数あります。
しかし同じコンセプトでは作成しておらず、こちらはあえて表示する内容を必要最低限に簡素化し、障害対応用ダッシュボードとして専用に作成しています。
これには理由があり、スマートフォンならではの通信速度の遅さ・処理動作の重さ・表示領域の小ささなどの特性から、有事の際に円滑な対応ができなかった過去の反省があります。
必要最低限の情報を表示させることで、スマートフォンでも円滑に障害状況を把握できるようになります。
有事の際にもスマートフォンで対応ができるよう、障害対応用ダッシュボードは個別かつ簡素に作成することをおすすめします。

まとめ

以上のようにDatadogでダッシュボードを利用する際には、利用者の違いや欲しい情報の違い、利用タイミングなどが違うことが考えられます。
そのため、何でもかんでも1つのダッシュボードに情報を詰め込めば良いという訳ではなく、用途に応じて特化したダッシュボードを個別に作成することをおすすめします。
「いつ・誰が・何を・なぜ・どこで・どのように」と5W1Hを明確にした上でダッシュボードを作成することで、作成したが使用されないというような無駄なダッシュボードの作成防止につながります。

さいごに

今回はDatadogを活用したシステム監視についてご紹介しました。
最後になりますが、JCBでは我々と一緒に働きたいという人材を募集しています。
詳しい募集要項等については採用ページをご覧下さい。

©JCB Co., Ltd. 20︎21