Excel から Splunkデータにアクセスするには？


# はじめに

Splunkにたまったデータを、普段使い慣れた Excelで使ってみたいと思ったことありませんか？　データをSplunkから csvなどで Exportして、Excelに取り込む方法もありますが、今回は Excelから直接 Splunkにアクセスしてデータを取得してみたいと思います。

# 仕組み

Splunk ODBC Driver を Windows PCにインストールすることで、ODBCドライバを利用してSplunkにアクセスして、データを取得します。
取得できるデータは、saved search. つまりレポートとして保存されたデータもしくは Data Modelを指定して取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/3dcf0089-18e4-8c16-f598-eab96bd18284.png)

注意点としては、現在はODBC Driverが Windows版のみリリースされており、MACでは残念ながら利用できません。 (2020/9時点) 
<font color=red>Updateがあり、ExcelとTableau に関しては、Mac版もリリースされました (2020/11時点) </font>

同じ仕組みを使って、Excel以外にも、Tableau や PowerBIからもSplunkにアクセスできるようになります。

# 設定方法

## 1. Splunk ODBC インストール

まずは、こちらから Splunk ODBCをダウンロードしてお手元のWindowsPCにインストールしてください。(Splunkサーバではないです）
https://splunkbase.splunk.com/app/1606/

ダウンロードすると、32bit版(x86)と64bit版(x64)の２つのファイルがあるので、環境に合わせて適切なファイルをインストールします。

途中以下のように、Splunkサーバーと、ユーザ名/パスワードを設定する画面が表示されますが、こちらに接続するSplunkサーバ情報を入力します。こちらの情報は後から変更することも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/4d5155c8-7a2b-638c-4443-b299413ae635.png)



## 2. ExcelからODBC接続の設定をする

Excelの [Data]タブ -> [Get Data] -> [From Other Sources] -> [From ODBC] を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/44484797-c048-4fc7-064d-d5c85733b5b7.png)

ODBCの選択メニューから、先ほど設定した [Splunk ODBC]を選択します。
（うまく表示されない場合は、32bit/64bitの選択が間違っている可能性があります）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/2cb6db4c-7f25-9483-7fae-459751ce3701.png)



## 3. Splunk レポート (saved search)から対象のレポートを選択する。

正常に Splunkサーバに接続できると、以下のように Splunkレポート一覧が確認できます。Excelから利用するには、直接queryを投げるのではなく、このように予めExcelからアクセスできるデータをレポートとして保存しておく必要があります。

Excelから以下のように参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/d7dbf2e3-8971-8f6a-c28e-9621e732089a.png)

ちなみに、Splunkからレポート一覧を確認するには、「設定」ー「サーチ、レポート、アラート」を選択すると表示できます。
test11 というレポートをSplunkで開くとこんな感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/bd352f96-9997-1164-d12c-197c71174c28.png)



選択して、[Load]ボタンをクリックすると、しばらくすると Excel上でレポート結果がロードされて、Excel上で加工ができるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/dd33d4af-0998-4d31-2f0f-7f1b146cada3.png)



# 番外編

###Proxy設定
ExcelからSplunkには 8089ポートを利用します。そのため社内からアクセスしようとすると接続エラーになるかもしれません。
その場合はProxy設定をする必要があります。
https://docs.splunk.com/Documentation/ODBC/3.0.1/UseODBC/ProxyServerConfiguration

###ODBC設定変更またはSplunkサーバの追加

ODBC Install時に設定した Splunkサーバの情報を変更もしくはSplunkサーバを追加したい場合は、以下の方法でできます。
https://docs.splunk.com/Documentation/ODBC/3.0.1/UseODBC/Configuration

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/5c37cdc2-6992-7727-c554-6c4360418b19.png)

ただし、私の環境では32bit Driverの設定変更ができませんでした。そのためサーバ情報の変更をする場合はdriverの uninstallして再インストールしました。（たまたまかもしれませんが）


### Data Model へのアクセス

先ほどはSplunkサーバのレポート情報 (saved search) のデータをロードしましたが、Splunkで作成したData Modelにもアクセスすることができます。
https://docs.splunk.com/Documentation/ODBC/3.0.1/UseODBC/HowtotakeadvantageofdatamodelsupportintheSplunkODBCDriver

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392303/69981baa-0cc1-6b5c-6477-213720edc43b.png)


# さいごに
如何だったでしょうか？ 様々な非構造化データをSplunkで収集して、社内レポートなど作成したい場合にこのような方法でデータをロードして見た目を整形する。
など、利用シーンは結構あると思います。是非お試しあれ