はじめに
今回は Google Formのアンケート結果を自動的に Splunkに取り込んで、分析できるようにしてみました。
なにがうれしいいか?
・ 柔軟な分析ができる。(Google Formにデフォルトでついている結果グラフなどは有用だが、それ以上の分析ができない)
・ 過去のアンケート結果を含めて総合的な表示や、特定の項目に絞った分析ができる。
・ 上記の事をリアルタイムに表示できる。(アンケート期間が長くてもリアルタイムに最新情報が確認できる)
・ 自動化しているので、手動で Excelや Spreadsheetを毎回編集しなくてもいい。(これが一番かも)
##アーキテクチャ
Google Formには、回答結果を Google Sheetに自動で保存する機能がついてます。今回はさらにその Google SheetをSplunkに自動で取り込むように設定しました。これでいつでもリアルタイムに Splunkで分析したり、ダッシュボードで可視化したり、アラートをあげたりすることができます。また同じ Google Sheetに保存するように設定すれば、アンケートが何回行われても一箇所に保存されるため、過去データも含めた分析ができるようになります。
##設定手順
- Google appを作成し、APIのTokenを取得する
- Google Form を作成し、Google Sheetに回答が保存されるようにし、1で作成したアカウントに共有する
- Splunkにアプリを追加する (Google Import/Export)
- SplunkにLookupを作成し、Google sheetのデータを同期する
ポイントはGoogle Sheetのデータを外部から参照できるように APIのTokenを取得する点と、Splunkにアプリを追加しLookupファイルにデータを同期する点です。
###手順1:Google appを作成し、APIのTokenを取得する
参考サイト
https://lukemurphey.net/projects/splunk-google-docs/wiki/How_to_setup_app
https://qiita.com/odorusatoshi/items/2d00edbd074c9b267195
詳細は上記のサイトに記載があるので、ここではさくっと流します。
完了すると、jsonファイルが自動的にダウンロードされます。(後ほど使うので保存する)
###手順2: Google Form を作成し、Google Sheetに回答が保存されるようにし、手順1で作成したアカウントに共有する
ここでは、Google Formの使い方については解説しませんが、Google Sheetに自動保存される設定方法のみ解説します。Formの管理者画面で、回答(Response)タブを開き、設定画面を開くと下図のような項目が出てきます。
作成された Spread Sheetを、手順1で作成したサービスアカウントに共有します。
###手順3:Splunkにアプリを追加する (Google Import/Export)
Google Import/Export Appを Splunkにインストールする
https://splunkbase.splunk.com/app/2630/
Installが完了すると、Google Drive というアプリ(名前に違和感があるが)がインストールされているので、設定画面にいくと以下のような画面になる
###手順4:SplunkにLookupを作成し、Google sheetのデータを同期する
このアプリのポイントは、データを Splunkの Indexに取り込むのではなく、ローカルファイルに同期されLookupで参照するという点です。
なので、最初に空のファイルを作成し、Splunkにアップロードしルックアップファイルを作成します。
lookupファイルの作成と定義
これで、lookupファイルを呼び出せるようになりました。
ちなみに、作成したルックアップファイルは共有されているので、 ({SPLUNK_HOME}/etc/apps/search/lookups に保存されてます。
入力データの登録
「設定」--> 「データ入力」 --> 「Google Spreadsheet」新規作成
データ分析開始
しばらくすると、データが同期されます。
|inputlookup gform
(*)日本語ももちろんOKです。
質問文は長いので分析するには不便ですので、サーチマクロとかで rename文を書いておくと後が楽になります。
こんな形でダッシュボード作っておけば、過去のアンケートや講師別の結果などいつでも簡単に見返せます。
おまけ
lookup File Editor という神アプリがあります。Lookupファイルを Splunk GUI上から直接編集することができるので非常に便利です。
Lookup File Editor
https://splunkbase.splunk.com/app/1724/
これで、実際にファイルの中身を確認したり、編集することが可能です。今回はSpreadsheetと同期しているので、元を編集しないと意味はないんですが。。