Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

ISUCON7オンライン予選に挑戦しました

こんにちは!新人エンジニアの佐々木です!

今回、私の発案で、3年目の@ と 2年目の@と一緒にISUCON7のオンライン予選に出場しました。
ISUCONとは、「いい感じにスピードアップコンテスト」の略称で、出題されるシステムをいかに高速化するかを
競うコンテストです。いくつかの言語での参照実装があらかじめ出されるのですが、私たちのチームは
全員pythonがメインだったので、pythonで挑みました。

結果としては、0点で終わってしまいましたが、学ぶことがあったので一部始終を書いていこうと思います。

前準備

今回はメンバーが全員初ISUCONだったので、事前にISUCON5と6の予選問題を解きました。
過去問に取り組む中で

  1. MySQLのパラメータチューニング
  2. SQLクエリの高速化
  3. Redisで高速化

などを学びつつ、本番に備えました。

13:00~14:00

まずは、

  1. アプリケーションの理解
  2. プロファイリング

に取り掛かりました。
今回のアプリケーションはチャットアプリでした。例年と違うのは、オンライン予選にも関わらず
WEBサーバ2台、DBサーバ1台という複数台構成ということでした。
この時点でだいぶ面食らいましたが@がすかさず、New Relicを差して、プロファイリングを進めていました。
そして、話し合った結果、まずは一番時間を食っているアイコンの取得を高速化しようということになりました。
初期スコアは約6000でした。

14:00~16:00

この時間帯では

  1. 画像データのファイル書き出し
  2. 画像ファイルの静的配信
  3. 画像データのRedis化
  4. gunicornのworker数の調整

に取り組みました。
まず、画像がDBの中にバイナリで入っていたので、私がWEBサーバ上に画像ファイルとして書き出して、
そのあとnginxで静的ファイルとして配信するように設定しました。
これでDBサーバまでアイコン画像データを取りに行く部分が高速化されるはずだと思って
ベンチマークを回したところ2000点程度しか上がりませんでした。
そこで、@が画像の部分をすべてRedisに置き換えたところ、19000点あたりまでスコアが伸びました。
(ここでRedisに置き換える以外にもgunicornのworker数を増やしたりしていてどれが原因で伸びたのかが曖昧でした)
スコアが上がった時には3人とも喜んでいました。

16:00~17:00

しかし、この後スコアが伸び悩んでしまいます。
なぜかというと、できることはやりつくしてしまったからです。
/fetchがN+1問題を起こしていることがわかっていたのですが、
それを解決する方法が思いつかず、行き詰ってしまいました。

17:00~21:00

するとこのあたりでDBをすべてRedisに置き換えるという力業の賭けに出ます。
ここでまずかったのが、事前に構成を定めずにスピード重視でがりがり書き換えていったせいで、
どんどん元の動きが保証できなくなってしまいました。
そして最終的に間に合わず、動かないまま終わって、最終スコアは0点でした。。。

学び

今回は残念ながら負けてしまいましたが、いろいろな学びがありました。

1.キャッシュ周り

今回はサーバとクライアントの画像のやり取りをいかに少なくするかが肝になったようです。
公式の解説を見てみると、画像をクライアント側にキャッシュさせる方法が載っていました。
私たちもキャッシュは考えたのですが、方法がわからず断念しただけに悔しいです。
isucon.net

2.SQLクエリ

他の参加者の記録を見ていると、とてもスマートにN+1クエリなどの重いクエリを改修していました。
今回参加した3人はあまりSQLに普段触らないので、直す段階での知識不足が目立ってしまいました。
次回に向けて、まだまだ勉強が必要です。

まとめ

今回は負けてしまいましたが、総合的に言うととても楽しかったです。
やはりエンジニアとして、誰かと競って、上の人の実力を知ることはとても刺激になります。
来年こそは予選突破できるように、これから頑張っていきます。

Acroquest Technologyでは、キャリア採用を行っています。


  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

【エンジニア全般(どのリンクをはるか迷った時)】
世の中に誇れるサービスを作りたいエンジニアwanted! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Interface 12月号の記事を執筆しました

こんにちは!@です。

CQ出版社さんから10月25日に発売される月刊誌「Interface」の
12月号「人工知能ウルトラ大百科」に当社の速川と共に記事を30Pも執筆させていただきました!

