Elasticlover

Elastic Stackに関する1週間分のネット情報をまとめるブログです。

今週のElastic News (2018/07/01~2018/07/07)

今週、Elasticについて新たにWEBで観測した情報をまとめます。

親知らずを抜いたばかりで各種やる気ゲージが…🤢

今週の注目情報

Get started with Amazon Elasticsearch Service: T-shirt-size your domain | Amazon Web Services

Welcome to this introductory series on Elasticsearch and Amazon Elasticsearch Service (Amazon ES). In this and future blog posts, we provide the basic information that you need to get started with Elasticsearch on AWS. Introduction When you're spinning up your first Amazon Elasticsearch Service domain, you need to configure the instance types and count, decide [...]

  • 検索技術に特化したAWSソリューションアーキテクトであるJon Handlerさんによる記事です(twitterのユーザネームも@_searchgeekとかでヤバい)
    • Amazon Elasticsearch SerivceでどのInstance構成を選べばよいか、を表形式で紹介しています
      • これ、ドキュメントとかに書いても良いぐらい重宝しそうな方針なのですが…
      • とにかくリンク先の表を見てください!話はそれからだ。
    • 以下の項目に基づいて算出していきます
      • 投入される1日あたりのデータ量
      • 必要なストレージ(最大保持データ)サイズ
      • active shardsの最大数
      • total shardsの最大数
    • ただし、注釈として書かれている通り、「この表は多くの前提に基づいたガイドラインであり、各自のワークロードは異なる。導入・監視・調整を必ず行うこと!」には注意が必要です
    • なお、XSmallでもデータノードがM4/R4.large 2台、マスターノードがm3.medium 3台となっており、ガチガチにプロダクション環境を想定している感じです
      • Hugeに至ってはデータノードがI3.16xlarge 85台と、かなり震える感じの数字も…



公式ブログ

ENGINEERING

¿Debo usar Logstash o los nodos de ingesta de Elasticsearch?

Los nodos de ingesta se presentaron con Elasticsearch 5.0 como una forma de procesar documentos en Elasticsearch antes de la indexación. Estos nodos dan lugar a arquitecturas más sencillas con un mínimo número de componentes, en las que las aplicaciones envían datos directamente a Elasticsearch para procesar e indexar.

  • Christian Dahlqvistさんによる記事です
    • ユーザからよく質問されるトピックシリーズ第3弾
    • 今回は「LogstashとIngest Nodeのどちらを使用すべきか?」という問いについて、観点別に違いを紹介しています



Elasticsearch Service on Elastic Cloud Available on G-Cloud Digital Marketplace

We are pleased to announce that Elasticsearch Service on Elastic Cloud is now available on the UK Government's G-Cloud Framework. As of July 2, 2018, customers can begin purchasing Elasticsearch Service - the only official hosted Elasticsearch and Kibana offering by the creators of the Elastic Stack.

  • Janica Leeさんによる記事です
    • G-CloudのDigital MarketplaceでElasticsearch Service(on Elastic Cloud)を購入することができるようになりました
      • G-Cloudは英国政府が運営するクラウドホストサービスの調達用フレームワーク
        • このサービスを通して「Elastic Cloud」使いたいんだけど?と注文すれば、速やかにその準備が行われるというもの
        • 英国政府機関がクラウドサービスを調達する際はG-Cloudを通して調達する模様



Elastic Stack Updates

Keeping up with Kibana: The week of July 2nd, 2018

