elastic {on} TOUR 2015 Tokyo


2015/12/16 六本木ヒルズ アカデミーヒルズ

## Keynote

Elasticsearchはどこからスタートしたか
妻がシェフを目指してロンドンに行った

妻のためのレシピとかロケーション情報をまとめたアプリケーションを作ろうと思った
シンプルな検索ボックスが妻に評価された

作ってるときにApache るしーんに出会った
素晴らしい

Hibernate使ってマッピングしてた

色んな事に使える

早さ大事
ms単位になるとアプリケーションそのものがガラッと変わる

検索はスピードが命
Compass

JSONスキーマサポートとか必要
ここら辺でElasticsearchの事を考えるようになった

ElasticsearchをOSS化してコミュニティも大きくなっていった
めっちゃでかくなったので起業した

現実の問題の解決に役に立っている

### どういうところで採用されているか

- Wikimediaの検索
 - 多言語サポート、先進的なシンプルなクエリ言語をサポート
 - ログインのインフラにも使われてる
- Mozilla
 - クラッシュレポートなどに使用
 - Elastic Stack上にソリューションが開発されていく
- Nasa
 - キュリオシティからのデータをストリーミング連携して、研究者がKibanaを使って分析している
 - 検索を使って現実問題の解決を行っている
- ベライゾン
 - スケールいい事例

### The Elastic Stack


- Elasticsearch
- Kibana
- Logstash, Beats

プロダクトにはそんなこだわっていない
ビジュアライゼーション大事だと思ったからKibanaを作った
データを取り込む方法も提供しよう→Logstash、Beats作った

Logstashはわりと古い
どっちかというとサーバーのコンポーネント
Beatsは新参
エッジマシンで使われる物
Packet Beatというソリューションから作った

### Elastic Stack Extensions

魅力的な拡張を提供

- Monitoring
- Security
- Alerting
- More...

企業としてこれらの拡張をサポート
グラフAPIのデモあとでするよ

### Elasticsearch 2.1

#### Resiliency

リカバリー時間の短縮
Durable writes
永続的な書き込み→ディスクに書き込む
fsyncで5秒に一回同期をする
Java Security Manager
デフォルトでサポートした

#### Performance

Enable Larger Clusters
差分だけを扱うことで大きなクラスターを効率的に扱えるようにした
Java Heapメモリ量を大幅減
データの圧縮率も向上
ペタバイトのデータがシングルクラスタにあるとすると、5%の圧縮はかなりでかい
自動的なクエリのキャッシング

#### リッチ分析

カラムナーストア
効率的に演算ができる
時系列データとしても使えるようになってきた
タイムシリーズ
例えば、何かの累積合計、アプリケーションの合計のレイテンシを見たい時とか
変化率だけを抽出できる機能
移動平均とかいろいろ提供できる
将来予測に使用可能
パイプライン分析など

#### Feature

- Geo2
 - 全く新しい世代のジオロケーションデータ
 - 次のメジャーリリースで実現予定
- クエリプロファイリング
 - クラスタ内で何が起きているか情報を提供する
 - 使いたいのは、複雑な検索条件のどこが時間かかってるのか、今は見えにくい
 - るしーんレベルで改善していく
- Administration
 - Reindex API
 - インデックスの張り直しを簡単に
 - Task Management API
 - 中止したりとか色々
 - インフラ層を加えることでこれらを可視化してキャンセルできるようにする
- スクリプトをES内で実行できるようにする
 - 考えてなかったことができるようになる
 - スクリプトの問題は？
  - セキュリティの問題
  - 自身のスクリプト言語を作ろう
  - 高速であること、セキュアであること
  - より安全にするために

### Kibana

Kibanaは地下室で生まれた

新聞社のビジネス→鈍重

エンジニアでなければ使えないのは問題だった
Logstashのインターフェースを改善しようとしてKibanaを作った

Elasticsearchはスピードの問題は一切なかった

Kibanaは作者のボスのために作った
仕事のジャマにならないようにｗ

4でよりわかりやすくしていった
チャートの種類とかも増やした
まだ満足していない

バックエンドのカスタマイズを高めた

Metrics Data
Timelion

### Logstash

どうやってElasticsearchに取り込むか
汎用型のETLツール

パフォーマンスはLogstashの究極の目標の一つ

管理面の改善
Logstash Plugin

オフラインプラグインインストールが可能になった

200以上のプラグインがある

バックプレッシャーという考え方
これ以上データ送らないで

### Beats

最初のユースケース

Packet-Beat
リアルタイムネットワークパケット分析
Elasticsearch使ってた

- Filebeat for tailing logs
- Packetbeat for network traffic analytics
- Topbeat for resource usage monitoring

システムの周辺情報を分析するためのツール

アプリケーションのメトリクスもMetricsbeatも開発中

ES-Hadoopコネクタ
Hadoopのデータを取り上げて高速化したりとかにも使える
すげぇ！

