こんにちは、アクロクエストテクノロジー株式会社でElastic Stackのコンサルティング業務を担当している吉岡です。本記事は、Elastic Stack (Elasticsearch) Advent Calendar 2020 の1日目の内容になります。
目次は以下です。
- Elastic Stackリリース概要
- Elastic Stackのユースケース
- ■Search(1)検索機能
- ■Search(2)エンタープライズ検索
- ■Observe(1)ログ監視/可視化
- ■Observe(2)機械学習による異常検知
- ■Protect(1)セキュリティ分析
- まとめ
Elastic Stackリリース概要
- Elastic Stack Version 7.6.0リリース(2020年2月)
- Elastic Stack Version 7.7.0リリース(2020年5月)
- Elastic Stack Version 7.8.0リリース(2020年6月)
- Elastic Stack Version 7.9.0リリース(2020年8月)
- Elastic Stack Version 7.10.0リリース(2020年11月)
2020年1月時点での最新バージョンはVer.7.5.1、2020年12月1日時点での最新版はVer.7.10.0です。メジャーバージョンは変わっていないので、たった5回マイナーバージョンアップしただけのように見えますが、マイナーチェンジとは思えない多くの機能が盛り込まれています。
Elastic Stackのユースケース
Elastic Stackは、Search(検索)、Observe(ログ監視)、Protect(セキュリティ)という3つのユースケースで利用されます。以降は、ユースケース別に特徴的な機能強化/新機能をまとめてみます。
■Search(1)検索機能
検索の高速化
- Ver.7.0で一部のクエリに導入されたblock-max WANDが、Ver.7.6では日付や数値のソート処理にも適用されました。結果、ソート付きクエリのパフォーマンスが10倍以上になりました。Elasticsearchの根幹である検索が速くなるのは、クエリを利用するKibanaや各種アプリにとっても嬉しいですね。
ヒープメモリ使用量の大幅削減(同時検索性能の向上)
- セグメント内のTerm Indexはすべての検索可能フィールドの情報を含みますが、相対的に「_id」フィールドの占めるサイズが大きくなります。Ver.7.7では「_id」のTerm Indexがヒープからディスクへ移動。ヒープメモリ使用量を大幅に削減しました。その結果、Ver.7.6以前と7.7以降ではクエリの同時検索性能が大きく改善しています。
非同期検索のサポート
- Elasticsearchは高速検索が求められるケースでよく利用されますが、高速検索を必要としないユースケースも存在します。例えば、大量データをフィルタリングなしで集計するような重いバッチ統計処理であったり、安価なストレージ(HDD)を搭載したDataNodeに対する検索などです。Ver.7.7で登場した非同期検索は、これらのユースケースに最適です。
- 非同期検索のタイムアウトはデフォルトで5日間(長い!)。クエリが完了しなくても途中までの結果を部分的に取得することも可能。ちなみに、Kibana Ver.7.7から、DashboardとDiscoverは非同期検索に対応しています。(一定時間内にクエリが完了しないと、処理が完了するまで非同期検索を続けるかどうかの確認ダイアログが表示される)
■Search(2)エンタープライズ検索
エンタープライズ検索ソリューションの整理
- Ver.7.6において、SaaSサービス検索を実現する「Enterprise Search」を「Workplace Search」に名称変更。
- エンタープライズ検索のソリューション名を「Elastic Enterprise Search」とし、これまでバラバラだった3つの製品をElastic Enterprise Searchの下に位置付けるように変更。(ようやくElasticの検索製品群がきれいに整理されました)
- App Search(アプリ検索)
- Site Search(Webサイト検索)
- Workplace Search(SaaSサービス検索)
Enterprise SearchがKibana UIと統合
- Kibana Ver.7.9から、Enterprise SearchがKibana UIから利用可能になりました。(Kibanaのメニューがさらに縦長に・・・)
■Observe(1)ログ監視/可視化
新アラートフレームワークの統合
■Observe(2)機械学習による異常検知
■Protect(1)セキュリティ分析
プレビルド検知ルール
- Elastic SIEMはVer.7.6から大きく進化します。このバージョンでは機械学機能が統合されたSIEM検知エンジンおよびMITRE ATT&CK™ナレッジベース準拠のプレビルド検知ルールがリリース。クエリ/モデルベースの異常検知によりマルウェア等の自動検知ができるようになりました。以降、バージョンアップの度に様々なルールが追加され、Ver.7.10時点で316個のプレビルドルールが搭載されています。
ケースマネジメント機能
- SIEMのTimeline機能で脅威の調査を行い、必要に応じてKibanaから外部のインシデント管理システムに起票や更新ができます。Ver.7.7では対応ツールはServiceNowITSMだけですが、以降のバージョンでJIRA/IBM Resilientにも対応します。
Elastic Agent
既存のBeatsの統合エージェントとして、Ver.7.9からElastic Agentが導入されました。Elastic AgentはElastic Securityの要となる重要機能で、3つの特徴があります。
- セットアップコストが低い:1種類のエージェントで40種類以上のデータを収集可能であり、1コマンドでセットアップ可能(収集データに合わせて必要ファイルを自動ダウンロード)
- メンテナンスコストが低い:全てのエージェントをKibanaで一元管理可能であり、Kibanaからエージェントのバージョンアップ/設定変更(例:取得データの追加)が可能
- データ加工処理を自動実行: データ送信時にElastic Common Schemaへ自動でデータ加工し、多様なデータソースを横断的に検索可能
Endpoint Securityの一部がBASICライセンスで利用可能に
- Ver.7.9から、Endpoint Securityの一部がBASICライセンスで利用可能になりました。
まとめ
2020年のElastic Stackを振り返って、特徴的な機能強化/新機能をピックアップしてみました。Search(検索)、Observe(ログ監視)、Protect(セキュリティ)、3つのユースケースが満遍なく強化されていますが、特にセキュリティに関しては機能追加のスピードが速く、目が離せません。
Acroquest Technologyでは、キャリア採用を行っています。
- ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
- Elasticsearch等を使ったデータ収集/分析/可視化
- マイクロサービス、DevOps、最新のOSSを利用する開発プロジェクト
- 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。【データ分析】
Kaggle Masterと働きたい尖ったエンジニアWanted! - Acroquest Technology株式会社のデータサイエンティストの求人 - Wantedlywww.wantedly.com