Splunk Enterpriseから任意のRESTサービスにJDBCで接続

#はじめに
Splunkは、オペレーショナルインテリジェンスとデータ処理のプラットフォームで、すぐれたログ解析を提供します。IT基盤で起きていることをリアルタイムで監視、検索、調査、可視化、レポートできる強力なエンジンです。

REST APIは、エンタープライズ環境でデータアクセスを行うための良い方法です。しかし、REST APIからSplunkにデータをもってきてSplunk内のマシンデータと結びつけ、より深いレベルの解析とオペレーショナルインテリジェンスを行うことは、簡単ではありません。SplunkのDB ConnectとProgress DataDirect Autonomous REST Connectorを使えば、任意のREST APIからSplunkにデータを取り込めます。

この記事では、DataDirect Autonomous REST Connectorを用いて、リアルタイム株式情報を提供するAlpha Vantage REST APIに接続します。それでは始めましょう。

#始める前に
チュートリアルを始める前に、下記のインストールおよび設定が適切に行われていることを確認してください。
1\. Splunk Enterpriseがインストールされ、実行中であること。
2\. アプリケーション[Splunk DB Connect](https://splunkbase.splunk.com/app/2686/)が、Splunk Enterpriseにインストールされていること。

#Autonomous RESTコネクターのダウンロードとインストール
1\. ウェブサイトから[Autonomous REST JDBC connector](https://www.progress.com/jdbc/autonomous-rest-api)をダウンロードし、インストールして下さい。
2\. マシン上でセットアップ実行ファイルを実行し、コネクターをインストールして下さい。
3\. 別の場所を指定していなければ、インストールの終了後には下記のデフォルトパスにAutonomous REST Connectorがあるはずです。

```console
C:\Program Files\Progress\DataDirect\JDBC_60\lib\autorest.jar
```

#SplunkでAutonomous REST Connectorをセットアップ
1\. Autonomous REST Connectorをインストールした場所に移動し、libフォルダにautorest.jarを置きます。

```console
C:\Program Files\Progress\DataDirect\JDBC_60\lib\autorest. jar
```

2\. Splunkをインストールしたディレクトリ内の以下の場所に、autorest.jarをコピーします。

```console
C:\Program Files\Splunk\etc\apps\splunk_app_db_connect\drivers
```

3\. *db_connection_types.conf* というファイルを以下のディレクトリに生成します。

```console
C:\Program Files\Splunk\etc\apps\splunk_app_db_connect\local
```

4\. *db_connection_types.conf* ファイルを開き、以下の設定をペーストします。

```console
[datadirect_autorest]
displayName = Progress DataDirect Autonomous REST Connector
serviceClass = com.splunk.dbx2.DefaultDBX2JDBC
jdbcDriverClass = com.ddtek.jdbc.autorest.AutoRESTDriver
supportedVersions = 1.0
jdbcUrlFormat = jdbc:datadirect:autorest:sample=[http://api.example.com/data](http://api.example.com/data);
```

5\. Splunk Enterpriseを再起動し、変更が反映されたことを確認します。下の図のように、driversのページにProgress DataDirect Autonomous REST Connectorがリストされ、ドライバーがインストールされたことを示すステイタスが確認できるはずです。

![1_184910b1770714fdbabdbaa6de0f9555c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659117/927bc885-29f1-d280-5591-fa8824918f38.png)

#Alpha VantageのAPIキーを取得する

1\. 株式データを参照するためのAlpha VantageのAPIキーは[ここ](https://www.alphavantage.co/support/#api-key)から取得できます。

#Splunkの接続を生成

1\. App Splunk DB Connect -> Configuration Tab -> Databases -> Identities と辿り、新しいidentityを生成します。

2\. Basic認証またはパスワード認証以外の場合は、ユーザ名を匿名で記入し、パスワード欄は空欄として、設定を保存して下さい。

![2_247ce66b39ce54843816cb37623800ee7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659117/10a3479d-bae0-28f7-b638-77ac69d74839.png)

3\. Configuration -> Connections に行き、新しいコネクションを生成します。下記のように埋めます：
    (1) Connection Name: 任意の名前
    (2) Identity: 先ほど生成したIdentityを選択
    (3) Connection Type: *Progress DataDirect Automonous REST Connector*を選択
    (4) Time Zone: タイムゾーン
    (5) Edit JDBC URLをチェックすると、JDBC URLのフィールドが有効になります。
    (6) 下記は、AlphaVantageへの接続のためのJDBC URLの例です。
    
```console
jdbc:datadirect:autorest:sample="https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&outputsize=full";AuthenticationMethod=UrlParameter;authparam=apikey;securitytoken="Your API Key"

```

   (7) *Security Token* 接続パラメータに自分のAPIキーを入れて、保存(Save)をクリックします。
   
![3_389f2c81e63c24aa68dbf216369ba3148.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659117/5ea41314-77b9-1f78-7487-e6718188f558.png)

4\. 設定を保存すると、Splunkが接続を検証し、設定が正しければ接続が生成されます。

5\. DataLab -> SQLExplorerと辿り、Splunkとの接続テストを実施します。下のような結果が表示されるはずです。

![4_4ef840b3c05c04736980fdcbfc959970c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659117/fe33dc4c-b2aa-9882-14f3-ead5229ecc47.png)


参考URL： https://www.progress.com/tutorials/jdbc/connect-to-any-rest-api-from-splunk-enterprise