ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Elasticsearch、kibana、Logstashを連携させるハンズオンしてきた

2017-09-21 19:12:48 | Weblog
9月21日、Elastic テクニカルワークショップに行ってきた!のでメモメモ



■自己紹介など

■はじめに
・Elasticsearchとは
 全文検索エンジン
・特徴
 スケールアウト
 スキーマレス
 マルチテナント
・今最も注目されている検索エンジン
 ダウンロード増えている(1億件突破)
 製品体系
  OSS:Elasticスタック
   kibana
   Elasticsearch
   Logstash
   Beats
  有償:X-pack
  Elastic cloud

・Acroquestとは
  OEMパートナー

・Elastic{ON} Tour
  カンファレンス。メインはサンフランシスコ
  日本はアメリカに次ぐ世界2番目の参加
  Acroquestは世界で3番目に参加者の多い会社
  T3ブログ?

■ハンズオン
・自己紹介
・概要説明
  データの収集・加工・転送
   1収集
   2加工Logstash
   3転送
  ElasticSearchへのでーたとうにゅう
  Kibanaで可視化

  X-Packを使ってみる
    セキュリティ
    モニタリング
    アラーティング
    レポーティング
    グラフ
    マシーンラーニング→LTで

・ハンズオンの前に
  解凍
  JAVA_HOMEの設定

・Elastic cloud
  Elastic search,KibanaをAWSへ

  https://www.elastic.co/cloud

 新規の場合
  トライアル:try it out
  メールアドレスを入れる
  メールを受信したら、Verify Email and Accept TOSをクリック
  パスワード画面になるので、パスワード入力

 アカウント作っている人は、ここからログイン

 新規に作る「Create Cluster」(左側)
  size:変更できない
  プラットフォーム:AWS リージョン(変更可能)
  ハイアベイラビリティ:データセンター 1データセンター
  バージョン:デフォルト
  (以下使わないので飛ばす)
  
 Name:名前 自由に

 Createをクリックすると、パスワードがでる。覚えておくこと

  Configu のMonitoringを
  Disableを自分のクラスタ(this cluster)を選択してUpdate

  Kibana endpointをクリックすると、認証画面が出てくる

 →Logstashは、クラウドにはない。ローカルで実行

・Logstashとは
  ログを集める。外部へ転送
  多数の公式プラグイン
  設定ファイルを書いておく

  input { stdin {} }

  filter {}

  output {
   stdout{
    codec => rubydebug
   }
  }

・演習1 つかってみる

 logstashのフォルダにいって
  logstash.confを作成、上記の内容を書く

 logstashのフォルダまでcdして
  bin\logstash -f logstash.conf
なにかいろいろでるけど、最終的に

[2017-09-21T13:53:22,010][INFO ][logstash.agent ] Successfully started
Logstash API endpoint {:port=>9600}

がでる。

Hello world

といれると

{
"@version" => "1",
"host" => "USER-PC",
"@timestamp" => 2017-09-21T04:58:46.597Z,
"message" => "Hello,world!\r"
}

みたいなのが出てくればOK

・演習2 Filterの設定
 grok filter追加
filterに
 grok {
  match => {
   "message" =>'%{HTTPDATE:date} %{IP:ip} <%{DATA:msg}>'
  }
 }

追加

3.22/Mar/2014:16:38:00 -0700 183.60.215.50 <This>

と入力

{
"date" => "22/Mar/2014:16:38:00 -0700",
"msg" => "This",
"@timestamp" => 2017-09-21T05:06:19.814Z,
"ip" => "183.60.215.50",
"@version" => "1",
"host" => "USER-PC",
"message" => "3.22/Mar/2014:16:38:00 -0700 183.60.215.50 <This>\r"
}

というかんじででる。

<<解説>>
・match マッチする
 そのあと正規表現

・演習3 geoip 地理情報
grokのあとに
geoip{
source => "ip"
}

を記入

3.22/Mar/2014:16:38:00 -0700 183.60.215.50 <This>

と入力

{
"date" => "22/Mar/2014:16:38:00 -0700",
"msg" => "This",
"@timestamp" => 2017-09-21T05:12:09.701Z,
"geoip" => {
"city_name" => "Guangzhou",
"timezone" => "Asia/Shanghai",
"ip" => "183.60.215.50",
"latitude" => 23.1167,
"country_name" => "China",
"country_code2" => "CN",
"continent_code" => "AS",
"country_code3" => "CN",
"region_name" => "Guangdong",
"location" => {
"lon" => 113.25,
"lat" => 23.1167
},
"region_code" => "44",
"longitude" => 113.25
},
"ip" => "183.60.215.50",
"@version" => "1",
"host" => "USER-PC",
"message" => "3.22/Mar/2014:16:38:00 -0700 183.60.215.50 <This>\r"
}

とでる。

・ここまでのまとめ
  収集:画面から
  加工:Logstash
  出力:画面に

 これから
  収集:CSVから
  加工:Logstash
  出力:クラウドに転送

・Elasticsearchとは
 内部的 JSONで Luceneを内包
 分散検索エンジン
 RESTful API

 データの集計:集計関数 geo_distance

・用語の確認
 ドキュメント:RDBの1レコード
 インデックス:RDBのテーブル→タイプが廃止されるので
 マッピング:ドキュメントの形式(RDBのDDL)
   フィールド
   フィールドのタイプ
  →自動的に生成、明示的にマッピングできる


