サイト内の現在位置

Splunkにおけるダッシュボードの機能比較

NECセキュリティブログ

2025年3月7日

NECサイバーセキュリティ戦略統括部セキュリティ技術センターの小泉です。

前回のブログ[1]では、サイバーセキュリティの監視のために各種センサからのログを集約し、効率よく分析するためのダッシュボード構築についてのベストプラクティスを紹介しました。そこでは、デジタル庁が公開した『ダッシュボードデザインの実践ガイドブックとチャート・コンポーネントライブラリ(ベータ版)new window[2]』をもとに、ビジネス分析ツール「Domo」が提供しているチャートの選び方の資料や、Splunk EnterpriseのDashboard Studioを使った実装例について解説しました。

今回はSplunkでのセキュリティダッシュボードの実装について、より詳細に掘り下げていこうと思います。なお、本ブログでは Splunk Enterprise 9.3.2を使用して確認しております。

目次

2種類のダッシュボード作成機能の紹介

Splunkにはダッシュボードを作成する機能が2種類用意されています。一つ目は前回のブログでも紹介したDashboard Studioを使用したダッシュボード、もう一つは従来から使用されているクラシックダッシュボードです。

図 1 ダッシュボード作成機能の概要(ダッシュボード作成画面より抜粋)

Dashboard Studio

Dashboard Studioは自由にレイアウトを行えるダッシュボード作成機能です。Splunk Cloud Platform 8.1.2103やSplunk Enterprise 8.2以降のすべてのリリースに含まれています。従来のダッシュボードはグリッド状にパネルを並べるレイアウト方法を採用しており、レイアウトやデザイン面のカスタマイズ性は高くありませんでした。Dashboard Studioでは、ダッシュボードの要素を自由に配置することができます。また、画像も扱うことができます。

Dashboard Studioはレイアウトの仕方によりさらに2つに細分化する事ができます。

図 2 レイアウトの仕方概要(ダッシュボード作成画面より抜粋)

絶対レイアウト:
ダッシュボードのレイアウトは完全に自由です。ユーザはキャンバスの上にダッシュボードに使用する要素(パネル、テキスト、画像、入力コントロールなど)を配置することができます。詳しくは「Dashboard Studio: Dashboard Customization Made Easynew window[3]」で紹介されています。

グリッドレイアウト:
クラシックダッシュボード同様にグリッド状に並べつつ、自由に各パネルの横幅や縦幅を変えることができる機能です。Dashboard Studioのグラフや表示項目を使ってクラシックダッシュボードの操作感でダッシュボードを作成することができます。

クラシックダッシュボード

クラシックダッシュボードは、Splunk Enterprise 8.2以降では非推奨になっている点には注意が必要ですが、クラシックダッシュボードでないと実現することができない機能が多くあります(非推奨となっている点の詳細は「Dashboard Studio: Dashboard Customization Made Easynew window[3]」をご確認ください)。このため、こだわったダッシュボードを作成したい場合はまだ利用を検討する価値があります。Dashboard Studioと異なり、レイアウトはグリッド状を基本としています。

機能の比較

筆者が両方のダッシュボード作成機能を使用していて差分を感じた点についてまとめます。これらの差分を把握することで、実現したいダッシュボードの内容に対して適切な作成機能を選択することができるようになります。

他システムへの移植しやすさについて

Dashboard Studio:
JSON形式のデータで実装されています。JSON形式のデータは主に以下の3つのセクションに分けられています。

  • Data Sources:
    使用されている全てのSplunkの検索クエリ(SPL)の設定内容を格納
  • Visualizations:
    全てのパネルの設定(見た目や挙動の定義)を格納
  • Layout - Structure:
    全てのパネルの配置とサイズ情報を格納
図 3 Dashboard Studio のソース構成

これらのデータが一つのJSON形式にまとめられたものがDashboard Studioを使用したダッシュボードの実体です。このJSON形式のデータを移植することで他システム(他のSplunk環境)に容易にダッシュボードを移すことが可能となります。

