最近めっきり暑くなりましたが、皆さんいかがお過ごしでしょうか。
なにげに日傘男子の @cero_t です。
さて、先日、Elastic Stack 5.0.0-alpha4がリリースされました。
なかなか良いペースでalphaもバージョンが上がっていて、この調子ならβ版のリリースも近いんじゃないのかなと思います。
さて、今日はそのalpha-4の新機能を紹介します。
Elastic Stack 5.0.0-alpha4の新機能
まず簡単にalpha4の主な新機能を紹介します。
https://www.elastic.co/jp/blog/elastic-stack-release-5-0-0-alpha-4
1. Elastic/Kibanaのインストール
前回のエントリーとほとんど同じですが、ElasticsearchとKibanaのインストール手順を紹介します。
BeatsとLogstashは使わないので、インストール手順は省略します。
今回もサーバはAWSのAmazon Linux 2016.03、インスタンスサイズはt2.smallを使っています。
まずJava8(OpenJDK)とdstatをインストールします。
sudo yum update -y sudo yum remove -y java-1.7.0-openjdk sudo yum install -y java-1.8.0-openjdk-devel sudo yum install -y java-1.8.0-openjdk-debuginfo --enablerepo=*debug* sudo yum install -y dstat
この辺は僕の好みで入れているのでスキップしても構いません。
yumでインストールするため、RPMの公開鍵をインポートして、リポジトリの定義を作成します。
sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch sudo vi /etc/yum.repos.d/elastic.repo
elastic.repo
[elasticsearch-5.x] name=Elasticsearch repository for 5.x packages baseurl=https://packages.elastic.co/elasticsearch/5.x/centos gpgcheck=1 gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 [kibana-5.x] name=Kibana repository for 5.x packages baseurl=http://packages.elastic.co/kibana/5.0.0-alpha/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1 [logstash-5.x] name=Logstash repository for 5.x packages baseurl=http://packages.elastic.co/logstash/5.0/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1
勢いあまってLogstashの設定までしてしまっています。なおBeats 5.0系のリポジトリは、まだ用意されてなさそうです。
yumコマンドでElaticsearchとKibanaをインストールし、自動起動の設定をして、起動します。
sudo yum install -y elasticsearch sudo yum install -y kibana sudo chkconfig --add elasticsearch sudo chkconfig --add kibana sudo service elasticsearch start sudo service kibana start
これでインストールは完了です。
ブラウザで http://(サーバのアドレス):5601/ にアクセスして、Kibanaの画面が出たら成功です。
画面遷移時に「Index Patterns: Please specify a default index pattern」というエラーメッセージが出るので、とりあえず「.kibana」をデフォルトindexにすることで警告はなくなります。
ところでKibana 5.0.0-alpha4では、なぜかログが /var/log/kibana に出力されなくなっています。
たぶんこのチケットで、
https://github.com/elastic/kibana/issues/7590
パッチもすでにマージ済みなので、
https://github.com/elastic/kibana/pull/7593/files
次のバージョンでは直るんじゃないかと思います。
これでElasticsearchとKibanaのセットアップは完了です。
2. CSVインポート機能を試す
CSVインポート機能はElasticsearchとKibanaさえセットアップすれば、特に追加のプラグインなどを入れずに利用することができます。
今回は、横浜市の5年間の気象データをCSV形式にしたものをインポートしたいと思います。
気象データは、気象庁のサイトからダウンロードしました。
http://www.data.jma.go.jp/obd/stats/etrn/index.php
ただ利用にあたり少し加工したので、加工後のCSVファイルもこちらに置いておきました。せろ忍者。
http://www.cero.ninja/t3blog/weather.csv
ではCSVインポート機能を試してみましょう。Kibanaの左メニューから「Management」を選択します。
Connect Dataに「Upload CSV」というメニューがあるため、これを選択します。
そうすると、CSVのアップロード画面が開きます。
ここでCSVファイルをドラッグ&ドロップします。
それだけでサッとCSVの中身が認識されました。
なおここでアップロードするCSVファイルですが、1行目が見出しになっていること、また日付はyyyy-MM-dd形式となっている必要があるようです。たとえばこんな感じ。
year-month-day,rain,max_temperature,min_temperature,daylight_hours,snow_depth,snow_ammount 2011-05-12,20.5,16.2,14.1,0.0,0,0 2011-05-13,0,24.0,16.1,5.4,0,0 2011-05-14,0,25.3,15.5,11.1,0,0
恐らくもう少し先のバージョンでは、Ingest Nodeの加工機能と連携して、CSVを加工するような機能も提供されるのではと思いますが、今のところは先にCSVファイルを修正しておく必要があります。
さて、CSVファイルが上手く読み込めたら「Next」を押して次の画面へ。
ここではindex名の指定や、それぞれのフィールドの型を選択します。
今回は日付を利用したtime-basedのデータで、日付以外のデータは全て数値なので、このまま読み込みます。
「SAVE」を押して読み込みを行ない、数秒待つと読み込みが成功したメッセージが表示されました。
1828行のCSVデータが読み込まれたようです。
discoverでindexを開き、期間を「Last 5 years」を指定すればデータが投入されたことを確認できます。
※若干、表示範囲とデータの範囲がズレているので件数が1766件(投入は1828件)になっていますが、まぁまぁ気になさらず。
もちろん、投入したデータを使ってグラフを作ることもできます。
簡単でしょう?
このCSVインポート機能のおかげで、Logstashの設定を書くことなく、データ投入を試せるようになりました。
これはちょっとElasticsearchを活用する人が増えそうな新機能じゃないですか?
3. X-Packの導入
次にKibanaのモニタリングを試してみます。
モニタリングを行なうためには、X-Packというプラグインセットをインストールする必要があります。
本来X-Packは商用ライセンスを購入しなくては使えないプラグインなのですが、alpha版である現在では自由に使うことができます。
X-Packをインストールする前に、Elasticsearch/Kibanaを止めておきます。
sudo service kibana stop sudo service elasticsearch stop
elasticsearch-pluginコマンドで、ElasticsearchにX-Packプラグインをインストールします。
cd /usr/share/elasticsearch/ sudo bin/elasticsearch-plugin install x-pack
途中で一回質問が出ますが、力強く「y」を押して頂いて差し支えありません。
続いて、kibana-pluginコマンドでKibanaにX-Packプラグインをインストールします。
不安になるぐらいインストールに時間が掛かりますが、数分ぐらい待てばインストールが完了します。
cd /usr/share/kibana sudo bin/kibana-plugin install x-pack
これでX-Packのインストールは完了しました。
以前は(というか現在は)MarvelやらShieldやらをアチコチにインストールしなくてはいけなかったのが、このインストールだけで済むのは楽ですね。
サービスを起動しましょう。
sudo service elasticsearch start sudo service kibana start
そしてKibanaにアクセスすると・・・認証画面が表示されました。
これはSecurity(旧Shield)のプラグインが効いているためです。
特に何もアカウントを変更してない場合、ユーザー名「elastic」で、パスワード「changeme」でログインができます。
ログイン後すると、左メニューの項目が増えていたり、左下にユーザボタンやログアウトボタンが増えていることが分かります。
新機能のモニタリングを試すには、増えたメニューから「Monitoring」を選択します。
Monitoringの画面に、Elasticsearchだけでなく、Kibanaも出ています。
ここで右側のKibanaの「Instances: 1」のリンクをクリックすると、詳細なデータが確認できます。
ロードアベレージやメモリ消費量、リクエスト数などの基本的なリソース情報がグラフで確認できました。これでKibanaで異常が起きる前に予兆を掴んだり、あるいは問題が起きた時に(情報はElasticsearchに残っているため)後から問題をトレースすることもできるでしょう。
いずれは、ここにLogstashやBeatsシリーズも並ぶことになるでしょうね!
まとめ
- Elasticsearch 5.0.0-alpha4は今すぐ試せるぞ。βもそう遠くない?
- CSVインポート機能のおかげで設定レスでElasticsearchへのデータ投入ができるようになりました。
- Kibanaをモニタリングできるようになりました。LogstashとBeatsも所望する!
次はGraphなんかを試してみたいですね。
それでは皆さん、日焼けなどしすぎないように、See you!
Acroquest Technologyでは、キャリア採用を行っています。
- 日頃勉強している成果を、AWS、Hadoop、Storm、NoSQL、Elasticsearch、SpringBoot、HTML5/CSS3/JavaScriptといった最新の技術を使ったプロジェクトで発揮したい。
- 社会貢献性の高いプロジェクトに提案からリリースまで携わりたい。
- 書籍・雑誌等の執筆や対外的な勉強会の開催を通した技術の発信や、社内勉強会での技術情報共有により、技術的に成長したい。
- OSSの開発に携わりたい。
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。
データ分析で国内に新規市場を生み出す新サービス開発者WANTED! - Acroquest Technology株式会社の新卒・インターンシップ - Wantedlywww.wantedly.com