基本的に展開して、
%ES_HOME%/bin/elasticsearch.bat
を実行すれば起動するようになる。
kibanaはただのWebアプリなのでTomcatのwebappsなどに突っ込んでおけば基本動く。 elasticsearchのポートを変更している場合はconfigを変更してあげる必要がある。
URL:https://github.com/jprante/elasticsearch-river-jdbc
%ES_HOME%/bin/plugin.bat -install jdbc-river -url http://bit.ly/1jyXrR9
※elasticsearch 1.0の場合は上記。バージョンにあったものをインストールする必要があるので注意
OracleのJDBCドライバを%ES_HOME%/plugin/jdbc-river/配下に置く
ここまでやったらelasticsearchを起動する
jdbc-riverをインストールしたときに与えられたURL(基本的にはポート9200番)にcurlでアクセスしてJDBC-riverを設定する。 riverの設定名はここでは"river_name"とする Oracleはlocalhost上のscott/tiggerに対しての接続。
curl -XPUT 'localhost:9200/_river/river_name/_meta' -d '{
"type":"jdbc",
"jdbc":{
"url":"jdbc:oracle:thin:@localhost:1521:ORCL",
"user":"scott",
"password":"tigger",
"sql":"select * from customer",
"index":"test",
"type":"customer"
}
}'
curlの結果はこんな感じになる
{"_index":"_river","_type":"river_name","_id":"_meta","_version":1,"created":true}
実行はelasticsearch側のconsoleで確認。 river登録と同時に自動的に実行される。また、Elasticsearch起動時にも自動で実行される
type 変数に入れる値が、データタイプとなるので、データソースを識別するときはここを変更するといいかもしれない。
今回は、データを全件投入するようなSQLを書いてみたが、本来の使い方を考えると、直近1日とか期間を区切って抽出。 同じ間隔でスケジュールパラメータを指定して自動取り込みをしていく形になるだろう
curl -XDELETE 'localhost:9200/_river/river_name'
curl -XDELETE 'localhost:9200/test/customer/'
※index名を指定するかtype名までを指定する
*index名だけだと、indexそのものが削除される
Kibanaで利用する検索用言語
現在時刻はnowで表現可能。
INQUIRY_DT:[now-1y TO now]