Elastic{on} Tour Tokyo 2017に参加しました #elasticon
2017年12月14日 10:00~18:00に虎ノ門ヒルズで開催された、
Elastic{on} Tour Tokyo 2017に参加しました。
今年から有料イベントになりましたが、参加費の11000円は会社に負担してもらいました。
Elastic Stackは現在社内でも絶賛稼働中で、今年中に有料サブスクリプションの契約をするので、
その下調べを兼ねてという体です。
コーヒーと紅茶、お菓子が用意されており、コーヒー3杯くらい頂きました!
クッキーも大変美味しかったです。
お弁当は今半の高級そうなやつでこれもまた美味。
基調講演
日本法人のカントリーマネージャーの方のお話。
日本チームは11人
取引先は100社を超えるとのこと。
今年中にうちも契約しますー!
CEOのShay Banonsさんからの講演ではこれからの予定など。
セキュリティアナリティクス
- SIEM
アプリケーションのログ可視化だけでなく、SIEMとしてもElastic Stack活用していきたいので、
ここの機能が強化されるのは嬉しい限りです。
Machine Learning
Elasticsearch: Past,Present,&Future
日本のエバンジェリスト大谷さんのプレゼン。
1系、2系を使ってる人?という質問にパラパラと手が挙がってました。
5や6を使ってほしいとのことですw
Elasticsearch 5.0
2016/10リリース
2から5へ。
全てのプロダクトのバージョン番号を統一
数値に関する改善
- metricbeatなどで数値データをElasticseachに送ることが増えた。
- 数値の計算を高速化、使用ヒープを削減
安全第一
- bootstrapチェック
起動時に設定値を確認し、設定が正しくない場合は起動ができない。
ヒープサイズの最小値、最大値が異なる場合など
- OOMを極力出さない
より簡単に
- Injest Node
Beatsから可視化するのが簡単に
Elasitcsearch 5.6
2017/9リリース
様々な改善
Elastic 6.0
悩みのタネ
- ディスクの使用量
空白が多いデータも配列で一括で保持していたが。データの持ち方が変わった
5.Xの60%程度に圧縮可能に。
allフィールドをデフォルトで向こうに
各種データ登録に効果的な設定
- 堅牢性やリカバリ
トランザクションログという一意な番号を保持し、そのログをもとに復旧させる。
- メジャーバージョンアップグレード
5.6.Xから6.latestへはローリングアップグレードが可能
Java high level REST Client
5.6でリリース
JavaのClientとElasticsearchのバージョンが違っても検索可能
CRUD&Searchをサポート
Elasticsearch6.1
2017/12/14 リリース
Index Splitting
Composite Aggregation
Adaptive Replica Selection
Scripted Similarities
Ingest and the Elastic Stack
Aaron Mildensteinさん。
Multiple Pipeline
設定を個別に記述できるように
ユースケース
ロギング
- システム、ウェブサービス、キュー
メトリクス
- インフラ、コンテナ、データベース
セキュリティ
- SecOps
Kibana Deep Dive
アラート
Setting -> Wathcer
アクセス制御
ユーザロール追加
kibana dashboard only user
Spaces
ユーザやグループで閲覧、操作制御できたが
インデックスパターン、ダッシュボード単位などで制御が可能に。
SAML認証
サードパーティの認証プロバイダとの連携でSSOを実現
Saved Object API
ダッシュボード、ヴィジュアライゼーションなどをAPI経由で保存可能
Kibanaはログ可視化のツールだけでなく、Elastic Stackの管理画面としての機能も提供していくイメージですね。
Machine Learning Deep Dive
Rules Don't Scale
- where do you set the thereshold
- who updates the Rules
- Flase positives are costly
・ダッシュボードから人の目で見て異常値を検知するのは難しい
・異常のしきい値もどの程度の値を設定すれば良いかを人が決めていくのは難しい
・常にデータは変化していくので一度きめたしきい値がずっと有効とは限らない
そこで機械学習を活用していく
2つの異常値を検知できる
これまでとは違う変化
他とは違う突出した変化
LINE infra Security Log Platform And Analysis
セキュリティ用途でのElastic Stackの活用事例
とにかくシステム規模が半端ない!
後半は英語だったので雰囲気しか掴めませんでしたw
40以上のログを30000以上のデータソース
一日1TB!
ログのロスト、Elasticsearchのフリーズ、Kibanaのパフォーマンスダウンなど問題が顕在化
システム名:Monolith
Fluentd->Logstash
kafka
有料オプションを契約。
コレクター4台
パーサー5台
Elasticsearch20台
Kibana3台
リモートデスクトップ接続
SSH接続
などの状況を可視化
ダッシュボードを見るのは人の目。人の目には限界がある。
分析・検知は自動化したい。
そこでMachine Learning
普段使われてないPC、普段使用していないユーザからのリモートデスクトップ接続を検知できる。
アラートの精度が上がった。
KibanaのWebhookでLINEに連携
LINEを使う理由は
1. 夜でも担当者に連絡ができる
2. 休日でも担当者に連絡ができる
ソフトバンク・ペイメント・サービス 決済サービスの監視を支えるElastic Stack
私的に本日メインの発表。
同じサービスを提供している会社の事例は貴重です。
誰にでも見やすいダッシュボード、障害検知の仕組み、
機械学習の検証から実践まで惜しみなく事例を紹介していただき、ありがとうございます。
オンライン決済サービスの監視
年間取扱高2兆1949億
トランザクション2億件
障害発生時に状況を素早く共有できていなかった。
システム部門-営業部門-加盟店
システムも営業も
「システムの状況をリアルタイムに把握したい」
Kibanaで「サービズ全体の状況をリアルタイムで可視化」
RDBに決済情報が格納されているので、
Logstash jdbc input pluginを1分間隔で実行しElasticsearchに投入
ダッシュボードを作り際に意識したこと
誰でも
どこでも
いつでも
決済手段ごと
OK・NGの比率
色を統一
職場のモニタに常時ダッシュボードを表示
KibanaのダッシュボードをSleniumとJnekinsでスクショ取ってSlackに通知
Machine Learning
毎月1日は与信枠開放の影響でトランザクションが増える。最初は検知していたが、4ヶ月目くらいから検知しなくなった。
対象加盟店のみで絞れば気づけるが、加盟店全体で見ると不正アクセスのNGが埋もれてしまう
障害時はほぼ検知
可視化しても人間では見つけられない埋没した情報も検知可能
気づき
母数の少ない決済手段の場合、1人のユーザが数回エラーを起こすだけで以上検知されてしまう
同じ周期で不正利用によるリクエストが来た場合、3周忌目くらいから学習され反応しなくなってしまう
Watcher JSONの設定が難しい つらい
ビジネスデータの可視化
ヒートマップで営業担当の目標達成率を可視化
VELTRA 問い合わせ業務の自動化
日・中・英の問い合わせメールを自動ラベリング
システム名はイーグル
コンサルタントの稼働を減らしてエンジニアの稼働が増えては意味が無いので、Elastic Cloudを採用。
Elastic Stackの進化は凄まじく、追随していくだけでも難しいですが、
コミュニティがどんどん広がって情報共有が進むと、この辺が楽になると思うので、今後の発展に期待しています。
僕も本番稼働させたら事例の共有などしたいと考えています。