Welcome to Keeping up with Kibana! This is a series of posts on new developments in the Kibana project and related learning resources and events. EMS now publishes four new data layers with administrative subdivisions: Australia States Switzerland Cantons Japan Prefectures Irish Counties Features in these layers contain the corresponding ISO-3166-2 identifiers, and have field names in the official language (or languages) of the country.

  • Lee Drengenbergさんによる記事です
    • 先週1週間のKibanaアップデートサマリ
    • 気になった点に絞って紹介
      • ReactコンポーネントとAngularテンプレートの翻訳をサポートするi18nエンジンをマージした
        • ダッシュボードのi18n対応もできるようになったりするんでしょうか?)
      • EMS(Elastic Map Service)が下記の国について、より細かい区分に対応するように
        • 対応国
          • オーストラリア:州
          • スイス:州
          • 日本:都道府県
            • (これはうれしい!)
          • アイルランド:州
        • 国の公用語のフィールドもあり、それを使用した地域マップも構築可能
      • Elastic{ON}でディスプレイされていたマップデモを再現できるように、新たなGISプラグインを作成中
        • GISは指す意味は恐らくGeographic Information Systemと思われ、このあたりを参照すると意味が理解できます



This Week in Elasticsearch and Apache Lucene - 2018-07-07

Highlights We have added documentation for painless script contexts, which includes each place in the Elasticsearch APIs that a script may be used, as well as what variables are available in each of those contexts. As part of our ingest node work, we have added a "bytes" processor that converts human readable byte sizes (e.g., 1kb) to raw byte sizes (e.g., 1024).

  • Tom Callahan • Paul Sanwald • Boaz Leskes • Ryan Ernst • Adrien Grandさんらによる記事です
    • 先週1週間のElasticsearchアップデートサマリ
    • 気になった点に絞って紹介
      • Painless Scriptが使える可能性のあるドキュメントまとめページが追加された
      • Ingest NodeのプロセッサとしてBytes Processorが追加
        • 人間が読めるバイトサイズを生のバイトサイズに変換するもの
        • 「1kb →1024」の変換が可能になる
      • AWS session tokensのサポートを追加
        • Elasticsearch 6.4.0からはrepository-s3-pluginを通して、EC2の外からでもMFAセキュアなS3バケットにスナップショット/リストアすることができるようになる



RELEASES

Elastic Stack 6.3.1 released

Version 6.3.1 of the Elastic Stack has been released today, incorporating a couple of major bug fixes. Rolling upgrades from Elasticsearch 5.6.10 to 6.3.0 were broken when a synced flush was performed prior to upgrade. 6.3.1 includes the fix. 6.3.0 nodes would fail to join a security-enabled cluster unless security was explicitly enabled on the node.

  • David Robertsさんによる記事です



公式ウェビナー

Introdução aos Beats (Portuguese) | Elastic

