Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AzureとNESTで始める Elastic Stack

AzureとNESTで始める Elastic Stack

Introduction of Elastic Stack
Windows Installer
Azure – Marketplace and ARM template
.NET client & NEST
Winlogbeat and topbeat

Dd9d954997353b37b4c2684f478192d3?s=128

Elastic Co

May 25, 2016
Tweet

More Decks by Elastic Co

Other Decks in Technology

Transcript

  1. 1 Jun Ohtani / @johtani 2016/05/25 AzureとNESTで始める Elastic Stack

  2. 2 Agenda • Introduction of Elastic Stack • Windows Installer

    • Azure – Marketplace and ARM template • .NET client & NEST • Extra ‒ Winlogbeat and topbeat
  3. 3 About • Me, Jun Ohtani / Technical Advocate ‒

    lucene-gosen コミッター ‒ ElasticSearch Server日本語版の翻訳 ‒ http://blog.johtani.info • Elasticsearch, founded in 2012 ‒ Products: Elasticsearch, Logstash, Kibana, Beats Marvel, Shield, Watcher, Graph, X-Pack ‒ Professional services: Support & development subscriptions, Consulting ‒ Trainings 自己/自社紹介
  4. 4 Elastic stack 検索から解析まで

  5. 5 Elasticは分散アプリケーションの構築を簡単にします データ 複雑/多種多様 開発者要件を満たすことが可能 ユースケース 多数のユーザー / ユースケース リアルタイム

    の利用可能性 迅速な クエリ実行 柔軟な データモデル スキーマレス 水平的な スケーリング 洗練された クエリ言語 バリュー/ビジネス影響 短期/中期/⾧期 位置情報 マシン/ログファイル ユーザーアクティビティ ドキュメント ソーシャル 収益の増加 新しいアプリや、収益化サービ スを開始:ユーザーエクスペリ エンスのパーソナライズ コスト削減/リスク管理 アプリ 検索 組み込み型 の検索 ログ分析 セキュリティ 分析 運用の分析 その他 次世代アーキテクチャ、既存シ ステムの再ツール化、リスクお よびコンプライアンスの管理
  6. 6 Elastic Cloud セキュリティ 監視 アラート グラフ X-Pack Kibana ユーザー

    インターフェイス Elasticsearch 保存、インデックス、 分析 取り込み Logstash Beats + Elastic スタック Elastic社の製品ポートフォリオ
  7. 7 IT運用 アプリケーション管理 セキュリティ分析 マーケティング洞察 ビジネス配備 顧客センチメント分析 Webサイト検索 内部/イントラネット検索 URL検索

    内部システム / アプリケーション 外部システム / アプリケーション 開発者 IT / 運用 ビジネスユーザー あらゆる業種で多数のユースケースを解決 ログ分析 アナリティクス 検索 セキュリティ
  8. 8 elasticsearch

  9. 9 保存、インデックス、分析 • 弾力性のある、スケール アウトを考慮した設計 • 高可用性、マルチテナン シー • 構造化/非構造化データ

    に対応 分散型かつ スケーラブル 開発者にとって 親しみやすい 検索と分析 • スキーマレス • ネイティブなJSON • クライアントライブラリ • Apache Lucene • リアルタイム • 全文検索 • 集計 • 地理空間データ • 多言語データ
  10. 10 Elasticsearchとは?

  11. 11 フリーワード検索

  12. 12 絞り込み

  13. 13 ハイライト

  14. 14 ソート

  15. 15 ページング

  16. 16 集計

  17. 17 サジェスト 17

  18. 18 簡単なCRUD

  19. 19 データ登録 curl -XPUT localhost:9200/books/book/1 -d ' { "title" :

    "Elasticsearch - The definitive guide", "authors" : "Clinton Gormley", "started" : "2013-02-04", "pages" : 230 }'
  20. 20 データ更新 curl -XPUT localhost:9200/books/book/1 -d ' { "title" :

    "Elasticsearch - The definitive guide", "authors" : [ "Clinton Gormley", "Zachary Tong" ], "started" : "2013-02-04", "pages" : 230 }'
  21. 21 データ削除 curl -X DELETE localhost:9200/books/book/1 データの取得 curl -X GET

    localhost:9200/books/book/1 curl -X GET localhost:9200/books/book/1/_source
  22. 22 検索 curl -XGET localhost:9200/books/_search?q=elasticsearch { "took" : 2, "timed_out"

    : false, "_shards" : { "total" : 5, "successful" : 5, "failed" : 0 }, "hits" : { "total" : 1, "max_score" : 0.076713204, "hits" : [ { "_index" : “books", "_type" : “book", "_id" : "1", "_score" : 0.076713204, "_source" : { "title" : "Elasticsearch - The definitive guide", "authors" : [ "Clinton Gormley", "Zachary Tong" ], "started" : “2013-02-04", "pages" : 230 } } ] } }
  23. 23 検索 - Query DSL curl -XGET ‘localhost:9200/books/book/_search' -d '{

    "query": { "filtered" : { "query" : { "match": { "text" : { "query" : “To Be Or Not To Be", "cutoff_frequency" : 0.01 } } }, "filter" : { "range": { "price": { "gte": 20.0 "lte": 50.0 ... } }'
  24. 24 分散構成 スケ ー ル

  25. 25 Basic terms • インデックス – データの論理的な集合。 – RDBのデータベースのようなものLogical •

    レプリケーション • 読み込みのスケーラビリティ向上 • SPOFの解消 • シャーディング • 複数マシンへデータを分割 • 書き込みのスケーラビリティ向上 • データフロー制御 25
  26. 26 シャードとレプリカ 26 node 1 orders products 1 4 1

    2 2 3 curl -X PUT localhost:9200/orders -d '{ "settings.index.number_of_shards" : 4 "settings.index.number_of_replicas" : 1 }' curl -X PUT localhost:9200/products -d '{ "settings.index.number_of_shards" : 2 "settings.index.number_of_replicas" : 0 }'
  27. 27 シャードとレプリカ 27 node 1 orders products 1 4 1

    node 2 orders products 2 2 3 4 1 2 3
  28. 28 自動的な分散 28 node 1 orders products 2 1 4

    1 node 2 orders products 2 2 node 3 orders products 3 4 1 3
  29. 29 kibana

  30. 30 可視化と探索 • データ内に存在するパ ターンの探索と分析:任 意のレベルへのドリルダ ウンが可能 • Elasticsearchの強力な 分析機能を活用

    洞察の発見 カスタマイズと 共有 アプリ構築向け UXプラット フォーム • 棒グラフ、折れ線グラフ や散布図、マップ、ヒス トグラムの作成 • ダッシュボードを共有し、 運用ワークフローに組み 込み • 組込み可能なアーキテク チャ:ダッシュボードや可 視化をアプリとして作成 • セッション管理、ユーザー ロール、セキュリティ統合
  31. 31 Kibana 4

  32. 32 logstash 取り込み

  33. 33 取り込み • データ収集とリッチ化: 200種類以上のプラグイン • 次世代データパイプライ ン:マイクロバッチ。イベ ントのグループを処理 ES-Hadoop

    • 軽量型データシッパーを 構築するためのプラット フォーム • ホストベースの数値指標 やあらゆるデータを Elasticsearchに転送 • HDFS、Spark、 MapReduceなどとの統 合を行う双方向型のコネ クタ • Hadoopデータに関する リアルタイムの検索クエ リを実現
  34. 34 収集、リッチ化、転送 ログおよび数値指標データ センサーおよびデバイスデータ Webおよびソーシャルデータ データストアおよびストリーム 分析 Elasticsearch + 任意のデータストア

    アラート Watcher+任意の通知ツール 監視 Marvel+任意の監視ツール アーカイブ Hadoop+任意のクラウドストレージプラット フォーム
  35. 35 軽量型データシッパー ホストベースの数値指標を Elasticsearchに転送するための ライブラリ Libbeat Packetbeat Topbeat Web、データベース、任意の ネットワークプロトコルに関す

    るリアルタイムのネットワーク パケット分析 CPUやメモリなどのリソース利 用率に関するデータを収集 ログファイルの収集、前処理、転 送を行う次世代のLogstashフォ ワーダー Filebeat Winlogbeat {Future}beats Windowsイベントログからシス テム、アプリケーション、セ キュリティに関する情報を収集 http、Redis、Nginx、Docker、 Twitterなどのデータを収集する beatsがコミュニティにより多数 作成されている
  36. 36 Features for Windows/Azure Installer Azure NEST • How to

    install • How to customize • Next step? • How to get • Installation • ARM Template • Elasticsearch.NET • NEST
  37. 37 Windows Installer Easy to install

  38. 38 特徴 • IMPORTANT : Windows installer will release version

    5.0 • Easy to install and setup • Detect JAVA_HOME • Customize data/config/logs paths • Choose official plugins Features
  39. 39

  40. 40

  41. 41

  42. 42

  43. 43

  44. 44 Azure - Marketplace & ARM template Easy to setup

    on Azure
  45. 45 特徴 • Elasticにより公式にMarketplaceにて提供 • Marketplaceから簡単適用 • https://azure.microsoft.com/en- us/marketplace/partners/elastic/elasticsearchelasticsearch/ Features

  46. 46

  47. 47 demo using ARM template

  48. 48 Elasticsearch.NET & NEST Features & sample code

  49. 49 Elasticsearch.NET and NEST • Open source / Apache License

    Version 2.0 • Elasticsearch.NET ‒ low level client ‒ dependency free • NEST ‒ high level client ‒ mapping all the request and response objects ‒ query DSL support Features
  50. 50 Installing Elasticsearch.NET and NEST • From package manager console

    ‒ Install-Package Elasticsearch.Net ‒ Install-Package NEST
  51. 51 NEST features • Mapping CLR types ‒ https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/auto- map.html

    • Fluent and Object Initializer Syntax API for query ‒ https://www.elastic.co/guide/en/elasticsearch/client/net-api/2.x/query-dsl.html • Fluent and Object Initializer Syntax API for Aggregations ‒ https://www.elastic.co/guide/en/elasticsearch/client/net- api/2.x/aggregations.html
  52. 52 demo for .NET and NEST

  53. 53 Use This Slide For Code Use template colors to

    highlight curl –XPUT localhost:9200/_template/twitter –d ‘ { “template” : “twitter_*”, “setting” : { “number_of_shards” : 4, “number_of_replicas” : 1 } }’
  54. 54 Winlogbeat Collect EventLog data To Elastic Stack

  55. Welcome to 1998 winlogbeat

  56. Now winlogbeat

  57. 57 リファレンス • 公式ドキュメント ‒ https://www.elastic.co/guide/ • Elasticsearch.NET and NESTドキュメント

    ‒ https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/index.html • Azure Market Place ‒ https://azure.microsoft.com/ja- jp/marketplace/partners/elastic/elasticsearchelasticsearch/ References 5
  58. 58 セッションアンケートはこちら(ご協力お願いします) http://bit.ly/elastic-decode

  59. 59 Webサイト:www.elastic.co 製品:https://www.elastic.co/products フォーラム:https://discuss.elastic.co/ コミュニティ:https://www.elastic.co/community/meetups Twitter:@elastic ありがとうございました お問い合わせは下記までお願い致します。 elastic-japan@elastic.co