しかしDashboard Studioで使用している画像ファイルは注意が必要です。Splunkに登録された画像データにはIDが設定され、ダッシュボードではIDを指定して画像を表示させます。他システムでは画像のIDが変化することがあり、画像を再度登録するか、Splunkサーバ内に格納した画像を参照させる必要があります。

クラシックダッシュボード:
XML形式のデータで実装されています。

ダッシュボードで表示される1行ごとにrowタグ(<row>)で区切られ、rowタグの中にpanelタグ(<panel>)で各パネルを定義します。各パネルで使用する検索クエリ、各パネルの設定はpanelタグ内に記述されます。各パネルの配置とサイズはrowタグとpanelタグの構造で決定されます。

図 4 クラシックダッシュボードのソース構成

この構成情報が一つのXML形式にまとめられたものがクラシックダッシュボードを使用したダッシュボードの実体です。このXML形式のデータを移植することで他システムに容易にダッシュボードを移すことも可能となります。

パネルに使用可能なグラフや表示項目について

Dashboard Studioとクラシックダッシュボードでは使用することができるグラフが異なります。

Dashboard Studioでは組み込まれているグラフを使用することができます。使用できるグラフについてクラシックダッシュボードと比較したところ、Parallel Coordinates, Punchcard, Choropleth SVG, Link Graph, Sankeyが追加で使用可能であることが分かりました。

これに対してクラシックダッシュボードではカスタムのグラフを追加することができます。カスタムグラフを作成するノウハウがなくても、Splunkbasenew window[4]にて様々なグラフが公開されており、それを追加することで新たな見た目のグラフを使用することができるようになります。

図 5 使用できるグラフや表示項目の比較

Dashboard Studioでは、ユーザが独自に追加したボタンや画像を使用したり、線や四角などのシェイプを追加したり、markdownテキストを追加したりすることも可能です(ボタンや画像は絶対レイアウトのみ)。

クラシックダッシュボードで画像やシェイプ、テキストを追加するためにはHTMLパネルを使用する必要があります。HTMLパネルは専用のエディタが提供されておらず、ソースコード編集画面で必要なコンテンツをHTMLで記述する必要があります。また、カスタムのJavaScriptやCSSを使用することが可能です。これらの技術を使用するノウハウがある場合は、クラシックダッシュボードの機能を大きく拡張させることができると言えるでしょう。

ユーザ入力について

Dashboard Studioとクラシックダッシュボードでは使用することができるユーザ入力も異なります。

Dashboard Studioだけに用意されているユーザ入力として「数値」があります。テキストエリアに数値だけを入力させたい場合はこちらの利用が選択肢になるでしょう。

クラシックダッシュボードだけに用意されているユーザ入力として「リンクリスト」があります。また、クラシックダッシュボードではユーザに任意のタイミングでダッシュボード上の検索クエリを実行させるための「実行」ボタンを配置することができます。

もし、クラシックダッシュボードに「数値」のユーザ入力を追加するとした場合は、「テキスト」を使用し、入力された値を変数(トークン)に格納する際もしくは変数を利用する際に検証を行う仕組みを設ける必要があるでしょう。Dashboard Studioでは「ラジオボタン」「チェックボックス」はありませんが、「マルチセレクト」で代用可能でしょう。「リンクリスト」の代わりとなるものは見つかりませんでした。

図 6 使用できるユーザ入力の比較

Dashboard Studio独自の機能として、ユーザ入力の配置場所を「キャンバスの上部に固定する」機能があります。この設定を有効にすることで、ダッシュボードをスクロールしても常にキャンバスの上部に固定されるようになります。

図 7 ユーザ入力の固定配置

レイアウトの注意点について

レイアウトはDashboard Studioとクラシックダッシュボードで大きく違いが出る部分です。

Dashboard Studio(絶対レイアウト)でダッシュボードを作成する際は、表示するキャンバスのサイズを設定します。ダッシュボードが表示される際は、そのサイズそのまま表示するか、ウィンドウ幅を基準に自動調整するかを選択することができます。自動調整の場合、ウィンドウ幅に合わせてコンテンツ全体が拡大縮小されるため、キャンバスに設定されている横幅が狭いほど、コンテンツが大きく拡大されて表示されることとなります。多くのディスプレイは横長である場合が多いため、適切なキャンバスサイズを設定しないとコンテンツが大きく表示され過ぎてしまう傾向がある点は注意が必要です。

