SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Yahoo! JAPAN 黒帯シリーズ

OSSのツール「Solr」「Flume」「Banana」の組み合わせによるデータ可視化プラットフォーム構築

Yahoo! JAPAN 黒帯シリーズ 第2回 ~ 「Solr黒帯」によるデータ可視化環境構築の解説

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

9. Panel

 ここではBananaの提供する代表的なPanelをいくつか紹介します。それぞれの特徴を確認して、用途に合わせて使用してください。

9.1 Text Panel

 Text Panelとは、その名のとおりテキストを表示するだけのPanelです。表示しているDashboardの簡単な説明などを表示しておくとよいでしょう。Text Panelの追加画面は図31のようになっており、設定項目は表23の内容になります。

図31 Row Settings - Add Panel - Select Panel Type - text
図31 Row Settings - Add Panel - Select Panel Type - text
表23 Row Settings - Add Panel - Select Panel Type - text - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Mode Panelに表示する情報の記述方法を選択できます。HTML、Markdown、Plain Textの3つから選択できます。
Content Panelに表示する文章をModeで指定したフォーマットで記述します。

 簡単なメッセージを表示する場合は、表24のように設定項目を入力し、Panelを追加すると図36のようなPanelが表示されます。

図32 Text Panel
図32 Text Panel
表24 Row Settings - Add Panel - Select Panel Type - text - 内容
項目
Title Dashboard Description
Span 4
Editable On
Mode markdown
Content This is a Dashboard for visualizing the Apache httpd access logs. Please feel free to add as needed Rows and Panels. !\[Apache httpd\]\(http://httpd.apache.org/docs/2.4/images/feather.gif "Apache httpd"\)

9.2 Histogram Panel

 Histogram Panelとは、横軸を時間、縦軸を集計した値を表示するPanelです。Histogram Panelの追加画面は図33のようになっており、設定項目は表25の内容になります。

図33 Row Settings - Add Panel - Select Panel Type - histogram
図33 Row Settings - Add Panel - Select Panel Type - histogram
表25 Row Settings - Add Panel - Select Panel Type - histogram - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。
Mode Histogram Panelのモードを指定します。countとvaluesが選択可能です。countは期間中の合算値を表示します。valuesはMax Rowsで指定した件数のデータを、Group By Fieldで指定したフィールドでグループ化を行い、各グループのValue Fieldで指定した値の合計値を表示します。
Value Field Modeにvaluesを指定した時に表示されます。集計するフィールドを指定します。
Max Rows Modeにvaluesを指定した時に表示されます。集計する最大データ件数を指定します。
Group By Field Modeにvaluesを指定した時に表示されます。取得したデータのグループ化を行うフィールドをしていします。
Chart Settings Bars 棒グラフの描画を行います。
Lines 折れ線グラフの描画を行います。
Points 各値の位置に点の描画を行います。
Stack 複数のグラフを描画する際、積み重ねてグラフを描画するか否かを指定します。
Percent 複数のクエリのグラフを100%表示でグラフを描画します。各値の比率の変化を見るのに有効です。
Legend グラフに凡例を表示するか否かを指定します。
xAixs x軸(横軸)の値を表示するか否かを指定をします。
yAixs y軸(縦軸)の値を表示するか否かを指定をします。
Time correction グラフ描画に使用するタイムゾーンを選択します。browserまたはutcが選択できます。
Selectable グラフ上をドラッグすることで、期間を選択できるか否かを指定します。
Zoom Links PanelにZoom Linkを表示するか否かを指定します。
View Options PanelにView Optionを表示するか否かを指定します。
Auto-Interval Resolutionをグラフの期間に合わせて自動調整するか否かを指定します。
Resolution グラフ描画の幅(時間)を調整します。単位はミリ秒です。
Tooltip Settings Stacked Values cumulativeを指定するとグラフのツールチップに合計値を表示します。individualを指定するとそれぞれの値を表示します。
Display Query グラフをマウスオーバーした時に、Queryを表示するか否かを指定します。
Queries Display query when Inspect Inspect画面を表示した時にPanelが発行しているSolrクエリを表示するか否かを指定します。
Panel Query Panelが発行するSolrクエリです。
Add Custom Queries Panelが発行するSolrクエリに追加するHTTPリクエストパラメータを指定できます。

 アクセス数のカウントを棒グラフで表示する場合は、表26のように設定項目を入力し、Panelを追加すると図34のようなPanelが表示されます。

図34 Histogram Panel
図34 Histogram Panel
表26 Row Settings - Add Panel - Select Panel Type - histogram - 内容
項目
Title Access Count
Span 12
Editable On
Inspect On
Mode count
Chart Settings Bars On
Lines Off
Points Off
Stack Off
Percent Off
Legend On
xAixs On
yAixs On
Time correction browser
Selectable On
Zoom Links On
View Options On
Auto-Interval Off
Resolution 1000
Tooltip Settings Stacked Values cumulative
Display Query On
Queries Display query when Inspect On
Panel Query \*:\*
Add Custom Queries *空欄*

9.3 Terms Panel

 Terms Panelとは、SolrのFacetを使用して、指定フィールドのフィールド値ごとに件数を集計した結果を表示することができます。Terms Panelの設定画面は図39のようになり、設定項目は表27のようになります。

図35 Row Settings - Add Panel - Select Panel Type - terms
図35 Row Settings - Add Panel - Select Panel Type - terms
表27 Row Settings - Add Panel - Select Panel Type - terms - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。
Field 集計対象のフィールド名を指定します。
Length 上位何件を取得するかを指定します。
Order データの並び順を指定します。降順(descending)、昇順(ascending)を選択できます。
Use field values as chart's colors チャートの色にフィールド値を使うか否かを指定します。
Exclude Terms(s) (comma seperated) 除外したいフィールド値をカンマ区切りで指定することができます。
Style グラフのスタイルを指定します。pie(円グラフ)、bar(棒グラフ)、table(表)から選択できます。
Legend グラフの凡例のスタイルを指定します。above(上)、below(下)、left(左)、right(右)、none(なし)から選択できます。
Legend Format グラフの凡例のフォーマットを指定します。horizontal(横方向)、vertical(縦方向)から選択できます。
Missing Fieldで指定したフィールドのフィールド値が存在しないデータ件数のカウントを表示するか否かを指定します。
Other Lengthで指定した上位データ以外のデータ件数のカウントを表示するか否かを指定します。
Log axis Styleにbarを指定したときはy軸(縦軸)の値を調整するか否かを指定をします。
Donut Styleにpieを指定したときは円グラフをドーナツ型にするか否かを指定します。
Tilt Styleにpieを指定したときは円グラフを楕円にするか否かを指定します。
Labels Styleにpieを指定したときはチャートに値のラベルを表示するか否かを指定します。
Font Size Styleにtableを指定したときは表のフォントサイズを指定します。
Mode グラフの集計方法を指定します。count(カウント)、min(最小値)、mean(相加平均)、max(最大値)、sum(合計)から選択できます。
Stats Field Modeにmin、mean、max、sumを選択した時に、集計するデータが格納されているフィールドを指定します。
Display Precision 表示する数値データの小数点以下の桁数を指定します。
Default Colors for Chart カンマ区切りでチャートに使用する色を記述します。
Queries Display query when Inspect Inspect画面を表示した時にPanelが発行しているSolrクエリを表示するか否かを指定します。
Panel Query Panelが発行するSolrクエリです。
Add Custom Queries Panelが発行するSolrクエリに追加するHTTPリクエストパラメータを指定できます。

 アクセスの多い上位10か国のアクセス数を円グラフで表示したい場合は、表28のように設定項目を入力し、Panelを追加すると図36のようなPanelが表示されます。

図36 Histogram Panel
図36 Histogram Panel
表28 Row Settings - Add Panel - Select Panel Type - terms - 内容
項目 説明
Title Top Countries
Span 4
Editable On
Inspect On
Field country_iso_code
Length 10
Order descending
Use field values as chart's colors Off
Exclude Terms(s) (comma seperated) *空欄*
Style pie
Legend right
Legend Format vertical
Missing On
Other On
Donut Off
Tilt Off
Labels On
Mode count
Display Precision 0
Default Colors for Chart #7EB26D, #EAB839, #6ED0E0, #EF843C, #E24D42, #1F78C1, #BA43A9, #705DA0, #508642, #CCA300, #447EBC, #C15C17, #890F02, #0A437C, #6D1F62, #584477, #B7DBAB, #F4D598, #70DBED, #F9BA8F, #F29191, #82B5D8, #E5A8E2, #AEA2E0, #629E51, #E5AC0E, #64B0C8, #E0752D, #BF1B00, #0A50A1, #962D82, #614D93, #9AC48A, #F2C96D, #65C5DB, #F9934E, #EA6460, #5195CE, #D683CE, #806EB7, #3F6833, #967302, #2F575E, #99440A, #58140C, #052B51, #511749, #3F2B5B, #E0F9D7, #FCEACA, #CFFAFF, #F9E2D2, #FCE2DE, #BADFF4, #F9D9F9, #DEDAF7
Queries Display query when Inspect On
Panel Query \*:\*
Add Custom Queries *空欄*

9.4 Table Panel

 Table Panelとは、データを表で表示するPanelになります。Table Panelの設定画面は図37のようになり、設定項目は表29のようになります。

図37 Row Settings - Add Panel - Select Panel Type - table
図37 Row Settings - Add Panel - Select Panel Type - table
表29 Row Settings - Add Panel - Select Panel Type - table - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。
Add Column 表に表示するカラム名を入力します。
Columns 表に表示追加されたカラム名が表示されます。クリックすると表から削除できます。
Options Header カラム名を表示するヘッダを表示するか否かを指定します。
Sorting ソート機能を有効にするか否かを指定します。
Sort SortingをOnにした際に、ソートを行うフィールド名を指定します。
Font Size 表のフォントサイズを指定します。
Trim Factor 各カラムの最大表示文字数を指定します。指定文字数を超えた場合は「...」で省略されます。文字数文字数には省略時に使用される「...」(3文字分)も含みます。
Add Hyperlink Column URLがカラムのデータに含まれる場合、リンクを追加するか否かを指定します。
Display Images 画像のURLがカラムのデータに含まれる場合、画像を表示するか否かを指定します。
Fields Add Field 表の左側にあるフィールドリストに追加したいフィールド名を入力します。
Fields Query 表の左側にあるフィールドリストに表示追加されたフィールド名が表示されます。クリックするとリストから削除できます。
Paging Show Controls ページングのためのコントロールを表示するか否かを指定します。
Overflow 表の表示形式を指定します。expand(Rowの高さを無視してすべてのデータを表示)、scroll(Rowの高さに合わせてスクロールで表示)から選択できます。
Per Page 1ページあたりのデータ件数を指定します。
Page limit ページ数を指定します。
Queries Display query when Inspect Inspect画面を表示した時にPanelが発行しているSolrクエリを表示するか否かを指定します。
Panel Query Panelが発行するSolrクエリです。
Add Custom Queries Panelが発行するSolrクエリに追加するHTTPリクエストパラメータを指定できます。

 アクセスを新しい順に表で表示したい場合は、表30のように設定項目を入力し、Panelを追加すると図38のようなPanelが表示されます。

図38 Table Panel
図38 Table Panel
表30 Row Settings - Add Panel - Select Panel Type - table - 内容
項目
Title Events
Span 12
Editable On
Inspect On
Add Column message
Options Header On
Sorting On
Sort event_timestamp
Font Size 9pt
Trim Factor 300
Add Hyperlink Column Off
Display Images Off
Fields Add Field agent, auth, clientip, country_iso_code, event_timestamp, httpversion, id, ident, message, referrer, request, response, timestamp, verb
Paging Show Controls On
Overflow expand
Per Page 20
Page limit 5
Queries Display query when Inspect On
Panel Query \*:\*
Add Custom Queries *空欄*

9.5 TimePicker Panel

 TimePicker Panelとは、すべてのクエリに対して、データの集計期間を変更するPanelになります。TimePicker Panelの設定画面は図39のようになり、設定項目は表31のようになります。

図39 Row Settings - Add Panel - Select Panel Type - timepicker
図39 Row Settings - Add Panel - Select Panel Type - timepicker
表31 Row Settings - Add Panel - Select Panel Type - timepicker - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。
Default Mode 日時の範囲選択モードを指定します。relative(ボタン操作で現時刻からRelative modeで指定した値の時間のデータに絞り込む)、absolute(開始日時と終了日時を指定して絞り込む)、since(開始日時から現時刻までで絞り込む)から選択できます。
Time Field 日時情報が格納されているフィールド名を指定します。
Relative mode Relative time options Panel上に表示する期間のボタンの値をカンマ区切りで指定します。m(分)、h(時間)、d(日)、y(年)など単位を指定することができます。
Default timespan デフォルトの期間を指定します。
Auto-refresh Enable Dashboardの自動リフレッシュを有効にするか否かを指定します。
Interval(seconds) 自動リフレッシュの間隔を指定します。
Minimum Interval(seconds) 最小の自動リフレッシュの間隔を指定します。

 表32のように設定項目を入力し、Panelを追加すると図40のようなPanelが表示されます。

図40 TimePicker Panel
図40 TimePicker Panel
表32 Row Settings - Add Panel - Select Panel Type - timepicker - 内容
項目
Title Time Window
Span 6
Editable On
Inspect On
Default Mode relative
Time Field event_timestamp
Relative mode Relative time options 5m,15m,1h,6h,12h,24h,2d,7d,30d,90d,1y,5y
Default timespan 15m
Auto-refresh Enable On
Interval(seconds) 10
Minimum Interval(seconds) 3

9.6 Query Panel

 Query Panelとは、Dashboard上で集計するデータを取得するQueryを指定します。Query Panelの追加画面は図41のようになり、設定項目は表33のようになります。

図41 Row Settings - Add Panel - Select Panel Type - query
図41 Row Settings - Add Panel - Select Panel Type - query
表33 Row Settings - Add Panel - Select Panel Type - query - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。

 表34のように設定項目を入力し、Panelを追加すると図42のようなPanelが表示されます。

図42 Query Panel
図42 Query Panel
表34 Row Settings - Add Panel - Select Panel Type - query - 内容
項目 説明
Title Search
Span 6
Editable On
Inspect On

 Query Panelのテキストボックス内の項目の説明は表35のようになります。

表35 Query Panel - 項目
項目 説明
(Color) 各Panelに表示するQueryによって取得できたデータの色を指定できます。
(Search) テキストボックスに入力したQueryで検索し、データを取得します。
(Add) Queryを追加することができます。

 Dashboardで可視化できるデータは一つだけではありません。複数のQueryを発行することで複数のデータをPanel上で可視化できます。図43は日本、中国、韓国、台湾からのデータを取得するQueryを発行して、Dashboard上で比較をしているものです。

図43 Query Panel
図43 Query Panel

9.6 Filtering Panel

 Filtering Panelとは、Dashboard上で集計するデータをある条件で絞り込む時に利用します。Filtering Panelの設定画面は図44のようになり、設定項目は表36のようになります。

図44 Row Settings - Add Panel - Select Panel Type - filtering
図44 Row Settings - Add Panel - Select Panel Type - filtering
表36 Row Settings - Add Panel - Select Panel Type - filtering - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。

 表37のように設定項目を入力し、Panelを追加すると図45のようなPanelが表示されます。

図45 Filtering Panel
図45 Filtering Panel
表37 Row Settings - Add Panel - Select Panel Type - filtering - 内容
項目
Title Filter Queries
Span 12
Editable On
Inspect On

 Filtering PanelにはTimePicker Panelで指定した期間を絞り込む条件などが自動で追加されます。Filtering Panelには複数のFilterを追加することができます。

9.7 Map Panel

 Map Panelとは、集計するデータに地域を特定できるデータがある場合、どの地域からどれくらいアクセスがあったかなどを可視化することができるPanelです。Map Panelの設定画面は図46のようになり、設定項目は表38のようになります。

図46 Row Settings - Add Panel - Select Panel Type - map
図46 Row Settings - Add Panel - Select Panel Type - map
表38 Row Settings - Add Panel - Select Panel Type - map - 項目
項目 説明
Title Panelのタイトルを設定します。
Span Panelの使用するカラム数を指定します。
Editable Panelの設定が行えるか否かのチェックボックスです。チェックを外すと設定変更が行えなくなります。
Inspect Panelの発行するクエリを目で確認できるようにするか否かのチェックボックスです。チェックを外すと確認できなくなります。
Field 2文字の国コード、または地域コードが格納されているフィールド名を指定します。
Max 最大いくつの国または地域のデータを集計するかの数値を指定します。
Map 地図のタイプを指定します。world(全世界)、europe(ヨーロッパ)、usa(アメリカ合衆国)から選択できます。
Mode グラフの集計方法を指定します。count(カウント)、min(最小値)、mean(相加平均)、max(最大値)、sum(合計)から選択できます。
Decimal Points 表示する数値データの小数点以下の桁数を指定します。
Queries Display query when Inspect Inspect画面を表示した時にPanelが発行しているSolrクエリを表示するか否かを指定します。
Panel Query Panelが発行するクエリを指定します。
Add Custom Queries Panelが発行するフィルタークエリを指定します。

 表39のように設定項目を入力し、Panelを追加すると図51のようなPanelが表示されます。

図47 Map Panel
図47 Map Panel
表39 Row Settings - Add Panel - Select Panel Type - map - 内容
項目
Title Map
Span 7
Editable On
Inspect On
Field country_iso_code
Max 200
Map world
Mode count
Decimal Points 0
Queries Display query when Inspect On
Panel Query \*:\*
Add Custom Queries 空欄

10. まとめ

 本記事では、Solr、Flume、Bananaを使用してデータ分析プラットフォームを構築してみました。Flumeは今回紹介したWebサーバーのアクセスログだけでなく、syslogや、Twitterのデータなど、多くのデータソースに対応していますのでいろいろお試しください。またBananaのバックエンドであるSolrの提供する強力で柔軟なクエリを駆使することで、より複雑な分析も行うこともできます。 社内で活用しきれていないデータをぜひビジネスに活用できるようにしてみてください。実際にいくつかPanelを追加したサンプル画像を図48に示します。

図48 Map Panel
図48 Map Panel

 Solr、Flume、Morphlinesの使い方については下記リンクを参考にしてみてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Yahoo! JAPAN 黒帯シリーズ連載記事一覧

もっと読む

この記事の著者

大須賀 稔(ヤフー株式会社)(オオスカ ミノル)

1975年埼玉県生まれ。インフォシーク入社後、同社の吸収合併により楽天、米国Ask.com日本法人、楽天(復帰)、ロンウイットを経て、2014年ヤフー株式会社入社。2013年、Apacheソフトウェア財団の運営するSolrの関連プロジェクトであるManifoldCFのコミッターに就任。「[改訂新版]...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8707 2015/05/28 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング