Splunkを使ってGoogle Driveログの可視化に挑戦


いつもの前置き
-----
・Splunkには色々なAppがある。
・とはいえコミュニティサポート（英語）のAppは始めるまでにちょっと敷居が高い。
・そこで私がトライした内容は後学のために共有したいと思いここに書き残します。
・ゆるい情報なので参考程度でご勘弁。

Google Driveの利用状況の可視化できてますか？
-----
最近利用が増えている、 GSuite(Gmail、 Google Driveなど)の利用状況を可視化するために、 API経由で情報を収集する方法があるが、スクリプトを一から作るのは大変なので、 Splunk Baseにある先人の知恵を借りてみました。

https://splunkbase.splunk.com/

今回使うAppは2つ。
・G Suite For Splunk
・Input Add On for G Suite App

セットアップ手順
-----
Gsuiteの設定
----
1. 検証のための事前準備
        1. GSuiteのトライアル契約（Business Edition）　※１５日間無償トライアル可能
        2. ドメインの取得（1000円/年）　＊今回検証のために泣く泣く契約
2. GCP(Google Cloud Platform)にアクセス　　　　　　　　　　　　　https://console.cloud.google.com/
3. 任意のプロジェクトを作成![スクリーンショット 2018-10-02 14.44.38.png](https://qiita-image-store.s3.amazonaws.com/0/185759/0ac36af5-20fe-5847-b435-4112b6a13d78.png)
4. プロジェクトメニュー内のAPI＆ServiceよりLibraryを選択、Admin SDK API と　Google Drive APIを選択し有効化

![スクリーンショット 2018-10-02 14.48.24.png](https://qiita-image-store.s3.amazonaws.com/0/185759/addcfd7e-369e-7583-5958-4d021815fef4.png)
5. 再度、プロジェクトメニュー内のAPI＆Serviceより、Credentialsを選択
6. OAuth client IDを作成![スクリーンショット 2018-10-02 14.55.45.png](https://qiita-image-store.s3.amazonaws.com/0/185759/b2f6b989-5019-ee9a-ad13-98345c59e81d.png)
7. Application Typeはotherを指定

![スクリーンショット 2018-10-02 14.56.43.png](https://qiita-image-store.s3.amazonaws.com/0/185759/3beea4fa-856c-43a8-93ee-afb4bbf7cece.png)

8.作成した OauthのClient IDと Client secretをメモしておく 


   
Splunk設定（SHと IDX/HFが別々の場合を想定）
----
1. SHにApp(G Suite for Splunk)、 IDX/HFに IA add-on(IA-GSuiteForSplunk)をインストール
    ※Appと IA addonは別々のサーバで動かす必要がある
2. IA add-onにて API連携の設定をセットし、エラーメッセージがないことを確認
OauthのClient IDと Client secretはここで使用
    
    詳細なセットアップ手順はIA-GSuiteForSplunk内に記載された下記内容を参考にしてください。![スクリーンショット 2018-10-02 14.08.13.png](https://qiita-image-store.s3.amazonaws.com/0/185759/9605fc40-c901-bb8c-10d4-eec8ae960432.png)

   
    下記例は、google drive用のログ取集と、その他（ログイン、トークン利用状況）などを収集するモジュールは分けて設定（モジュールによって収集頻度が変わるため）![スクリーンショット 2018-09-26 17.50.09.png](https://qiita-image-store.s3.amazonaws.com/0/185759/2fb66952-11d2-c46e-6cfe-793ccd13a784.png)

3. App側では、何も設定せずにconfigurationページにてsaveのみ行う<img width="463" alt="スクリーンショット 2018-10-02 12.42.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/185759/ad9e9ba3-96f9-b6ae-b5be-55beb0f9957e.png">

4. HFから Appに転送されたイベントを元に Appのダッシュボードにデータが表示される
    <img width="1645" alt="スクリーンショット 2018-10-02 12.45.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/185759/bf66d648-c939-9f10-ced6-31ff7a7027af.png">

5. Google Driveの利用状況可視化のためには自分でサーチを作る必要あり（デフォルトのダッシュボードセットではできない）　
<img width="1647" alt="スクリーンショット 2018-10-02 13.00.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/185759/2d482d29-55ba-1507-0f39-df26df2a000c.png">

ハマったポイント
-----
・AppとIAはSHとIDX(またはHF)に分けてインストールする必要がある点
　→説明書きにも書いてあったのですが、SHにもAPPとIAを両方インストールしていたせいでエラーが発生していました。![スクリーンショット 2018-10-02 14.23.21.png](https://qiita-image-store.s3.amazonaws.com/0/185759/ade3061e-f489-72c5-2cfd-b286bf692444.png)

・GSuiteのBusiness EditionでないとGoogle Driveのレポートを収集できない<img width="370" alt="スクリーンショット 2018-09-14 11.44.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/185759/566e3eb2-4bbc-591b-5f72-73c2c76cc6d3.png">



参考記事
----
https://splunkbase.splunk.com/app/3791/#/details