Splunkを使ってBOXのファイル操作情報を可視化

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

BOXのログ収集App
---
Boxのログ収集には２通りのやり方があります。両方の Appそれぞれで BoxのREST APIに対してアクセスをしてログを取ってきます。そのためFWのポリシーではoutboundのhttps通信を許可する必要があります。

1. [Box App for Splunk](https://splunkbase.splunk.com/app/1807/)
主にダッシュボードが充実しているがCIMに準拠していないため他のログと相関検索する際に検索がしづらい
   
2. [Splunk Add-on for Box  (Splunk build)](https://splunkbase.splunk.com/app/2679/)
CIMに準拠したフィールドを自動抽出。サンプルのレポートもあるため参考にしながらどのようなログが見えるか確認できる。

Splunkサポートを受けたければ Splunk buildのSplunk Add-on for Boxをまず利用してデータを取り込むことを推奨。Box App for Splunkはダッシュボード作成の参考に利用するのも良い。

参考ガイド
---
下記手順はBoxの無償トライアルライセンスでも試せます。
https://www.box.com/ja-jp/pricinga
上記 URLよりBusiness ライセンス(クレジットカード登録求められますがトライアル期間中にキャンセルすることで費用は請求されません)で試すことができます。

- Boxイベントログ取得までの所用時間目安：
設定は0.5h-1.0h、ログが取り込まれるまで1日程度時間がかかる場合があります

- Splunk Add-on for Boxのログ取得手順は Splunk社のサイトにて説明があります。
    - http://docs.splunk.com/Documentation/AddOns/released/Box/About

- その他参考 URL: [Boxの利用状況をSplunkで可視化する](https://blog.animereview.jp/box-to-splunk/)

# 設定手順
### Box developersサイト側設定
1. Splunk連携用のAppを作成,（カスタムアプリを選択 
https://app.box.com/developers/console
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/d3c60e47-049f-84b7-0b6f-59dd99b50285.png)

2. 標準OAuth.2.0を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/8231b369-ad39-34cd-dce4-170efde32790.png)

3. 任意の名前で作成
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/532c6e03-c359-00f2-75aa-fa25285da3e5.png)

4. 作成したAppのOAuth2.0資格情報をメモし、リダイレクトURLにSplunkのURL(https)のパスを入力
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/037b44e7-cf02-8589-8786-5e590983f0df.png)

5. アプリケーションスコープではすべてチェックを有効
6. 許可する送信元を設定、以上。


### Splunk側設定
1. Splunkの Search Head(search時のフィールド抽出用)とIndexer又はForwarderサーバ(API取得を行う)にAdd-Onをインストール
2. IndexerかForwarderにインストールしたAdd-OnのSetUpをクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/e300ecb6-fde5-533b-4768-562268adbf00.png)
3. クライアント IDと機密コードを入力し保存
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/3bf132cf-6715-975a-2af6-5d2a60fb8d80.png)
4. ダイアログが表示されたら「Boxへのアクセスを許可」を選択します
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/f40f25a9-1cda-5e41-4b89-a96e5522d79f.png)
5. splunkメニューに右上の[設定]-[データ入力]から[Splunk Add-on for Box]をクリック
6. 全ての項目をenableに設定
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/c6450f87-bad5-aeb4-6b87-d189d8d15ce0.png)
7. しばらく時間が経つと定期的にログを収集しSplunkにデータが入ってきます
8. **設定から１０時間程度経過して初回のログ収集が実施されることを確認**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/e9db6510-62d7-92e7-5e51-f94203b4892d.png)

```rex:SPL例
sourcetype=box:* |eval diff = _indextime - _time 
|eval indextime=strftime(_indextime,"%Y-%m-%d %H:%M:%S") 
|table _time indextime diff sourcetype source_item_name event_type
```

9. 参考ダッシュボードパネルはView Objectsより見れます
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/82de591f-ae93-924b-ac94-450c7327a68c.png)

10. ダッシュボード用のパネル一覧
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/af9a1a40-e855-99aa-9842-e25e9a2e0fd1.png)

11. APIのエラー有無を確認できるパネルもあるので有効にすることを推奨します。

参考ダッシュボードサンプル
---
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/62b3bcd1-537b-e6e4-e41f-dfc660538616.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/12dca331-d862-fc64-883c-201f3dda3592.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/185759/48c70390-8884-4bb8-3928-2b5cf1e8b824.png)