Elasticlover

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

今週のElastic News (2018/06/17~2018/06/23)

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

なお、今週はかなり量が多いです。掻い摘んで、閲覧ください。

今週の注目情報

JapanElasticUserGroupが発足し、第一回会合が開催されました。

以下、当日発表されたスライドを紹介していきます。

Japan elasticusergroup01 Acroquest

2018/06/19に開催されたJapan Elastic User Group第1会で発表した「Elastic Stack Ver.6.3の紹介」です。

Acroquest Technologyの吉岡 洋さんによるスライドです。

Elastic Stack 6.3の主な新規機能を紹介しています。

当日、Vega VisualizationのDemoを実施予定でしたが、時間、機材の都合で披露されませんでした…何処か別の場所で披露していただきたいですね!




【JEUG(仮)】 オープンSIEMの世界へ

1 2018/6/19(Tue) Future Architect, Inc. Hisashi Hibino オープンSIEMの世界へ (ElasticStackと共に歩み続けたセキュリティログ分析)

Future Architectの日比野 恒さんによるスライドです。

日比野さんの掲げるオープンSIEM構想に則して、Elastic Stackをセキュリティ方面で活用する際の関連話を語られています。

発表の中で「なるほど」と感じたのは

(P.8) シンプルな分析画面とすること! 絞り込み用に表形式グラフと発生タイミングが分かるよう積立棒グラフがあれば十分という結論。

という記述です。

何でもSOC(Security Operation Center)の方にDashboardを作らせると、誰もがこの形式に落ち着くのだとか。

他にもRDSのSQL監査ログやCloudTrailの操作ログを取り込む際のLogstashコンフィグ例が載せられていたり、Winlogbeat、Auditbeatの諸々話…などセキュリティ好きなら必見です。




emo.travel の紹介と Elasticsearch の活用について

null

VELTRAの木戸 国彦さんによるスライドです。

2018/06/13にローンチした、emoというサービスの裏側でElasticsearchがどのように活用されているかを紹介しています。

木戸さんといえばHello! Elasticsearchの作者として有名な方です。私も「Elasticsearch入門」シリーズには大変お世話になりました。




あなたのElasticsearch 入れっ放しになってませんか? 〜DSL流Elasticsearch/Kibana監視術〜 / JEUG #1 LT

JapanElasticUserGroup #1 @2018/6/19でのLT資料です

NTTコミュニケーションズの浅野 玲央さんによるスライドです。

同社のデータ分析基盤Data Science Lab.でどのように監視を実現しているかを紹介しています。

Elasticsearchの監視としてX-PackではなくPrometheus + Grafana + Mattermostの構成で、収集・可視化・通知を実現しています。




Jeug 01 lt_tetsuyasodo_v01

Japan Elasticsearch User Group #01のLTです。 "Elasticsearch実践ガイド"執筆の裏話をお話しました。

日本ヒューレット・パッカードの惣道 哲也さんによるスライドです。

執筆に至った理由、出版に際して嬉しかったこと、苦労されたことなどを語っています。




JEUG#1LT

2018/6/19開催の第1回JapanElasticUserGroupでのLT資料です。

ネットワンシステムズの片野 祐さんによるスライドです。

X-Pack Machine LearningのForecast(未来予測)機能ってどれぐらい正確なんだろう?をテーマに/elastic/examplesの中にあるサンプルデータで確認してみる方法を紹介しています。




3ヵ月周期ぐらいで開催予定とのことですので、次回開催の時期には皆さん参加を検討してみてはいかがでしょうか。

公式ブログ

ENGINEERING

How to Search Chinese, Japanese, and Korean Text with Elasticsearch 6.2 - Part 2: Multi-fields

How to Search Chinese, Japanese, and Korean Text with Elasticsearch 6.2 - Part 1: Analyzers covered issues around searching documents written in multiple languages and language analyzers. Now we'll look into the issues indexing multi-language documents with a single field and how to solve with multi-fields. The texts are excerpts from https://www.pyeongchang2018.com/en/about-the-games.

ElasticのKiju Kimさんによる記事です。

Elasticsearch内の中国語、日本語、韓国語で記述されたドキュメントを問題なく検索するためにはどのように設定すればよいか?を説明するシリーズ第2弾です。

前回のポストはこちら