Elasticsearch→Hadoopにアーカイブするという用途にも使える

### Extentions

#### Shield

ユーザー名・パスワードによるデータベース認証
その他の色んな認証方法
データの暗号化

Advanced Security
Field and doc-level security
SSOをやりたいと思ったらShieldを拡張すればできる

簡単なインテグレーション
Configurationを一括でできるように（今はノード別にやらないといけない）
Management UI
Granular security for Kibana
Kibanaとの統合を強める

#### Watcher Alert and Notify

通知を柔軟にできる
メールとかいろいろ。
ポケベルならしたりとか。

Slackとかと統合したりできる

Watcherにも管理UIを入れていく予定
Kibanaとの統合も
自動化機能を実現していく

#### Marvel

クラスタモニタリング

Marvel2でデザインしなおした
重要なMetricsだけに注視する

シャードレベルのメトリクスを取得する

グラフAPI/UI
何時間も話できるけどデモ見てくれｗ

マルチクラスタレプリケーション

### Found: Elasticsearch as a Service

EaaS

AWSでサービスを提供
Found

Kibanaも提供

## テクニカルセッション

おおたにさん

### Logstash
簡単にログの構造化ができる

`geoip`
`useragent`

### Elasticsearch

#### index_template

Kibanaでアグリゲーションした時に解析して欲しくない情報をindex templateで設定できる
緯度経度の情報を設定する必要がある。
Mapping定義するのがめんどくさい。

それを簡単に行うのがIndex Template

#### multi_field

検索もしたい、分析もしたい

#### dynamic_template

勝手にmulti_fieldとかの設定してくれる

### Kibana

#### Senseプラグイン

Kibana4.2以降で使える
Elasticsearchに対してブラウザでクエリを投げられる
補完してくれる
cURLとの書式相互変換できる

#### Visualize-spy

下の方にある矢印クリックすると色んなものが見える
Elasticsearchに対して投げてるクエリを見れる

#### ダッシュボードの表示

今見てる時間を保存する機能が追加！
デフォルトだと最新15分でデータなかったりしてかなC

#### 質疑応答

Analyse API
転置インデックスの内容を確認できる
便利だけど結果しかみれない

Extended Analysis
順を追って見れるようにしてくれるプラグイン

2.2からデフォルトで入ってる

Dynamic Templateの参考になるテンプレってある？
検討します！

## セキュリティユースケース

ユースケースにどんな属性があるのか、問題点、推奨事項について

### ユースケースの属性

見える化すること
これを早くすること
アラートを出す事もとても重要
クイックアクションが大事

### アンチウイルスログ

感染の範囲などがわかる
どのエンドポイント、どのユーザーが感染しているのかを見る

### 侵入検知のユースケース

重要なのはどのポートが攻撃されてるのかを検索する
侵入が成功されたってなる前に調べる必要がある

### 認証ユースケース

どう言う経路できているのかをわかるようにしている

### ログ

- STIX
- CEF
- CIM
- LEEF

### Shield

Shieldオススメ！

### Watcher

ログインイベントをLogstashで収集して、誰かがログインしたら通知が出るようにしたりとかしてる

### Dashboard

チャート便利

### まとめ

Elastic Stackはセキュリティユースケースに使えるか？
→使える！

Decision Makingを高速にできるようになる

### 質問

機械学習とかキーノートで言ってたけど、セキュリティにも使えるよね
有益な情報があれば教えて
あんま詳しくは紹介できん、ごめん

ダッシュボードのテンプレってあるの？
標準でできあいのものはない
コミュニティで作ってくれればみんなで共有できるよ

## LT大会

### Basis Technology

Rosette
言語処理プラットフォーム

- 言語判別
- RBL:形態素解析 `Elasticsearch Plugin`
- 固有表現抽出
- RNI:名称照合、検出 `Elasticsearch Plugin`
- 名称翻訳

名称照合は難しい。
RNIはテロ対策、目ねーロンダリング対策、入国管理に活用されてる


人名のファジー照合を強化
ElasticsearchのLuceneが対応してない他言語にも対応

Mapping時にtypeをstringからrni_nameに変えるだけ

### NEologd

かれこれ3回くらいこの話し聞いてる気がするｗ
でも使えそうだから今後使っていきたいな。

### EndosnipeとElasticsearch

トラブルシューティングしてた。
ENdoSnipeというプロダクト

もっと情報が見たい
Elasticsearchを使おう！

あくろくえすと、半年間でググれば出てくる
あくろくえすと、人気番組との闘いでググる

次は何をするか？

ビジネスの改善

可視化することで色々見えてビジネスを改善できる

サーバー側はBeats、アグリゲーターにLogstash

システムもビジネスも可視化する

### Solor Migration

UZABASE JORGE

Solr River Plugin for Elasticsearch


## まとめ

Logstash使ってみようという意欲がむくむくとわいてきた！
Shield使いたいな。