NewRelicのダッシュボード設計のコツ

NewRelicのダッシュボード設計のコツ

NewRelicのダッシュボードを効果的に使うための設計・運用のコツを紹介します。視認性とパフォーマンスの最適化が鍵となります。
Clock Icon2025.04.18

こんにちは、ゲームソリューション部の出村です。

ここでは、NewRelicの便利な機能のひとつであるダッシュボードについて解説します。
ダッシュボードは見たいメトリクスを並べて表示することができます。表示内容、表示方法、並べ方が自由に設定できるという非常に自由度の高い機能です。

ただ、その自由度の高さゆえに問題が発生することもあります。たとえば、何も考えずにメトリクス表示を追加していくと、表示数が20個を超えたダッシュボードとなり、見たい情報が探しにくく見づらくなってしまいます。
必要な情報、見たい情報をすぐ見られるようにダッシュボードに追加したはずが、逆に探す羽目になる、ということです。

そのようなことがないようダッシュボードもある程度、設計や計画をしたのちに作成するのがよいでしょう。
では、ダッシュボードを設計、作成する上で何を考える必要があるのかについて解説します。

ダッシュボードは目的を決めてからデザインする

ダッシュボードは、情報を閲覧するための機能です。

ダッシュボードに表示されている情報を見るということは、何かの情報を得るためにダッシュボードを作るわけですから、その閲覧する目的を最初にはっきりさせておくと、知りたい情報をすぐに得ることができます。

ダッシュボードを見る目的は、大きく分けて次の3つに分類できると考えています。これらのうち、どれに該当するかはきめておきましょう。

  • 日常監視
    • システムの状態を常に監視するために利用する。CPU利用率、メモリ使用量、エラー率などを表示します。
  • トラブルシューティング
    • 発生した問題に対して、原因追及のための調査を行うために利用します。詳細なログやエラー情報を表示します。
  • 報告用
    • チーム、マネージャに状況を伝えるもの。PV、DAUなどのビジネス指標を表示します。

効果的なダッシュボードの3つのコツ

NewRelicのカスタムダッシュボードは、自分が欲しい情報(メトリクスなど)の表示を何も考えず次々と追加できます。

あれもこれも見たい、ということでどんどん追加していくと、最終的にはカオスになって、逆にデータが見づらくなる、ということも考えられます。

そのようなことが発生しないためには、どのようにしたらよいのでしょうか。そのためのコツを3つ紹介します。

  • コツ1:シンプルに保つ
  • コツ2:最も重要な情報を目立たせる
  • コツ3:関連情報をグループ化する

シンプルに保つ

まずは、ダッシュボードの内容をシンプルに保つことです。便利なので、あの情報が見たい、この情報が見たい、ということで、1つのダッシュボードに追加するのは、よくあることです。
このようなことをすると、そのダッシュボードで表示される情報量が多すぎてしまい、逆に情報を見るのに探す必要があり、時間がかかってしまう、ということが発生します。

そのようなことがないように、ダッシュボードもある程度、目的を設定して、目的別にダッシュボードを用意し、その目的に沿った情報を出力するようにするとよいでしょう。

この目的の粒度も考慮する必要があります。粒度が細かすぎると、今度はダッシュボードの項目自体が増えすぎて、1つのダッシュボードに2、3つの情報しか表示されないダッシュボードが大量にできてしまい、これまたデータを探すのが大変になってしまうことがあるためです。

このあたりのバランス感覚も大事になります。

最も重要な情報を目立たせる

ダッシュボードに表示される情報は重要なものほど目立つようにしましょう。その際には、大きなウィジェットで表示したり、目立つ色を使用したりして視覚的に強調する方法をとります。

ダッシュボードに表示される情報は、すべてが同じ重要度であることはあまりないでしょう。最初にAメトリクスとBメトリクスを最初にみて、次にはCメトリクスを確認して、といったような流れがきっとあります。

また、週1でチェックしたら十分というメトリクス、というものもあるでしょう。

まさか、全部重要だから全部大きな文字で、となると「重要度とは...?」となるので、これらの優先度は想定としても設定しておきましょう。

関連情報をグループ化する

ダッシュボードで情報を並べる際は、関連情報でグループ化するのがよいです。

これを意識せずに後からどんどん配置すると、欲しい情報を探さないといけないダッシュボードとなります。

関連した情報が並んでいることで、ダッシュボードの表示に統一感も出てきます。例えば、サーバー関連の指標(CPU、メモリ、ディスク)を一つのセクションにまとめ、アプリケーションのパフォーマンス指標(応答時間、スループット)を別のセクションにまとめるといった具合です。