今回は以下のようにanalyzerを変更した4つのmulti fieldsとして定義する方法を紹介しています

  • body
    • standard analyzer(初期設定のまま)
  • body.korean_field
    • openkoreantext-analyzer
  • body.chinese_field
    • smartcn
  • body.japanese_field
    • kuromoji

これにより

  • 韓国語が検索できるようになる
  • 日本語と中国語は漢字が混じっているので、どちらの結果も表示されるが、scoreの高い方を選べば大抵上手く行く

という結果が得られます。

最後に 「しかし、本当にこれらの言語を扱うとき、4つのanalyzerを使わなければならないのでしょうか?次回はLanguage Detectorを用いた改良を進めていきましょう。」と筆を結んでいます。

Language Detectionを目的としたElasticsearchプラグインとしてはelasticsearch-langdetectなどがあるようですが、実際にはどのようにやられることが多いんでしょうね?




Learn to build rich Vega Visualizations in Kibana

Vega is a powerful language for creating visualizations, and now you can use it in Kibana. In this blog post, learn to use Vega declarative language to build rich new visualizations from your Elasticsearch data.

ElasticのYuri Astrakhanさんによる記事です。

過去2回の記事ではKibanaのVega Visualization作成画面に張り付けて、実際に実行できるコード例の紹介に留まっていましたが、今回の記事ではVegaの各種仕様についてチュートリアルを通して理解していく内容となっています。




Upgrading Your Hosted Cluster With Our Elasticsearch Service

There's more to a managed service for Elasticsearch than just good compute and storage infrastructure. Consider upgrading, for example. It's an important part of managing the life cycle of your Elastic Stack deployment. But how easy is upgrading to newer versions on your managed service?

ElasticのYoav Derazonさんによる記事です。

Amazon Elasticsearch Service(以下Amazon ES)とElastic CloudのElasticsearchのアップデート方法を比較する記事です。

Amazon ESのアップデート方法については

  • 現在のクラスタのスナップショットを手動で作成する必要がある
    • Elastic Cloudは自動で実行してくれる
  • アップデートによって必要な手順をドキュメントで参照する必要がある
    • そのドキュメントはElasticが提供している
  • 古いクラスタをスピンダウンすることを忘れると過剰な料金がかかる
    • Elastic Cloudは自動的にそれを行うので、最小限のコストで済む

と評価し、Elastic Cloudの利点を主張しています。

また、Elastic CloudのESローリングアップデートが上位レイヤーから見た時に以下のステップで実行されることも紹介しています。

  1. (メジャーアップデートの場合のみ)Migration Assistance APIを実行し、アップグレードが可能であることを確認する
  2. 移行前と移行後のバージョンについて十分にテストされたアップグレードパスがあることを確認し、インデックスと構成の非互換性をユーザーに警告する
  3. 現在のインデックスのスナップショットを撮る
  4. 新しいバージョンのノードセットを作成し、それらがクラスタに加わるのを待つ
  5. すべてのシャードを新しいノードに移行する
  6. 古いクラスタへのすべての接続がなくなるまで、トラフィックを新しいノードにルーティングする
  7. 古いノードを削除する



Docker and Kubernetes Hints-Based Autodiscover with Beats

Starting with 6.0, we started adding new features to Beats improving our support for containers monitoring. We recently introduced a new feature: Autodiscover in Filebeat and Metricbeat, with support for Docker and Kubernetes. Autodiscover allows you to define a set of configurations that will be dynamically launched by Beats when you want them.

ElasticのCarlos Pérez-Aradrosさんによる記事です。

Filebeat/Metricbeatのautodiscovery機能の使い方を紹介しています。

これにより、Dockerおよびk8sによって動作するコンテナの起動を検知し、そのコンテナに適した監視を実現できます。




Elastic APM Go Agent Beta Released

When Elastic APM went GA early in 2018, it came with support for Node.js, Python, Ruby (beta), and frontend JavaScript (beta). Since then, we've started work on support for Java and Go. If you're not ...

ElasticのAndrew Wilkinsさんによる記事です。

Elastic APMのGoエージェントがAlpha版からBeta版になったことを記念し、その使い方を紹介しています。




Interactive inputs on Kibana Dashboards

Kibana 6.1 introduced a new experimental visualization type, Controls. Controls provide the ability to add interactive inputs to Kibana Dashboards. Controls can be used to create two types of inputs: drop-downs and range sliders. In this post, we're going to go through an example of how to use these two new inputs.

ElasticのNathan Reeseさんによる記事です。

Kibana6.1から追加されたVisualizationであるControlの使い方を紹介しています。