Interfaceはコンピュータ技術にこだわる専門誌として先進的、かつ、
専門的な技術情報を掲載している雑誌です。
(参考:CQ出版社 - Interfaceのご紹介

今回はInterface誌12月号の第二特集「注目ディープ・ラーニングAIメカニズム実験室」に次の記事を執筆しています。

  1. 第1章 メカニズム実験①...対話する人工知能
  2. 第2章 メカニズム実験②...勝手に成長する人工知能
  3. Appendix 1 最新ディープ・ラーニング体験のススメ
  4. 第3章 メカニズム実験③...それらしい写真を自動生成する人工知能

記事の各章について、Deep Learningを利用した応用例としてご紹介させていただいています。

この応用例ですが、寄稿記事の対象読者は特に「TensorFlowを使った機械学習の応用例を知りたい」、
機械学習の応用的な開発をしたいがわからない」方を想定しています。
※もちろん、まだTensorFlowを触ったことがない方&TensorFlowを少し触った方&機械学習未経験の方も大歓迎です。

執筆時に面白いことができるといった思いがあったため、アルゴリズムの紹介に留まらず、
アプリケーションとしても面白い内容を構築しています。
そのため、記事内でデータの準備からコードの紹介、そして、
どのように活用するか(例:対話するSlack Botへの載せ方)まで執筆しており、実践的な内容になっています。

例えば、第1章では、青空文庫を利用したSlack Bot作成を行っています。
青空文庫からのデータの取得、Deep Learningで扱えるようにするための加工、
そして、コアとなる技術となるNeural Conversational Modelの紹介、
最後にSlack Botの作成と順を追って解説しています。

そのため、はじめての方でも順を追って理解し、実践することができます。

ぜひ、手に取って読んで、新しい一歩踏み出してみてください。

Acroquest Technologyでは、キャリア採用を行っています。


  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

【データ分析】
データ分析案件の急増に伴い実践的なデータ分析エンジニアWanted! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

書評レビュー「Chainerで学ぶディープラーニング入門」

こんにちは。Acroquest1年目エンジニアの片岡です。

最近、機械学習のライブラリであるChainerを使う機会があり、ディープラーニングについてもう少し深く勉強しようと思い、
「Chainerで学ぶディープラーニング入門」を読んだので、紹介したいと思います!

Chainerで学ぶディープラーニング入門

Chainerで学ぶディープラーニング入門

著者:島田直希、大浦健志

概要

ディープラーニングについて基礎理論から、Chainerを使った応用手法まで幅広く書かれている。

目次構成

目次は以下の通り。
第1章 ディープラーニングのいま
第2章 ニューラルネットワークの基礎
第3章 ディープラーニングのチューニング技術
第4章 Chainerの基礎
第5章 畳み込みネットワーク
第6章 画像認識
第7章 GAN
第8章 RNN
第9章 強化学習

背景

昨今の人工知能ブームとともに注目されている技術の一つであるディープラーニング
ディープラーニングを含めた機械学習の技術が様々な分野で応用されるようになってきた。

書評

本書の前半ではディープラーニングの基礎的なことが書かれており、ディープラーニングにあまりなじみがない人でもディープラーニングの概要や実装するうえで必要な要素が理解しやすい内容になっている。
ニューラルネットワークの構造など、言葉では理解しにくい部分でも図解付きで解説されているのでわかりやすい。

後半はそれぞれのディープラーニングの手法について書かれていた。
幅広く色々な手法に触れているのでディープラーニングの各手法がどのようなものか概要を知りたい人には良いと思う。
また各手法の中では、使用されるそれぞれのクラスが何をやっているかの中身を詳しく解説している。
そのため、これを見ながら手を動かすというよりは、
ネット上にあるサンプルコードを見て、それに対応する部分を読んで理解を深めるのが良い読み進め方だと思う。
ディープラーニングの全体像を知りたい人には良い一冊だと感じた。

最後に

皆様の技術書選びの助けになれば幸いです!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elastic APM の alpha版がリリースされました!

こんにちは。
@です😊

着々とElastic Stack 6.0の正式リリースが近づいている感じがしますね!
次回のElasticsearch勉強会では、@さんよるElastic Stack 6.0の紹介があるそうです。
www.meetup.com

また、このブログでも、Elastic Stackの6.0.0-beta1の紹介を行いました。
acro-engineer.hatenablog.com

Elastic APM

概要

さて、ここからが本題です。
本日、Elastic Stack 6.0.0-rc1がリリースされました。
このバージョンでは、Elastic APMがalpha版として入りました。
Elastic APMでは、Node.jsやPythonで作成したアプリケーションのパフォーマンス監視を行うことができます。
Elastic APM enters alpha | Elastic

APM Downloads Overview | Elasticからダウンロードできるので、さっそく試してみました!

APM Server インストール

自分の環境にあわせて、媒体をダウンロードします。
今回はWindows 64bitを選択します。
f:id:acro-engineer:20170929132347p:plain:w700

ダウンロードした媒体を解凍し、下記のコマンドで起動します。

.\apm-server -c apm-server.yml -e

内部的には、beatsが起動して、Elasticsearchにデータを送っているようです。

unix系の環境では"\"のかわりに"/"を入力してください。
※x-packでの認証が有効になっている場合はapm-server.ymlを編集して、user・passwordを設定する必要があります。

Kibanaダッシュボード生成

ダッシュボードもデフォルトで用意されています。
次のコマンドを実行すると、Kibana上にindex patternが作成され、
さらにダッシュボードがKibanaにインポートされます。
(curlコマンドを使ってインポートする方法などもありますが、ここでは割愛します。)

.\apm-server setup -e

ダッシュボードが自動的に作成されていることがわかります。
f:id:acro-engineer:20170929135033p:plain:w700

APM Agent インストール

f:id:acro-engineer:20170929132404p:plain:w700
APM Serverの準備が完了したので、次にagentの設定を行います。
agentはNode.js・PythonのWebフレームワークであるDjango・Flaskが提供されています。

今回はNode.jsで進めてみます。

まず、agentをインストールします。

npm install elastic-apm --save

あとは実際のアプリケーションに組み込んで動かします。

// Add this to the VERY top of the first file loaded in your app
var apm = require('elastic-apm').start({
  // Set required app name (allowed characters: a-z, A-Z, 0-9, -, _, and space)
  appName: '',

  // Use if APM Server requires a token
  secretToken: '',

  // Set custom APM Server URL (default: http://localhost:8200)
  serverUrl: '',
})

すると自動的にElasticsearchに取り込まれ、Kibanaのダッシュボード上で確認することができます。
f:id:acro-engineer:20170929171724p:plain:w700
f:id:acro-engineer:20170929171742p:plain

今回は手軽に試したかったので、"Hello, world!"を表示するだけのアプリケーションに
大量のhttpリクエストを投げて、その状況を可視化してみました。
Kibanaのダッシュボードで、応答時間が遅いリクエストがどれかを確認できます。

最後に

Elastic Stackを利用して簡単にアプリケーションの監視を実現できました!
alphaでもとても簡単に利用できたので、今後の機能追加や正式版のリリースに期待です!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

ElasticStack 6.0 betaがリリースされました!

皆さんこんにちは
@です!

昨日、8/9にElastic Stackの6.0.0-beta1がリリースされました。
Elastic Stack 6.0 alphaを触っていなかったのですが、これを機にbetaを使ってみました。
そこで、Elastic Stack 6.0.0-beta1の機能をピックアップしてご紹介します。

Elastic Stack 6.0.0-beta1の英語での概要であれば、Elastic社のブログで紹介されています。
Elastic Stack 6.0.0-beta1 released | Elastic

Elasticsearch

X-Packのデフォルトパスワードの変更

Elasticsearchをインストールした後は、X-Packのインストール。ここまでは、これまで通りですね。

bin/elasticsearch-plugin install x-pack

このあとの手順について、注意があります。
セキュリティの観点から、elasticユーザのデフォルトパスワードは設定されず、予めセットアップする方式に変更されました。
そのため、X-Packインストール後はパスワード設定が必須になっています。
こちらに詳しく記載されています。
www.elastic.co


それでは、パスワード設定を行ってみましょう。
次の2つ目のコマンドを実行すると、elasticユーザのパスワードを入力を要求されます。

bin/elasticsearch-keystore create
bin/elasticsearch-keystore add "bootstrap.password"

Elasticsearchを起動し、kibana, logstash_systemのパスワードも設定します。

bin/x-pack/setup-passwords interactive

Logstash

Logstashも新規の機能が追加されています。
X-Packが必要となりますが、魅力的な機能が追加されています。

Logstashのインストールですが、展開先のフォルダで次のコマンドを入力すればX-Packを導入できます。

bin/logstash-plugin install x-pack

logstash.ymlに先ほど設定したlogstash_systemユーザのパスワードを記載します。
次の例はパスワードをlogstashpasswordとした場合です。

xpack.monitoring.elasticsearch.password: logstashpassword

Pipeline Viewer

Logstashの処理をKibana上で確認できるようになりました。
これはElastic{ON}でも紹介されていた機能の1つかと思います。

acro-engineer.hatenablog.com

早速、使ってみましょう。
LogstashをMonitoringの監視対象に含めればPipelineの状態を確認できます。
MonitoringはX-Packの機能であるため、まずはX-Packをインストールします。
Kibanaの展開先のフォルダで次のコマンドを入力すればX-Packをインストールできます。

bin/kibana-plugin install x-pack

kibana.ymlに先ほど設定したkibanaユーザのパスワードを記載します。
次の例はパスワードをkibanapasswordとした場合です。

elasticsearch.password: kibanapassword

Pipeline Viewerを使ってみると、、、
おおっLogstashのパイプラインを可視化できました。
f:id:acro-engineer:20170810081605p:plain

Logstashが何台もある場合など、便利そうな機能です。
この辺りは今後も引き続き調べてみたいと思います。

Kibana

デザインの改善

Kibanaのデザインが変わりました。
画面の左端の色が変化し、かっこよくなっています!
さらに、Visualizeの見栄えも良くなっています。

f:id:acro-engineer:20170810011931p:plain

フルスクリーン表示

今回、フルスクリーン表示機能が追加されました。
ダッシュボードを画面いっぱいに表示すると、見やすいですね。

f:id:acro-engineer:20170810080306p:plain

Elastic社のブログによると、NOC(Network Operations Center)、SOC(Security Operation Center)での利用も想定しているようです。
大画面でダッシュボードをモニタするとかっこ良さそうですね。

Beats

Auditbeat

新しくAuditbeatがリリースされました。
Auditbeatはファイルの改竄検知ができるツールです。
このBeatの利用により、期待しないファイルの編集が行われたかどうかをElasticsearchで監視することができます。

Auditbeatのダウンロードは次のページから可能です。

Download Auditbeat | Elastic

このAuditbeatの媒体を展開し、試しに動かしました。入力コマンドは次の通りです。

./auditbeat setup --template #elasticsearchのtemplate準備
./auditbeat setup --dashboards #kibanaのdashboard準備
sudo chown root auditbeat.yml 
sudo ./auditbeat -e -c auditbeat.yml -d "publish" #auditbeat起動

Kibanaでアクセスすると上記コマンドで準備したAudit Beat用のダッシュボード(Auditbeat - File Integrity)を確認できます。
このダッシュボードを開きます。

デフォルトの設定で起動した場合には試しに、/usr/bin配下などのファイルを操作をしてみましょう。
ファイルを更新するとファイルパスとそのアクションがダッシュボードに表示されます。
試しに表示した画面は次のとおりです。上下のスペースが大きいので、画像は2分割しています。

f:id:acro-engineer:20170809230542p:plain

f:id:acro-engineer:20170809230600p:plain

X-Pack

Alerting

Alerting設定はこれまで、自分で作成したJSONを貼り付けるようになっていました。
今回遂に、Kibana上からGUIベースで、しきい値を使ったAlertingの設定ができるようになりました。


現状のデータを可視化したり、どのような条件でアラートを飛ばすか指定できます。
また、Slackやメール通知の設定を画面からできるようになり、非常に便利になっています!

こちらはインデックスと時間のフィールドの指定

f:id:acro-engineer:20170810012435p:plain

Aleartingの条件を指定します。WHEN, OVER, IS ABOVE, FOR THE LASTは変更が効くようでした。
また、アクションはメールの設定やSlackを指定できます。通知設定は意外と苦労していたので非常に助かります。

f:id:acro-engineer:20170810012540p:plain

最後に

バージョン6を開発中のElastic Stack。
成長スピードが速く、どんどん進化していますね。

正式版のリリースが待ち遠しいです!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

Elasticsearch勉強会でPacketbeatについて発表しました

こんにちは!ツカノ(@snuffkin)です。
先日、Elasticsearch勉強会に参加、発表してきましたので、感想等を書かせて頂きたいと思います。
www.meetup.com

Jun Ohtaniさん

What's new Elastic Stack 5.4 and 5.5

speakerdeck.com
個人的な目玉はX-Pack Machine Learningです。
このブログでも以前紹介しましたが、機械学習と組み合わせることでElasticsearchのユースケースがさらに広がる感じがします。
acro-engineer.hatenablog.com

谷沢 智史さん

Jupyterで手順再現!Elasticsearch構築・運用を実行可能ドキュメントで機械化してみた

www.slideshare.net
Jupyter Notebookを利用して、Elasticsearch構築手順や実行結果をを実行可能なドキュメントとして残す取り組みです。
実は私たちもこの取り組みのお手伝いをさせて頂きました^^

公開したNotebookを利用することで、AWSGCPにElasticsearchクラスタを構築することができます。
また、Elasticsearchの入門資料としても使える内容なってます。
GitHubに公開していますので、利用された方から感想やPull Requestを頂けると嬉しいです。
github.com

髙林 貴仁さん

Elasticsearchと機械学習を利用したbot基盤

www.slideshare.net
Percolate Query等の機能を利用してbot基盤を作成する話。
いろんな機能を組み合わせると、こういうこともできるんですね。
私の周りにもbotを作っている人がいるので、興味深く聞かせて頂きました。

束野 仁政

Packetbeatの基礎から、IoTデバイス異常検知への応用まで

www.slideshare.net
Packetbeatの構築を初めて行う方を想定して、基本的な部分を中心に説明しました。
この辺りがまとまった資料はあまりないと思いますので、Packetbeatをこれから使う方は是非ご一読ください^^


また、これまでのElasticsearch勉強会の発表資料へのリンク集を作りました。
どんな発表があったか気になる方は、要チェックです。
qiita.com


最後になりますが、主催の大谷さん、Elastic社の皆さん、会場提供して頂いたリクルートテクノロジーの皆さん、ありがとうございました。
また、参加させて頂きます~

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com

X-Pack Machine Learningが正式リリースされました

こんにちは@です。

ついに待望のX-Pack Machine Learning(X-Pack ML)が昨日7/7に正式リリースされました。
X-Pack MLはElastic Stackで時系列の異常検知を行える機械学習の製品です。
詳細はこちらで紹介しています。

acro-engineer.hatenablog.com

正式リリースになって実装された機能

正式リリースを迎えて、変わった主な点は3つあります。

  1. Multi Metric JobからSingle Metric Jobを開ける機能
  2. Machine Learningを利用した通知機能
  3. Bucket spanを推定する機能(Experimental)

これら3つの機能を紹介します。

Multi Metric JobからSingle Metric Jobを開ける機能

分析者にとって嬉しい機能ですね。
これまではMulti Metric JobのX-Pack MLの結果の詳細を
Signle Metric Viewerで確認できませんでした。

X-Pack ML 5.5ではAnomaly Explorerで確認したい系列を
SIngle Metric Viewer上で分析可能となりました。

次の図はAnomaly Explorerを開いた状態です。
確認したい対象のデータをクリックし、View ボタンを押します。

f:id:acro-engineer:20170708113755p:plain

今までMulti Metric Jobの結果画面で概要を見る分析しかできませんでした。
この機能により、Single Metric Viewerを使って、より詳細に分析ができます。

f:id:acro-engineer:20170708110032p:plain

Machine Learningを利用した通知機能

正式リリースに伴い、X-Pack MLとAleartingを組み合わせた機能ができました。
次の例はMulti Metric Jobを作成した場合にAlertingの設定をする例です。
X-Pack MLによる解析が完了後に「Continue job in real time」と「Create watch for real time job」をクリックします。

f:id:acro-engineer:20170708111427p:plain

次にApplyをクリックすると設定が完了します。
「Edit ml-multi_metric_test in Watcher」をクリックすると実際のAlertingのクエリを編集できます。

f:id:acro-engineer:20170708114606p:plain

これは、Alertingのクエリを編集する画面です。
X-Pack MLからAlertingのクエリを編集・確認できるようになっています。

f:id:acro-engineer:20170708110421p:plain

Bucket spanを推定する機能(Experimental)

これまではBucket Spanのパラメータを自分で設定する必要があります。
このパラメータですが、解析の精度に大きく影響します。
そのため、このパラメータをうまく設定することが解析を成功させるコツとなっています。

そのようなBucket Spanのパラメータを推定できるようになりそうです。

Bucket Spanの時間設定の隣に、「Estimate bucket span」ボタンがあります。
解析のタイミングでこれをクリックすると実行できます。

f:id:acro-engineer:20170708132448p:plain

最後に

よりユーザから見て使いやすくなったように感じました!
今後どう進化していくか非常に期待しています!

Acroquest Technologyでは、キャリア採用を行っています。

  • ビッグデータHadoop/Spark、NoSQL)、データ分析(Elasticsearch、Python関連)、Web開発(SpringCloud/SpringBoot、AngularJS)といった最新のOSSを利用する開発プロジェクトに関わりたい。
  • マイクロサービスDevOpsなどの技術を使ったり、データ分析機械学習などのスキルを活かしたい。
  • 社会貢献性の高いプロジェクトや、顧客の価値を創造するようなプロジェクトで、提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や、対外的な勉強会の開催・参加を通した技術の発信、社内勉強会での技術情報共有により、エンジニアとして成長したい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。

Elasticsearchを仕事で使いこみたいデータ分析エンジニア募集中! - Acroquest Technology株式会社のエンジニア中途・インターンシップ・契約・委託の求人 - Wantedlywww.wantedly.com