ダッシュボードのパフォーマンス考慮

ダッシュボードを設計する際に見落としがちなポイントとして、ダッシュボード自体のパフォーマンスがあります。見た目が美しく情報が整理されていても、読み込みに時間がかかるダッシュボードでは、迅速な意思決定や問題対応の妨げになってしまいます。

どのような事がおこるのか、実際にみていきましょう。

多すぎるウィジェットや複雑なクエリの影響

NewRelicのダッシュボードは、追加するウィジェットの数や各ウィジェットで実行されるクエリの複雑さによって、読み込み速度が変化します。とくに以下のような状況ではパフォーマンスが低下する可能性があります:

  • ウィジェット過多: 一つのダッシュボードに20個以上のウィジェットを配置すると、ブラウザのリソース消費が増大し、読み込みや更新に時間がかかります。

  • 複雑なNRQLクエリ: 大量のデータに対する集計や複数の条件を組み合わせたクエリは、処理に時間がかかります。特にFACET句を多用したり、長期間のデータを細かい粒度で取得するクエリは注意が必要です。

  • 高頻度の自動更新: ダッシュボードの自動更新間隔を短く設定しすぎると、サーバーへの負荷が増大し、全体的なパフォーマンスが低下することがあります。

  • 複数のデータソース: 異なるアカウントや異なるデータタイプからデータを取得するウィジェットが多いと、それぞれのデータソースへの接続と取得に時間がかかります。

パフォーマンスを意識したダッシュボード設計のコツ

先のようにサーバーに高負荷がかかるダッシュボードを作るのはよくありません。そのような問題をさけるため、ダッシュボードのパフォーマンスを最適化するためのコツをいくつか紹介します:

  1. ウィジェット数を15個程度までに抑える

    • 一つのダッシュボードに表示するウィジェットは目安として10〜15個程度に抑えます。
    • 15個以上になるようであれば複数のダッシュボードに分割し、関連する情報ごとにグループ化しましょう。
  2. クエリの最適化

    • 不必要に複雑なNRQLクエリは避け、必要最小限の条件と集計にとどめましょう(SQLの最適化と似た話ですね)。
    • 大量のデータを扱う場合は、集計済みのデータを利用するか、LIMIT句を使ってデータ量を制限したりしましょう。
  3. 更新頻度の調整

    • 更新頻度が低い方がサーバー負荷が抑えられます。
    • リアルタイム性が不要な場合は、更新頻度を5分間隔などに下げて設定しましょう。
  4. 時間範囲の最適化

    • デフォルトの時間範囲は目的に合わせて最適化しましょう。
    • 長期トレンドを見るためのダッシュボードと、リアルタイムの状況を監視するダッシュボードは分けるとよいでしょう。
  5. ビジュアライゼーションの選択

    • 大量のデータを表示する場合、テーブルよりもヒートマップやグラフの方がパフォーマンスが良いことがあります。
    • 複雑なグラフよりもシンプルな数値表示(Value widget)の方が軽量な場合があります。
  6. 段階的な読み込み設計

    • 最も重要な情報を含むウィジェットを上部に配置し、詳細情報は下部に配置することで、重要な情報から先に読み込まれるようにします。
    • ページ読み込み時に表示される「アバブザフォールド」領域に最重要ウィジェットを集中させましょう。
  7. 定期的なパフォーマンス確認

    • ブラウザの開発者ツールを使って、ダッシュボードの読み込み時間やリソース使用状況を定期的に確認しましょう。
    • 特に遅いウィジェットがあれば、そのクエリやビジュアライゼーションを見直しましょう。

ダッシュボードのパフォーマンスを意識することで、情報へのアクセス速度が向上し、より効率的な監視や分析が可能になります。特に緊急時や障害対応時には、素早く情報を得られることが重要です。パフォーマンスと情報の充実度のバランスを取りながら、最適なダッシュボードを設計していきましょう。

まとめ

ダッシュボードひとつ作るにしても、やはり設計者の性格が出てきます。定期的に見直したり、整理したりすることで必要な情報にすぐにアクセスできる環境を用意しておきましょう。

効果的なダッシュボードは、シンプルさを保ち、重要な情報を目立たせ、関連情報をグループ化することで実現できます。さらに、ダッシュボードのパフォーマンスも意識することで、より使いやすく効率的な監視環境を構築できます。NewRelicの提供するテンプレートを活用しながら、自分たちのニーズに合ったダッシュボードを作成してみてください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.