カスタムダッシュボードは、New Relicが収集した様々なテレメトリーデータを整理して、お客様のビジネスにとって価値のあるデータをすばやく確認するための機能として、多くの方にご活用頂いています。

ダッシュボードを作成する上では、操作しやすいことや、表示されたデータが何を意味しているのかが理解しやすいことに加えて、同様のユースケースにも応用しやすいことが重要なポイントとなります。

既存のダッシュボードを新しく使いはじめるにあたっては、まずはそのダッシュボードにおいてデータがどのように構造化されているか、各属性や値が何を意味しているかを理解するところから始める必要があります。
これらは、自分が必要とするデータを収集するためには必要不可欠なプロセスですが、あまり効率的ではないと思われる方もいるかもしれません。
また、そのダッシュボードを別のサービスや他のプロジェクトに展開しようとすると、ユースケースに合わせていくつもダッシュボードを複製して、それぞれにウィジェットをカスタマイズする必要がありました。

動的なダッシュボードを実現するテンプレート変数のご紹介

New Relicのカスタムダッシュボードでは、テンプレート変数を使用することができます。テンプレート変数は、NRQLクエリのプレースホルダーとして機能し、ダッシュボードを操作するユーザーが任意に値を割り当てることができます。値が割り当てられると、ダッシュボード内の関連するウィジェットが、その値を反映して自動的に変更されます。

テンプレート変数の機能を活用頂くことで、ダッシュボード内のウィジェットに特定のホストやエンティティ名をハードコーディングする必要がなくなり、組織内で共有された一つのダッシュボードを、それぞれのユースケースに応用することができます。

これまでは、ある特定のサービスのパフォーマンスデータを監視するダッシュボードを他のサービスに転用するために、ダッシュボードを複製し、手動でウィジェットを編集し、差分をハードコーディングしなければなりませんでした。それが今後は、1つのダッシュボードを構築し、そのテンプレート変数の色々な値を切り替えることで、あらゆるサービスの組み合わせに柔軟に対応できるようになりました。

変数機能があるため、ダッシュボードを Grafana から New Relic に移行するのは簡単です。また、New Relic プラットフォームの他の機能とも接続できるため、複数のツールを切り替える必要がなくなるという利点もあります。

ダッシュボードのテンプレート変数を活用する方法

テンプレート変数により、様々なユースケースに応用できる、インタラクティブなダッシュボードの構築が可能になります。これにより、ダッシュボードを共有するユーザーの誰もが、正確にデータをフィルタリングし、理解しやすいデータを得ることができます。

テンプレート変数では、以下のことが可能です。

  • 1箇所ですべてのフィルタリングを管理する。ダッシュボードに新たに追加された変数フィルターバーで、フィルターに使用する重要な値と、各フィルター選択により何が変更されるのかが理解しやすくなりました。
  • より正確な結果を得る。テンプレート変数の値の選択は、対応するプレースホルダーを含むウィジェットにのみ適用されます。そのフィルターとは無関係の他のウィジェットのデータには影響を与えません。
  • ダッシュボードをテンプレート化する。変数に指定する値のリストは、クエリにより動的に取得することができます。これにより、ダッシュボードを他のアカウントに移動したとしても機能性を損なわず、毎回ウィジェットの編集をやり直す必要もありません。

テンプレート変数の使用方法については、以下の動画をご覧ください。

テンプレート変数の設定と開始

テンプレート変数を作成するには、ダッシュボード画面へ移動して [ + ] ボタンを選択し、変数を追加します。

1. プレースホルダ名表示名の両方を入力します。プレースホルダ名は、NRQLクエリ内でテンプレート変数を呼び出す際に使用する名前です。表示名は、ダッシュボード上部のフィルターバーにフィルター条件として表示される名前です。

2. 変数のタイプを選択します。ダッシュボードのカスタマイズに使用できるテンプレート変数は3タイプあります。

  • テキスト変数。ダッシュボードユーザーがフィルタリングしたいテキストを入力できるようにします。
  • リスト変数。ダッシュボードユーザーが選択できる、あらかじめ設定されたオプションのリストを提示します。
  • クエリ変数。ダッシュボードユーザーに、NRQLクエリにより取得した動的なオプションのリストを提示します。

3. 最後に、ダッシュボードユーザーが選択できるオプションを入力します。変数タイプにリスト変数を選択した場合には、項目のリストをカンマ区切りで入力します。変数タイプにクエリ変数を選択した場合には、対象の項目を返すNRQLクエリを入力します。