Beats são uma família de transportadores leves que enviam dados de edge machines (ou máquinas de "borda") para o Elasticsearch. Começaram com o Packetbeat, voltado para dados de rede, e se expandiram para cinco Elastic Beats adicionais para arquivos de registro, métricas, dados de auditoria, registros de eventos por meio de janelas e monitoramento de disponibilidade, e mais de 40 Beats criados pela comunidade para todos os tipos de dados operacionais.

  • Michael Yuanさんによるウェビナーです(ポルトガル語
    • 各種Beatsの概説とデモを実施しています
      • 00:00~: Beats概説、FilebeatとMetricbeatの紹介
      • 12:40~: FilebeatとMetricbeatのデモ
      • 28:10~: Auditbeat概説
      • 38:00~: Auditbeatのデモ
      • 46:50~: コンテナ上でのBeats(Metadata processors)概説
      • 57:20~: Docker、k8sに対するBeatsのデモ
    • ポルトガル語なので何を喋っているのか全く聞き取れませんが、スライドは英語なので、ご安心ください



Qiita

はじめての Elasticsearch - Qiita

この記事は全文検索エンジン「[Elasticsearch](https://www.elastic.co/jp/products/elasticsearch)」の入門チュートリアルです。 公式のチュートリアルビデオ「[Elastic...

  • @nskydivingさんによる記事です
    • お世話になった方も多いと思われる「はじめてのElasticsearch」が6.3.0に対応した内容に更新されました
    • まだ使ったことがない、これから使い始める方は必見です!



apache のリバースプロキシ for kibana - Qiita

ネットワーク環境の制限などでkibana を80 番ポートで受けるための設定 * kibana 用のconf ファイルを作成 ```/etc/httpd/conf.d/kibana.conf ProxyRequests Off P...

  • @nunbubuさんによる記事です
    • Kibanaを80番ポートで受ける際のApacheコンフィグ例を紹介されています



docker-composeでElasticSearch6.2を構築してECSにデプロイするまで(後編) - Qiita

img width="693" alt="画像 2018-07-06 14.10.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/261265/429986c6-5...

  • @yasumonさんによる記事です
    • Amazon ECS上にElasticsearchコンテナ、Kibanaコンテナをデプロイする方法を紹介されています
    • スクショ多くて分かりやすいです!



fluentd+Elasticsearch+kibanaをCentOS7.4にインストール - Qiita

CentOS7.4にfluentd、Elasticsearch、kibanaをインストールして データを可視化できる基盤を構築する。 データを食わすところまでは未実施。 まずはインストールしてKibanaにアクセスできるところまで...

  • @yuki476さんによる記事です
    • CentOS7.4にfluentd、Elasticsearch、Kibanaをインストールする方法を紹介しています



その他ブログ記事など

日本語

HPEのOSS技術コンサルタント 惣道哲也が執筆!「Elasticsearch実践ガイド」

哲也(そうどう てつや)が、「HPEでOSSの技術コンサルティングを幅広く手掛ける惣道 Elasticsearch実践ガイド 」 を出版しました。はたして、Elasticsearchとは、どのようなソフトウェアなのでしょうか?今回は、Elasitcsearchについて少しだけ触れてみます。 Elasticsearch はShay Banon によって2010 ...

  • 日本HPのMasazumi Kogaさんによる記事です
    • 同社の惣道さんが執筆された「Elasticsearch実践ガイド」の出版に際して、Elasticsearchとは何か、書籍を読むことで何が得られるか、を紹介されています



LogStashでMySQLのデータをElasticSearchに流し込んだ | from umentu import stupid

MySQLに集めたものの、どうしたら良いの状態だったため。 Logstash から/usr/local/binにダウンロードしてインストール。ElasticSearchのバージョンに合わせる必要あり? https://dev.mysql.com/downloads/connector/j/からダウンロードしてサーバーにアップロード ...

  • umentuさんによる記事です
    • Logstashのjdbc input pluginを使用してMySQLのデータをElasticsearchに投入する方法を紹介しています



英語

Learnings from Migration to Elastic Search - Tokopedia Engineering - Medium

When we tried to move to Elasticsearch, we didn't know much about elasticsearch. While migrating, we faced some issues (performance, optimization etc.). Following are some of the lessons learnt: Machine Specification Initially, we tried to deploy machines with high Memory because we assumed Apache Solr and Elasticsearch machine requirements will be similar.

  • インドネシアの巨大EC2サービスを運営するTokopediaによる記事です
    • 過去5年間、検索エンジンとしてApache Solrを使用していましたが、データ件数が増えるにあたって性能に問題が出るようになってきた
    • そこで、Elasticsearchに乗り換えたところ、性能面を大幅に改善できた、という話です
      • 記事の最後に移行前と移行後のレイテンシとCPU使用率のグラフが張られていますが、明らかに大幅な改善がなされています
      • ただし、Elasticsearchならではの特性を理解してパフォーマンスチューニングすることが必要があり、その際の教訓をいくつか紹介しています
        • Solrとは違い、メモリを大きくするよりも高速なディスクを使用することが重要
        • 巨大なインデックスではfielddataよりもdoc_valuesの方が優れている
        • 必要がない限りネストされたマッピングを使用しない
        • カスタムtokenizerはdoc_valuesを無効にするので使わない
          • 並べ替えや集計をする場合はindexerにカスタムtokenizerを作成する
            • (具体的にはどういうことか分からなかった)
        • 使用可能なすべてのキャッシュを使用可能にする



Laravel Elasticsearch Tutorial Example From Scratch

Laravel Elasticsearch Tutorial Example From Scratch is the today's leading topic. For this example, we use the composer package called Elasticquent. It is called Elasticsearch for Eloquent Laravel Models. Elasticquent makes working with and models easier by mapping them to Elasticsearch types.

  • Krunalさんによる記事です
    • Elasticquentというパッケージを使用し、LaravelとElasticsearchを連携させる方法を紹介しています



Vue Elasticsearch Tutorial With Node.js From Scratch

Vue Elasticsearch Tutorial With Node.js From Scratch is today's leading topic. We build a frontend in Vue.js and then send a network request to the node.js server and node will query the data to the elastic server. It will get a response and send the JSON response back to the Vue.js client.

  • 引き続き、Krunalさんによる記事です
    • Vue.jsでElasticsearchにデータを投入、検索できるアプリケーションを作成する方法を紹介しています



AWS Podcast | Listen & Learn About AWS

Government & EducationPublic Sector organizations use AWS to improve agility while reducing costs.

  • Simon ElishaさんによるAWS公式Podcastです
    • ここ1年のAmazon Elasticsearch Serviceにおけるアップデートを振り返る回です
      • ゲストは今週注目の記事を書いていたAWS検索おじさんことJon Handlerさん
    • 聞いてはいないですが、Shownotesを眺めるだけでも最近のAmazon ESのことが追えて良い感じです



Sending Netcool and Service Now to Elasticsearch

This video will show you how to send Netcool Events and ServiceNow Tickets to Elastic search using VirtuOps Pilot

  • VirtuOpsによる動画です
    • NetcoolのイベントとServiceNowのチケットを同社製のVirtuOps Pilotを使用してElasticsearchに投入する方法を紹介しています



Time series data management in Elasticsearch

In this blog post, we'd like to outline how we defined policies for time series data management in Elasticsearch. As part of an IoT security solution built for a startup client, we have a typical real-time data processing pipeline: data from sensors is received into Kafka topics and consumed by a Spark streaming application which performs a chain of ETL operations before persisting them onto Elasticsearch.

  • cognitreeのSumit Sutharさんによる記事です
    • Elasticsearchのデータ保管期間を管理する方法としてCuratorによるアクション定義を幾つか紹介しています
      • indicesの削除とforcemerge実行の2種類



The No-BS guide to AutoComplete and FuzzySearch in Elasticsearch

The question is.. What brings you here? Fed up with all the searches on how to back-up and restore specific indices? Fear not, for your search quest ends here.! After going through a dozens of tiny gists and manual pages, here it is.. We've done all the heavy-lifting for you.

  • Sathya sarathiさんによる記事です
    • N-gram Tokenizerで設定するmin-gramを最小に、max_gramを巨大にすることでautocompleteを実現する方法を紹介しています



Demystifying ELK stack

Let's assume that your system consists of a few microservices. Everything must have high availability so each microservice has at least two active instances on separate machines and everything must be multiplied by the number of testing and production related environments.

  • CEZARY PITEKさんによる記事です



hook-commands: easy driver setup

The hook-commands() option of syslog-ng makes it easy to execute external commands when a driver is started or stopped. For example, you can open a port in the firewall when a network source is started and close it once syslog-ng is shut down. Or you...

  • Peter Czanikさんによる記事です
    • syslog-ngでauditdのファイルシステム監査結果をElasticsearchに出力する方法を紹介しています



Elasticsearch to Prometheus Exporter in Go

This post describes how to create a small Go HTTP server, which is able to expose data from Elasticsearch on a Prometheus /metrics endpoint. This can be useful if, for example, you collect logs of a web application using the ELK stack, in which case the logs will be saved in Elasticsearch.

  • Marioさんによる記事です
    • Elasticsearchに対してクエリを投げ、得られた結果をPrometheusにメトリックとして追加する方法をGo言語で紹介しています



Categorizing and Enriching Security Events in an ELK with the Help of Sysmon and ATT&CK

Lately, I have been working on a few projects such as I also had the opportunity to present with One of the challenges that I faced with Sysmon was the fact that even though I was able to collect data and categorize events by the specific Thanks to the recent update to In this post, I will show you a basic example of Sysmon rule tagging and how you can scale it with the right parser in solutions like OSSEM, HELK and @_devonkerr_ from Endgame at BSidesCharm at the beginning of the year about "Quantifying Your Hunt".




英語以外

Uczymy się Elasticsearch #005: wyszukiwanie pełnotekstowe - Programista Na Swoim

Wyszukiwanie pełnotekstowe (ang. full-text search) było czymś, co staraliśmy się osiągnąć w pierwszym projekcie, w którym zdecydowaliśmy się na użycie Elasticsearcha. Szybko okazało się, że pełnotekstowo można w nim wyszukiwać na 7 różnych sposobów. Dziś chciałbym przedstawić pokrótce każdy z nich.

  • Piotr Prądzyński さんによる記事です(ポーランド語)
    • "Uczymy się Elasticsearch"と題したElasticsearchについて解説するシリーズの第5回です
    • 今回はElasticsearchに対して_search APIに対してどのような種類のクエリを投げられるかを紹介しています



干货 | Elasticsearch 趋势科技实战分享笔记

null

  • 铭毅天下さんによる記事です(中国語)
    • インデックスのデザインをする際に考えるべきこと、Primary ShardとReplica Shardの個数をどの程度に設定すればよいか、についてステップバイステップで設計方法を紹介しています
    • なお、この記事はスライド「ElasticLog with ES in CloudEdge」の内容を一部抜粋したものです



Sauvegarder et restaurer des index dans Elasticsearch - Zwindler's Reflection

Un développeur s'est dit "J'ai BESOIN d'Elasticsearch !" Et ce qui devait arriver, arriva. Du jour au lendemain, vous n'avez pas eu le temps de dire "ouf" et vous avez déjà une base Elasticsearch à maintenir en production ! Dure vie des #Ops ;-) On va apprendre comment sauvegarder et restaurer des données dans ELK...

  • Zwindlerさんによる記事です(フランス語)
    • Elasticsearchのインデックスをバックアップ/リストアする方法を紹介しています
    • 実際にはCuratorで自動化した方が良いよ、と閉めています



Миграция данных ElasticSearch без потерь

Академическое проектирование хранилища данных рекомендует держать все в нормализованной форме, со связями между. Тогда накат изменений по реляционной математике даст надежное хранилище с поддержкой транзакций. Atomicity, Consistency, Isolation, Durability - вот это все. Иначе говоря, хранилище специально строится для безопасного обновления данных. Но оно вовсе не оптимально для поиска, особенно широким жестом по таблицам и полям.

  • Oleg Kunitsynさんによる記事です(ロシア語)
    • Reindex APIでインデックスAからインデックスBに移行するとき、Reindex処理を開始した後にインデックスAに変更処理を走らせてもインデックスBにはその内容は反映されない問題があります
      • (通常は、その問題を回避するために、Reindex中はインデックスAに変更を加えないようにすると思います)
    • この記事ではelasticsearch-followup-pluginを使用して、その問題を解決する方法を紹介しています
      • Reindex開始とともにFollowUp PluginがインデックスAに対するINDEX/UPDATE/DELETEなどの履歴を記録、Reindex完了と共に、それらの履歴をインデックスBに反映する
    • そのほか、ElasticsearchのデスクトップクライアントであるKaizenであるインデックスの一部フィールドのみを引き継いだインデックスをクローンする方法などを紹介しています



先週の漏れ

GraphDB 8.6 by Ontotext now with Enterprise Ready Security

Ontotext works continuously to improve its semantic graph database and is now happy to announce the release of GraphDB 8.6 with new security features that make operating with your data not just easier and faster but more secure.




今週は以上です。

Easy elastic, easy life!