Help us understand the problem. What is going on with this article?

Google Formsのアンケート結果をSplunkに自動収集して分析してみた。

はじめに

今回は Google Formのアンケート結果を自動的に Splunkに取り込んで、分析できるようにしてみました。

なにがうれしいいか?

・ 柔軟な分析ができる。(Google Formにデフォルトでついている結果グラフなどは有用だが、それ以上の分析ができない)
・ 過去のアンケート結果を含めて総合的な表示や、特定の項目に絞った分析ができる。
・ 上記の事をリアルタイムに表示できる。(アンケート期間が長くてもリアルタイムに最新情報が確認できる)
・ 自動化しているので、手動で Excelや Spreadsheetを毎回編集しなくてもいい。(これが一番かも)

アーキテクチャ

image.png

Google Formには、回答結果を Google Sheetに自動で保存する機能がついてます。今回はさらにその Google SheetをSplunkに自動で取り込むように設定しました。これでいつでもリアルタイムに Splunkで分析したり、ダッシュボードで可視化したり、アラートをあげたりすることができます。また同じ Google Sheetに保存するように設定すれば、アンケートが何回行われても一箇所に保存されるため、過去データも含めた分析ができるようになります。

設定手順

  1. Google appを作成し、APIのTokenを取得する
  2. Google Form を作成し、Google Sheetに回答が保存されるようにし、1で作成したアカウントに共有する
  3. Splunkにアプリを追加する (Google Import/Export)
  4. 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

詳細は上記のサイトに記載があるので、ここではさくっと流します。

  1. プロジェクトの新規作成 https://console.developers.google.com/cloud-resource-manager

image.png

image.png

完了すると、jsonファイルが自動的にダウンロードされます。(後ほど使うので保存する)

手順2: Google Form を作成し、Google Sheetに回答が保存されるようにし、手順1で作成したアカウントに共有する

ここでは、Google Formの使い方については解説しませんが、Google Sheetに自動保存される設定方法のみ解説します。Formの管理者画面で、回答(Response)タブを開き、設定画面を開くと下図のような項目が出てきます。
image.png

作成された Spread Sheetを、手順1で作成したサービスアカウントに共有します。
image.png

手順3:Splunkにアプリを追加する (Google Import/Export)

Google Import/Export Appを Splunkにインストールする
https://splunkbase.splunk.com/app/2630/

Installが完了すると、Google Drive というアプリ(名前に違和感があるが)がインストールされているので、設定画面にいくと以下のような画面になる
image.png

手順4:SplunkにLookupを作成し、Google sheetのデータを同期する

このアプリのポイントは、データを Splunkの Indexに取り込むのではなく、ローカルファイルに同期されLookupで参照するという点です。
なので、最初に空のファイルを作成し、Splunkにアップロードしルックアップファイルを作成します。

lookupファイルの作成と定義

lookupファイルの作成
image.png

lookupの定義をします。
image.png

最後に定義した lookupファイルを共有する
image.png

これで、lookupファイルを呼び出せるようになりました。
ちなみに、作成したルックアップファイルは共有されているので、 ({SPLUNK_HOME}/etc/apps/search/lookups に保存されてます。

入力データの登録

「設定」--> 「データ入力」 --> 「Google Spreadsheet」新規作成

image.png

データ分析開始

しばらくすると、データが同期されます。

作成したlookupの呼び出し方
|inputlookup gform 

image.png
(*)日本語ももちろんOKです。
質問文は長いので分析するには不便ですので、サーチマクロとかで rename文を書いておくと後が楽になります。

こんな形でダッシュボード作っておけば、過去のアンケートや講師別の結果などいつでも簡単に見返せます。
image.png

おまけ

lookup File Editor という神アプリがあります。Lookupファイルを Splunk GUI上から直接編集することができるので非常に便利です。

Lookup File Editor
https://splunkbase.splunk.com/app/1724/

これで、実際にファイルの中身を確認したり、編集することが可能です。今回はSpreadsheetと同期しているので、元を編集しないと意味はないんですが。。

image.png

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away