図 8 Dashboard Studio(絶対レイアウト)のキャンバスサイズの自動調整に関する注意点

クラシックダッシュボードやDashboard Studio(グリッドレイアウト)は行(rowタグ)の中にパネルを配置する、という考え方でダッシュボードを作成します。パネルの横幅はウィンドウ幅に対してパネル数で按分された幅となります。

図 9 クラシックダッシュボードのパネルレイアウトルール

ダッシュボードが表示される際は、行の高さは維持されたまま、パネルの横幅だけが横に拡張されます。この為、高さのあるコンテンツを掲載した場合、内容によっては余白が大きいと感じる傾向がある点に注意が必要です。

図 10 クラシックダッシュボードのパネルレイアウトに関する注意点

表を使用したレイアウトの注意点

Dashboard Studio(絶対レイアウト)においてレイアウト上で注意すべき点として表の利用が挙げられます。Dashboard Studio(絶対レイアウト)ではすべての表示項目について、その表示させるXY座標と大きさ(幅と高さ)を設定します。この為、表の高さも固定となります。設定された表の大きさに収まりきらない場合はスクロールバーが表示されますし、表の大きさに満たないコンテンツの場合は大きく余白が表示されることとなります。

図 11 Dashboard Studioの表に関する注意点

クラシックダッシュボードやDashboard Studio(グリッドレイアウト)では表の内容に応じて表の高さが変わるため、この問題は発生しません。

変数(トークン)の制御について

Dashboard Studioとクラシックダッシュボードの両方で、検索結果を変数(トークン)に格納する手段が用意されています。検索結果をもとに表示するテキストを変化させたり、検索クエリ自体にトークンを使用したりすることができます。

クラシックダッシュボードではトークンを動的に設定する際に、検索結果の件数や状態をもとに動作を変化させて格納することができます(例:検索が開始された時に値を設定、検索が完了した時に値を設定、など)。また、変数に格納する際に関数を実行させて値を抽出することも可能です(例:先頭の5文字を抽出、値がなかった場合に特別な値を設定、など)。

Dashboard Studioではトークンを動的に設定する際に、検索の状態をもとに条件分岐を行ったり関数を実行させたりすることは出来ません。しかし、トークンの利用についての機能追加が進められており、検索式の工夫によりこの課題を解決する方法が「Dashboard Studio: How to Configure Show/Hide and Token Eval in Dashboard Studionew window[5]」で紹介されており、発展途上と言えます。

おわりに

今回はSplunkでセキュリティダッシュボードを作成する際に考慮するべきこととして、ダッシュボードの作成機能とそれらの機能の比較について紹介しました。

表 1 本ブログで紹介した比較結果一覧

Dashboard Studioは実装されてからも多くの機能追加や改善が行われています。本ブログでDashboard Studioではできないと紹介した内容も、今後の発展により改善される可能性は大いにあります。クラシックダッシュボードのみ使用することができる機能もいくつか紹介させていただきました。しかし現在はクラシックダッシュボード自体が非推奨となっている点には注意が必要です。両者の特性を見極めて、適切なダッシュボード作成機能を選択し、訴求力のあるセキュリティダッシュボードの作成ができることを願います。

本ブログが、皆様のお役に立てば幸いです。
最後までお読みいただき、ありがとうございました。

参考文献

執筆者プロフィール

小泉 嘉彦(こいずみ よしひこ)
セキュリティ技術センター

NECサイバーセキュリティ訓練場演習の立ち上げを行った後に大規模国際イベントや官民向けのサイバーセキュリティ対応とし脅威インテリジェンス・フォレンジック・マルウェア解析・ペネトレーションテストに従事。現在はNEC Cyber Security Dashboardの企画・開発・運営に従事し、NECグループ全社員に向けてのセキュリティアウェアネス向上を目指す。

5×Splunk Boss of the SOCトロフィー、3×Taniumメダルを保持
情報処理安全確保支援士(RISS)、CISSPを保持

執筆者の他の記事を読む

アクセスランキング