Controlはドロップダウンによる値の選択や範囲スライダーを画面に追加できるVisualizationで、これを活用することで対話的なダッシュボードを実現できます。




Improving Kibana's Query Language

​In 6.0, we introduced a new experimental language for Kibana's query bar. Since then, we've been listening to your feedback and making adjustments. Like all experiments, some things worked and some didn't. Let's walk through what's changing in 6.3, what's new, and where we'd like to go next.

ElasticのMatt Bargarさんによる記事。

6.3でクエリバーのオートコンプリート機能が追加されたのに際して、6.x以降で使用可能なKibanaの検索用言語Kueryについて紹介しています。きっとKibanaのQuery LanguageなのでKueryのはず。

オートコンプリートの便利さは凄まじく、文中でも以下のように述べられています。

Beware: after trying autocomplete, most people say, “I’ll never be able to use an older version of Kibana again”.

まさしく。




Elastic Stack Updates

This Week in Elasticsearch and Apache Lucene - 2018-06-22

Highlights Using dots in aggregation names will be deprecated We will begin deprecating using dots in the names of aggregations. Dots are used as a separator in buckets_path, and ordering syntax aggregations with dots in their names has thrown up many bugs. Therefore, we intend to require that all aggregation names are free of dots.

先週一週間のElasticsearchとApache Luceneのアップデートサマリ。

気になるところとしては… (以下Elasticsearchについてのみ記述)

  • Aggregation nameに"."(ドット)を使用することは非推奨となります
    • ドットはbuckets_pathの区切り文字として使用され、名前にドットがついたaggregationを並べ替えると多くのバグが発生する
      • バグの例はこのIssueを参照してください
    • 6.4以降で非推奨とする
    • 8.0で完全にaggregation nameの"."(ドット)使用を禁止する
  • Rollupはcomposite aggregationの新機能である"missing_buckets"オプションを使用するようになる
    • この機能拡張により、ユーザはより便利で正しいドキュメント数を返す単一のジョブを構成することができる
    • なお、PRによると6.3で使用していたロールアップジョブとは互換性がなくなるため、6.4.0では新たにジョブを作り直す必要がある
  • 各種プラグインについてセキュリティで保護された設定がリロード可能になった
    • discovery-ec2、repository-s3、repository-azure、repository-gcsなどのプラグイン
    • リモート呼び出しのために使用されるクライアントのパスワードとアクセスキーはelasticsearch.keystoreに保存される
      • このファイルの内容はパスワードを使用して複合化された後にのみ取り出せたが、それができるのはノードの初期化中のみである
      • すなわち、これらの設定は初期化中に一度だけ読み込まれるため、変更が不可能だった
  • CIでGradle 4.8とJDK 11が使用可能になった
    • これはエンドユーザには関係ない…



公式ウェビナー

Pro Tips from Elastic Support Engineers | Elastic

Elastic Support Engineer, Robbie Ogburn, gives his top 5 tips and tricks for advanced Elasticsearch users in this 12 min video.

Elasticのサポートエンジニア、Robbie Ogburnさんによるウェビナーです。(12分)

以下の章立てで、Elastic Stackを使用する際のTipsを紹介しています。

  • Sharding Techniques and Strategies
  • Tuning for Ingest Speed
  • Monitoring the Stack
  • Backing Up Your Data
  • Query Theory



An Introduction to the ELK Stack for Logs and Metrics | Elastic

What was the ELK Stack is now the Elastic Stack. In this video you will learn how combining the massively popular open source project Elasticsearch, Logstash, and Kibana delivers actionable insights in real time from almost any type of structured and unstructured data source.

Elasticのプロダクトマーケティングチームに所属するDan RoscignoさんとJamie Smithさんによるウェビナーです。(57分)

Elastic Stackの概要やそれぞれのプロダクトがどのように組み合わさってユースケースを実現できるのかを説明し、最後にデモを実演しています。(実際には13:06~45:32がデモなので殆どデモだったりします。)

飛ばし飛ばしで確認したところ、実際にElastic Stackを使用している方には物足りない内容かもしれませんが、Time Series Visual BuilderのAnnotationsの使い方を知らなかったので「あ、そういう風に使うものだったのか…」と今更理解した感じです。Dashboardで異常区間などを可視化したいときに便利ですね。




Qiita

Elasticsearch 6.3.0 リリース記念 APM JavaAgentでintra-martの状態を見てみる - Qiita