・今回
  KibanaのConsole(むかしのせんす)で
  マッピング定義

  Kibanaの画面に
   ユーザー名:elastic
   パスワード:さきほどのパスワード
  dev Toolsを選択 get to workをクリックすると、console
  左にリクエストを書くと、右にレスポンス

  左側にマッピングを張り
  実行ボタン(三角形)をクリックする
  "acknowledged": true と出てくればOK

・転送
complete.confをひらく
outputのhosts

 
type ..\qdlog.csv | bin\logstash -f ..\complete.conf
点がいっぱいでる

・可視化するデータの説明
 qdlog Quick Draw ミャンマーの福引アプリ

・kibana
 index patternを設定する
 management の indexpatternを選択
 indexpattern qdlog-*
Time Filter field name @timmestamp
 でcreateボタンをクリック
 なんか一覧出る

 Discover 右上 Last 15 minitesをクリック
 absoluteで期間指定でGo
 searchとなったあと、
 棒グラフが表示される

 Visualization→パネルの1枚1枚
(1)Metricsを利用し、ユニークユーザー
  Visualizeをクリック
  +をクリック
  42 Metricをクリック
  qd-logをクリック

 左側で、いろいろ変えられる
  Aggregation Unique Count
Field appUserID
  実行
 saveをクリック
  名前を付けて、Save

(2)「Data Tables」で上位

  Visualizeをクリック
  +をクリック
  data tablesをクリック
  qd-logをクリック

 bucketsでsplit Rows
 Aggregation Terms
 Field appUserID

(3)Line Chart
  Visualizeをクリック
  +をクリック
  Lineをクリック
  qd-logをクリック
 
  Y-Axisは変更なし

  X-AxisをDate Histogramへ

  sub backetを指定して、キャリアごとにわける


(4)Coodinate Map
 Add A filterで絞り込める

・Dashboardをつくる
 +クリック
 add
 一覧がでてきたら、必要なものクリック
→ダッシュボードでフィルタをかけることができる

・まとめ
 基本的な流れ
 このあとx-pack


・X-Packとは
 有償サブスクリプション。まとめて

 セキュリティ
  認証
  権限
  追加管理
 →デモ
  ユーザーにロールをつけて、アクセス権限する
  LDAP,ADとも連携できるが、ロールを作ることもできる(デフォルトあり)
   インデックスごと
   クラスターごと
  KianaのManagementのSecurityで、ロールもユーザーも、作成・設定できる
   →ユーザーのロールにkibana userを入れないとkibanaが見れない

 アラーティング(ウォッチャー)
   セキュリティ侵害
   ソーシャルメディアで話題になってる
   ログにクレジットカード番号
  などなど。。

  watchに定義する
   トリガー:どのタイミングで
   インプット:条件判定
   コンディション:実行するか
   アクション:振る舞い
   →これらをJSONで設定

   KianaのManagementのElasticsearchのWatcherを選択
   Watch JSONにトリガー、インプット、コンディション、アクションをJSONで書く
   Simulateでシミュレーションできる     

 モニタリング
  状況を見れる
  watcherとくみあわせるといい

 レポーティング
  ダッシュボード

 グラフ
  関連度の強さ

■事例紹介

 マイクロソフト
 USGS
 星野リゾート

・マイクロソフト
 MSN searchの基盤

・USGS
 国の機関
 Twitterストリーム分析

・そのほか
 NASA
 ebay
 WikiMedia
 ゴールドマンサックス

・用途
 せきゅりてぃ
 検索
 ログ分析
  →高い価値を見出す

 経営情報の可視化
  星野リゾート

・動画

・星野リゾートの事例

・まとめ
 その場で変えていける
 可視化には、ノウハウ必要

■LT
・Elastic {ON} 2017 San Francisco
 バージョン5での新機能
  x-pack マシーンラーニング
  UIの大幅な強化

・X-Packマシンラーニング
  異常検知:データの傾向を学習
 インフルーエンサー
  なんで異常なのかの判定
 デモ
  航空機の座席予約のレスポンス
  Machine Lerningを選択
   JOB:シングルで
   Creare Job
   JOB:マルチで
    →インフルーエンサー:複数の軸をまたがって見える
 ぷりらーとが作っていた

 ユースケース

・Logstash Pipeline Visualizer
 Logstashのきょどうをkibanaで見える
 Kibanaのモニタリングの画面から

・タイムシリーズビジュアルビルダー
 KibanaのVisualizeの中にある

・まだ実装されていない(バージョン6)
 Elastic search SQL
 Kibana Canvas:表現の幅が広がる

・もうひとつ
 Taste of Tech Topic T3ブログ
http://acro-engineer.hatenablog.com/

Q&A
・6は?
 正式アナウンスまだ
 去年は10月に出た

・データ互換は?
 公式ホームページでアナウンス
 5から6は、システム止めずにバージョンアップ

・異常検知
  精度を測る指標→自前の機械学習と比較したり

■本格導入に知っておきたい1つのこと
・OSSだから、タダだから・・・ただより高いものはない
 →教育、人材、カスタマイズ

・商用利用ならサブスクリプションは必須
  安心
  安全
  説明責任

・サブスクリプションはケースバイケース

・えらすてょっくでも、アクロクエストでもいいよ
この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« AIによって儲ける会社と儲か... | トップ | 人工知能という言葉自体が間... »
最新の画像もっと見る

Weblog」カテゴリの最新記事