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

Elastic Co

May 25, 2016
Tweet

More Decks by Elastic Co

Other Decks in Technology

Transcript

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

    • Azure – Marketplace and ARM template • .NET client & NEST • Extra ‒ Winlogbeat and topbeat
  2. 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 自己/自社紹介
  3. 5 Elasticは分散アプリケーションの構築を簡単にします データ 複雑/多種多様 開発者要件を満たすことが可能 ユースケース 多数のユーザー / ユースケース リアルタイム

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

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

    内部システム / アプリケーション 外部システム / アプリケーション 開発者 IT / 運用 ビジネスユーザー あらゆる業種で多数のユースケースを解決 ログ分析 アナリティクス 検索 セキュリティ
  6. 9 保存、インデックス、分析 • 弾力性のある、スケール アウトを考慮した設計 • 高可用性、マルチテナン シー • 構造化/非構造化データ

    に対応 分散型かつ スケーラブル 開発者にとって 親しみやすい 検索と分析 • スキーマレス • ネイティブなJSON • クライアントライブラリ • Apache Lucene • リアルタイム • 全文検索 • 集計 • 地理空間データ • 多言語データ
  7. 19 データ登録 curl -XPUT localhost:9200/books/book/1 -d ' { "title" :

    "Elasticsearch - The definitive guide", "authors" : "Clinton Gormley", "started" : "2013-02-04", "pages" : 230 }'
  8. 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 }'
  9. 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
  10. 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 } } ] } }
  11. 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 ... } }'
  12. 25 Basic terms • インデックス – データの論理的な集合。 – RDBのデータベースのようなものLogical •

    レプリケーション • 読み込みのスケーラビリティ向上 • SPOFの解消 • シャーディング • 複数マシンへデータを分割 • 書き込みのスケーラビリティ向上 • データフロー制御 25
  13. 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 }'
  14. 28 自動的な分散 28 node 1 orders products 2 1 4

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

    洞察の発見 カスタマイズと 共有 アプリ構築向け UXプラット フォーム • 棒グラフ、折れ線グラフ や散布図、マップ、ヒス トグラムの作成 • ダッシュボードを共有し、 運用ワークフローに組み 込み • 組込み可能なアーキテク チャ:ダッシュボードや可 視化をアプリとして作成 • セッション管理、ユーザー ロール、セキュリティ統合
  16. 33 取り込み • データ収集とリッチ化: 200種類以上のプラグイン • 次世代データパイプライ ン:マイクロバッチ。イベ ントのグループを処理 ES-Hadoop

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

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

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

  22. 40

  23. 41

  24. 42

  25. 43

  26. 46

  27. 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
  28. 50 Installing Elasticsearch.NET and NEST • From package manager console

    ‒ Install-Package Elasticsearch.Net ‒ Install-Package NEST
  29. 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
  30. 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 } }’
  31. 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