時系列の異常を検知--検索エンジン「Elasticsearch」の機械学習技術の可能性 - (page 2)

田中好伸 (編集部)

2017-07-24 08:00

 Elastic Stackをより企業向けに拡張するのが「X-Pack」だ(X-Packはサブスクリプション形式の価格で利用できる)。X-Packの拡張機能にはSecurityやAlerting、Monitoring、Reporting、Graphがある(先に挙げたMachine LearningもX-Packで利用する)。

 Securityでは、ユーザーIDとパスワードでの認証、外部の認証システムとの連携、エンドユーザーとロールでの権限管理、SSL/TLSでの暗号化、監査ログといった機能をX-Packに追加できる。Alertingは、Elasticsearchにあるデータの変更を検知すると自動的にアラートを流すことが可能だ。

 Monitoringは、Elastic Stackで構成されるクラスタの状態を監視。クラスタ全体のパフォーマンスを監視して、Kibanaにダッシュボードで表示する。加えて、クラスタ全体の過去と現在の状況を分析して、クラスタのパフォーマンスを最適化する機能も利用できる。

 ちなみに、ElasticsearchやKibana、X-Packの機能をAmazon Web Services(AWS)で利用できる「Elastic Cloud」は月額45ドルから利用できる。この5月には、パブリッククラウドにも対応するソフトウェア群「Elastic Cloud Enterprise(ECE)」もリリースされた。

 こちらのソフトウェアはAWSやMicrsoft Azure、Google Cloudといったパブリッククラウドで稼働するとともに、企業内のプライベートクラウドにも対応している。ECEでは、複数のElastic Stackクラスタを管理、監視できることが特徴となっている。

正常と異常を自動的に判別

 X-Packに追加されるMachine Learningの特徴は、機械学習でよく言われる「教師なし」型だ。つまり、人間が教師となって教えずとも、機械が自発的に学ぶことが可能だ。統計学などの専門的知識がなくても活用できることがメリットになってくる。Elastic StackのMachine Learningはバッチ処理が終わってからではなく、Elastic Stackにデータが格納されるとすぐにリアルタイムで判断するのもメリットと言えるかもしれない。

 Elastic StackのMachine Learningは時系列データが対象だ。時系列で変化するデータを学習することで、人間では判断が付かないような“異常”なデータが入ってきた時点でリアルタイムに、そのデータが異常であると判断して警告を出すことが可能だ。

 時系列データで異常な状態を分析するには、これまでは例えば、一定の値を超えたら異常と判断する閾値を設ける。だが、この方法だと、例えば、タクシーの乗降客数という時系列データであれば、「昼間にしては少ないが、夜にしては多い」という判断が難しいという課題がついて回る。

 米ニューヨーク市は、タクシーの乗降データを公開している。タクシーに何人乗ったのか、どれくらいの距離を走り、どれくらいの料金を払ったのかなどのデータをMachine Learningで学習させると、予測値をはじきだせるという。ニューヨーク市のタクシーの場合、乗降者や利用する時間帯は平日と休日で当然、異なる。過去のデータを学習させれば、曜日ごとや時間ごとに正常を見つけ、異常データをリアルタイムに判断できる。

 「Machine Learningが学習するデータは3周期あればいい」(大輪氏)

 ニューヨーク市のタクシーの乗降者データを2016年11月の期間で分析すると、24日が通常の3分の1である2800人としてMachine Learningは異常と判断した。これは11月の第4木曜日、つまり感謝祭という休日であったからだ。

日本時間で表示されているが、11月25日に異常を検知している(Elastic提供)
日本時間で表示されているが、11月25日に異常を検知している(Elastic提供)

 大輪氏によると、Elastic StackのMachine Learningは、新しい傾向も学ぶことができるという。あるレストランがテレビに放送されたことで、来店客数は以前よりも増加したという状況の変化は珍しくはない話だ。だが、テレビの放送直後からしばらく時間が経っても、来店客数は以前よりも高止まりする傾向があるだろう。こうしたデータの変化についても、Machine Learningはデータを読み込むことで、その傾向を分析できる。

 IT部門向けに考えれば、例えばウェブサイトの訪問者数が昼の12時にしては多すぎる、ウェブサイトのレスポンスが異様に遅くなったという状態を即座に判断することが可能だ。また、複数の指標を組み合わせて一緒に判断することもできる。例えば、データベースとアプリケーションのレスポンス時間とログファイルを合わせて分析すれば、アプリケーションが提供する個々のサービスの異常な挙動を特定するとともに、システム全体の異常も把握可能だ。

 企業が保有するデータは時間とともに変化する、さまざまなものがあるだろう。Elastic Stackはさまざまな形式のデータに対応する。あなたなら、どんなデータからどんな異常を見つけるだろうか?

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]