概要 Elasticsearch6.3.0がリリースされ、クラスメソッドさんなど多くのブログで新しい機能があらかた紹介されたところです。 今回は、X-Pack(Basic)に含まれるAPM(Application Perform...

@tsgkdtさんによる記事です。

かなり貴重なElastic APM Java Agentを使ってみる、かつ対象APサーバはresinという尖った内容です!

Java AgentはGAになったら特に日本企業では盛り上がりそうな雰囲気がありますが、どうなんでしょうね。(今後はJDKのサポート云々みたいな話もあり…)




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

img width="586" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/261265/ae706373-8e9b-4e8d-4e1a-b75...

@yasumonさんによる記事です。

表題通りの内容ですが、前編はローカルで構築するまでの方法を紹介しています。後半でECSにデプロイする記事を執筆されるようです。

また、Kibana画面確認ではjohtaniさん作のanalyze-api-ui-pluginの動作画面を紹介しています。analyzerの動作確認をする際はこの手に限りますね。




AWS ElasticSearch ServiceのデータをPHPで取得する - Qiita

ESデータがGETでフルオープンの場合の取得方法です。 ESのポリシーにIAM RoleのARN書きたいんじゃぁ〜って方はこちら=>[IAM Roleを使ってAWS ElasticSearch ServiceのデータをLaravelで...

@bboobbaaさんによる記事です。

ESの接続にIAMの認証が不要な場合について、PHPAmazon ESのデータ取得を実現する方法を紹介しています。

また、同時にIAMの認証が必要な場合のLaravel版も別記事(IAM Roleを使ってAWS ElasticSearch ServiceのデータをLaravelで取得する)で紹介されています。




RDBデータをElasticsearchに投入して全文検索する - Qiita

RDBで簡易的な検索機能を実装して使っていましたが、それだけでは柔軟な検索ができず 性能的にも問題が出てくるため、全文検索エンジンを導入することにしました。 この記事では、RDBに格納されているデータをElasticsearchに投入して全文検索できる ようにするところまでを紹介したいと思います。 インフラは下記構成(全てAWSです) ※マネージドサービスは運用楽でいいですねー ...

@miyazさんによる記事です。

表題の通りRDSのPostgreSQLからAmazon ESへデータを格納し、全文検索するまでの手順を紹介しています。日本語全文検索用のmappingおよびanalyzerの設定例も示されています。




GPU サーバのログを ELK サーバに送信して管理する - Qiita

はじめに  GPU サーバのログを別の ELK (Elasticsearch + Logstash + Kibana) サーバで管理したい人向けのものです. ## 注意  サーバの基本的なセットアップは済んでるものとして話を進め...

@shun_nさんによる記事です。

NVIDIAGPUサーバ(Geforce GTX 1080搭載)から定期的にHTTP POSTでElasticsearchサーバへログデータを送信、Elasticsearchサーバ側のLogstashhで受け取り、加工・投入する方法を紹介しています。




その他ブログ記事など

英語

Stop Signing your AWS Elasticsearch Requests. - Chris Gillespie - Medium

The easy solution to this, if you can't find a turnkey library written by the community for your language/framework, is to run a proxy that will sign requests for you. Several proxies exist to do the request signing. The one I will focus on in this article is aws-es-proxy.

Chris Gillespieさんによる記事です。

IAMの認証を設定したAmazon ESへ接続するためには毎回認証を必要とし、セキュリティ的には正しいものの、開発者にとっては煩わしいものだと思います。

そこで、この記事ではリモートのAmazon ESへのアクセスをIAM認証したうえで、localhost:9200にバインドしてくれるプロキシアプリ、aws-es-proxyを紹介しています。golang製なので、バイナリを落とせばすぐに実行できます。

また、docker-hubにdocker-image版も存在するので、ECSにデプロイしたアプリに横づけするコンテナとして使用するのも容易とのこと。




Data Filtering in a Django Website using Elasticsearch

In my Web Development with Django Cookbook section Forms and Views there is a recipe Filtering object lists. It shows you how to filter a Django QuerySet dynamically by different filter parameters selected in a form. From practice, the approach is working well, but with lots of data and complex nested filters, the performance might get slow.

Web Development with Django Cookbookという書籍の著者であるAidas Bendoraitisさんによる記事です。

DjangoではQuery Set APIを使用することで、表示するデータなどをフィルタリングすることができますが、複雑なネストを持つデータを対象とする場合は著しく性能が低下する場合があります。(SQLのINNER JOINで12秒以上ロードにかかることも!)

そこで、Elasticsearchを使用します。Djangoの場合、django-elasticsearch-dslというパッケージを使用することで、Django Query Set APIライクの記述でElasticsearchとやり取りをすることができます。

記事の中ではDjango Query Set APIでAの記述をする場合、django-elasticsearch-dslではA'と書くことで同様のことが実現できる、というチートシート形式で使い方を紹介しています。




lindstromhenrik/lambda-curator

lambda-curator - An Elasticsearch Curator bootstrapper for AWS Lambda

Henrik Lindströmさんによるリポジトリです。

AWS LambdaでCurator実行するっぽいのがGitHubでInitial Commitされてました。




Writing logs to Elasticsearch with Fluentd using Serilog in ASP.NET Core

For apps running in Kubernetes, it's particularly important to be storing log messages in a central location. I'd argue that this is important for all apps, whether or not you're using Kubernetes or docker, but the ephemeral nature of pods and containers make the latter cases particularly important.

Andrew Lockさんによる記事です。

コンテナ化されたアプリケーションのコンソールログ出力はあくまでコンソールに出力されるだけのものであるため、ログが永久に失われる可能性があります。それはASP.NET Coreのアプリケーションも同様です。

この記事では、ASP.NET CoreアプリケーションにSerilogを追加し、Serilogのコンソール出力をElasticsearchに適したJSON形式のフォーマットにしたうえで、Fluentd経由でElasticsearchに投入する方法を紹介しています。

なお、文中で「serilog-elasticsearch-sinkを使えばFluentdを使う必要なく、Serilogから直接Elasticsearchにログを送信することもできるよ」という話が出ていますが、それについては3週間前に紹介したLogging with ElasticSearch, Kibana, ASP.NET Core and Dockerをご覧ください。




Monitoring unbound(8) using Net-SNMP, Telegraf, InfluxDB and Elasticsearch - TuM'Fatig

I've enabled an OpenBSD unbound(8) daemon that is used as a central DNS cache resolver. Now I needed to know what it was doing and how it performed. The question was answered grabbing statistics from unbound and render them using Grafana. The whole monitoring stack is composed of Net-SNMP, Telegraf and InfluxDB for the metrics ...

Joel Carnatさんによる記事です。

DNSキャッシュサーバであるunboundのログをsyslogに流し、Logstash syslog input Pluginを使用してElasticsearchに投入する方法を紹介しています。

また、Telegrafを使用して、unboundのSNMP監視情報をInfluxDBに投入する方法も紹介しています。




Using the ELK Stack for SIEM - Logz.io

At the heart of any SIEM system is log data. A lot of it. Whether from servers, firewalls, databases, or network routers - logs provide analysts with the raw material for gaining insight into events taking place in an IT environment. Before this material can be turned into a resource, however, several crucial steps need to be taken.

logz.ioのDaniel Bermanさんによる記事。

SIEM(Security Information and Event Management)とは何であるかを論じ、Elastic StackをSIEMに適用できるか評価しています。

記事中盤にて、参考にできそうなAWS環境を監視するSIEMダッシュボードの例が示されています。ここでは以下のような項目を監視しています。

  • Coordinate maps
    • アクセス元(?)の地理的場所
  • Line charts
  • Area charts
    • S3のレスポンスバイト数の合計
  • Pie charts
    • 米国外からの国別アクセス割合
    • 接続元サービス(ELB/VPC/S3...)のアクセス割合
  • Metric
    • VPCフローでリジェクトされた件数
  • Data table
    • Cloudtrailのログイン失敗ログ情報
  • Saved Search
    • セキュリティの生ログ

最終的には、組み込みのアラート機能、相関ルール、インシデント管理機能が欠けているため、そのままSIEMとしては使えず、独自拡張する必要がある、としています。(X-Packを使用しない前提での結論です。)




Application Logs from Kubernetes to S3 and Elasticsearch using Fluentd

Search Guard 6.x-22.3 | Search Guard | Security for Elasticsearch

Changelog for Search Guard 6.x-22.3

Elasticsearch 6.3.0に対応したSearch Guard 22.3がリリースされました。




How to install Fulltextsearch in Nextcloud 13 with Elasticsearch and Tesseract OCR

Today I want to show you how to install Fulltextsearch with OCR in Nextcloud 13 with Elasticsearch and Tesseract OCR. This guide also works with Plesk Onyx.

ElasticsearchとTesseract OCRを連携することで、Nextcloud 13にOCR付き全文検索を使用する方法を紹介しています。

Nextcloudについては後述しますが、Tesseract OCRオープンソースOCRエンジンとして一番に名前が挙がる有名どころのようで、100言語以上を認識可能かつ、もちろん日本語にも適用できるとのこと。 TesseractでググるとバンドのTesseracTよりも上位に来るので有名度合も頷けます。(?)




AnyChart | Data Visualization with Elasticsearch and AnyChart JavaScript Charts - Integration Sample

AnyChart News Data Visualization with Elasticsearch and AnyChart JavaScript Charts - Integration Sample It's always been important to AnyChart to make JavaScript charts run in HTML5 projects fast regardless of the users' technology stack. Our AnyChart, AnyMap, AnyStock, and AnyGantt libraries for data visualization are compatible with all major technologies and platforms, and there is a bunch of different integration samples already available.

Irina Maximovaさんによる記事です。

JavaScript可視化ライブラリであるAnyChartでElasticsearch内のデータを可視化する方法を紹介しています。

AnyChart公式サイトのChart Gelleryを見てみると、多種多様な表現が可能であることに驚かされます。これがElasticsearchと連携できるとなるとワクワクしますね。(各区分をクリックすると、より細かいバリエーションが表示されます。)




The IPOs keep coming: The search company Elastic has filed to go public

The IPOs keep coming. Elastic, the creator of a data search software that companies buy in order to scan massive documents, data sets and visualizations, has confidentially filed to go public in what will be an initial public offering at a multi-billion dollar valuation, according to people familiar with the matter.

Theodore Schleiferさんによる記事。

この、Elasticが上場するかもしれない、というニュースで一部の方々がTwitterで盛り上がっていました。

まだ、Elastic社は正式な声明を出していませんが、先日のElastic{ON}の中でもCEOのShay Banonさんが

While there are no concrete plans as yet, Elastic definitely has its sights sets on an initial public offering (IPO) in the future, Banon said at the show. from: Elastic Plots Its Own Course to Big Data Success

と発言していたようですし、ありえそうな雰囲気。仮にそうだとすれば、とてもめでたいことで、続報を待っています。




Elasticsearch Cluster with Vagrant and Virtualbox - DZone Cloud

A simple way to simulate a distributed storage and compute environment is with Virtualbox as the provider of VMs ('Virtual Machines') and Vagrant as the front-end scripting engine to configure, start, and stop those VMs. The goal for this post is to build a clustered virtual appliance offering Elasticsearch as a service that can be consumed/controlled by a host machine.

Ashok Chilakapatiさんによる記事です。

VagrantVirtualboxを使用してElasticsearchクラスタ環境を構築する方法を紹介しています。

何だかんだいって、Windowsを使っている人はDockerよりもVagrant+Virtualboxの方が手軽だったりしますよね。 (ただ、Windows 10 Pro以上ならDocker for Windowsの方が良いと思います。VM必要でもVagrant+Hyper-Vで共存できますし。)




ELK Migration Tutorial

Elasticsearch is a NoSQL database and search engine that stores documents in indexes and can be searched in near real-time speed, it uses JSON for document structure and provides a RESTFull API to index and retrieve documents easily using many programming clients. Elasticsearch is open source, written in Java and distributed under the Apache license.

Mouhsen Ibrahimさんによる記事です。

Elastic Stackをアップデートするときに、何を実行する必要があるのか事細かにまとめています。




英語以外

Elasticsearch in Nextcloud 13 einbinden

Suchfunktionen im Allgemeinen sind manchmal mehr Schmerz als Hilfe (siehe Microsofts Bing 🤷‍♂️). Oft findet man Dinge die man sucht nicht, oder aber Dinge, die man gar nicht gesucht hat. Wer viele Dateien in seiner Nextcloud nutzt, kann natürlich auch schnell den Überblick verlieren.

Tim Scharnerさんによる記事です。(ドイツ語)

NextCloudの検索機能としてElasticsearchを使う方法を紹介しています。

NextCloudって何だろう…と思ったらownCloudのフォークプロジェクトなんですね。 ownCloudは昔某所で触れたことがありますが、その…はい。(ノーコメント)

なお、NextCloudについては、Qiitaの「Nextcloud を使うべきか?」や「nextcloudによるプライベートオンラインストレージの構築」を読むことでどんなものかわかります。




Uczymy się Elasticsearch #004: indeks odwrócony Apache Lucene - Programista Na Swoim

Moim skromnym zdaniem, żeby w pełni świadomie używać jakiegoś narzędzia należy chociaż w minimalnym stopniu dowiedzieć się co znajduje się pod maską i co z czym się łączy. W poprzednich wpisach wspominałem już, że Elasticsearch został oparty o Javową bibliotekę Apache Lucene dostarczającą pełnotekstowe wyszukiwanie.

Piotr Prądzyńskiさんによる記事です。(ポーランド語)

この記事は"Uczymy się Elasticsearch"と題したElasticsearchについて解説するシリーズの第4回です。

今回はApache Lucene転置インデックスについて解説しています。




Devenir un service d'indexation et de recherche à la demande au sein de son S.I.

Le passage d'une utilisation à la demande du célèbre moteur de recherche Elasticsearch à une utilisation industrielle par de nombreux clients diversifiés, au sein d'un même S.I., demande quelques adaptations qui ne sont pas toujours évidentes à imaginer ou à comprendre sans entrer dans des considérations d'architecture contrat de service sécurité et d'urbanisation.

TONY BLANCHARDさんによる記事です。(フランス語)

多方面からの考察を交え、ユースケース別にElastic Stackを用いたソリューションの利点、欠点を論じています。




先週の漏れ

Bouchons applicatifs (Partie 2)

La première partie de cet article s'est concentré sur la mise en place d'une politique de centralisation des journaux générés par une partie du SI d'Atomenergy. Pour rappel, l'entreprise a développé un tableau de bord énergie utilisé pour piloter le fonctionnement de ses centrales. Malheureusement, cette application est devenue très lente à charger.

Etienne Bernouxさんによる記事です。(フランス語)

架空の原子力発電所管理ダッシュボードアプリケーションAtomenergyのボトルネックを発見するケーススタディの後半部分です。前半記事はこちら

収益性をコントロールするために、財務的結果と技術的な状況をリアルタイムで可視化するようなダッシュボードが運用されてきましたが、開発から2年後、アプリケーションが起動するまでに長時間を要するようになりました。 当然ながら、発電所のメンバーはダッシュボードの使用を中止するようになり、現場は非効率化、収益は低下しました。 そこで、ダッシュボードの動作が遅くなった原因____ボトルネックを発見し、システムを改善する業務を委託されたのが我々です…というのが本記事のストーリー。

前半記事では、アプリの配置サーバにFilebeatを配置し、/var/log配下のボトルネックログを(Logstash=>)Elasticsearchに送信、Kibanaで可視化します。

後半記事では、いよいよ可視化結果からボトルネック区間の推定を実施していきます。

ログからは次の2つの重要な指標を算出しています。

  • 応答時間
    • アプリケーションが応答するのに要した合計時間
    • アプリケーションの待ち時間
  • 最後のバイトが受信されるまでの時間(Time To Last Byte:TTLB)
    • ネットワークのレイテンシが追加された応答時間に相当する

これらの指標から算出されるボトルネックには主に2つのタイプがあるとしています。

  • サービス間のネットワーク待ち時間
  • サービス内で過ごした時間による遅延
    • 応答時間 - 重要な要求のTTLB -重要な要求とはアプリケーションを待機させるクエリのこと

この指標を用いて、取得したデータを確認すると以下のボトルネックが明らかになります。

その後、アプリ改修やネットワーク設定の見直しをし、再度ログを可視化すると新たなボトルネックが見つかっていき…、改善に改善を重ねていく様子が綴られています。

言語的な隔たりがありますが、かなり作りこまれている記事でとても面白いです。 本文だけだと「?」となる部分が多いですが、フローチャート(画像)部分のフランス語を何らかの方法で訳せれば難しい内容ではないと思います。私には難しいんですけど。。




今週は以上です。 …の前に、公式Kibanaデモ環境がいつの間にかリニューアルされていたのを皆さんご存知でしょうか?

Kibana

私は全く気づいておらず「いつの間に!!!」と先ほど飛び起きたところです、えぇ。 各種データが投入され始めた時刻を見るに6/19頃から動作している感じです。

ちなみに、Golangダッシュボードを見ると…あっ...

f:id:j__yama:20180624153829p:plain

今週は以上です。

May the Elastic be with you...