Hayabusa

スケールアウト可能な高速ログ検索エンジン「Hayabusa」の実現

本研究では、大量のネットワーク、サーバ、セキュリティ機器から出力されるsyslogを時間軸検索に最適化したデータとして保存し、高速に検索可能な検索エンジンであるHayabusaを実現しました。複数台のサーバにHayabusaの処理を分散させることにより144億レコードのsyslogメッセージを約7秒で全文検索可能な性能を実現しました。またデータの保存量を優先させるために、ネットワークストレージを用いたHayabusa2を実装しオープンソースソフトウェアとしてリリースしました。

ネットワーク管理者は日々ネットワークの健全性を評価し、トラブルが発生した場合には様々な角度から分析を行いその原因を特定し安定したネットワーク運用を実現しています。

そのため、ネットワーク管理者は、サーバ機器やネットワーク機器、セキュリティ機器などたくさんのネットワークへと繋がるデバイスから生成される多種に渡るデータを収集する必要があります。ネットワークやシステムに障害が発生した場合に、ネットワーク管理者は可能な限りトラブルの原因を早急に調査し解決しなければなりません。

したがって、ネットワーク運用管理において、ログデータをスケーラブルかつ横断的に高速に検索できる検索エンジンが必要になり、それを使うことでトラブル解決を迅速に行うことができる可能性があります。ネットワーク管理者が日々対応するトラブルシューティング作業のために高速なログ検索システムを利用する必要がありますが、複雑なクラスタを管理することになりクラスタの管理時間が増え、ネットワークを安定的に運用するという本質的な作業の時間が削られる問題が発生します。「ログの蓄積」と「ログの検索」がシンプルに動作し、かつ複雑なクラスタを用いずに実現されるならば、ネットワーク管理者が検索・蓄積システムの管理に時間を割かれることはなくなり、トラブル対応やセキュリティインシデントの解析に集中することができます。

Hayabusa

本研究ではまず、大規模な時系列ログデータを処理する一つの実装として、Hayabusaを設計、評価し、スタンドアロン環境で高い検索性能を発揮するアーキテクチャを実現しました。さらに、実現したスタンドアロン版のHayabusaの性能を高めるため、スタンドアロン版のHayabusaのシンプルさを崩さずに、分散版のHayabusaを設計、評価し、高い検索性を実現しました。そして、分散版Hayabusaの課題として挙がったストレージの問題とリクエスト処理の問題点について改良した新アーキテクチャを設計し評価を行い、その実装をOSSとして公開しました。

本研究では、大量なログデータを時系列データとして蓄積・検索可能なアーキテクチャとしてHayabusaを設計し、わずか10台の小規模な分散処理クラスタを用いることで高い検索処理性能を実現しました。また、HayabusaのシステムがOSSとして公開されていることによりシステムがブラックボックス化せずに、データセンターやオンプレミス環境、クラウドサービス上であっても誰もが望む場所にシステムを構築し改良することが可能となりました。

本研究では時系列ログデータに対するシステム最適化という実装を実現しました。
Hayabusaは、大量の時系列データをCPUのメニーコアに適した形で処理可能であり、今後訪れるであろうさらなるメニーコア時代に追従可能なアーキテクチャの一つを実現しました。

関連業績リスト

  • Hiroshi Abe, Keiichi Shima, Daisuke Miyamoto, Yuji Sekiya, Tomohiro Ishihara, Kazuya Okada, Ryo Nakamura, Satoshi Matsuura, "Distributed Hayabusa: Scalable Syslog Search Engine Optimizedfor Time-Dimensional Search", The Asian Internet Engineering Conference 2019, August 2019.
  • 阿部 博, "大規模ネットワーク環境における高速なログ解析基盤と異常検知に関する研究", 北陸先端科学技術大学院大学 博士論文, 2019年3月.
  • 阿部博, 島慶一, 宮本大輔, 関谷勇司, 石原知洋, 岡田和也, 中村遼, 松浦知史, 篠田陽一, "時間軸検索に最適化したスケールアウト可能な高速ログ検索エンジンの実現と評価", 情報処理学会論文誌, 60巻3号, pages 728-737, mar 2019.
  • 阿部博, 島慶一, "Hayabusa:高速に全文検索可能なログ検索エンジン", Internet Infrastructure Review, vol.38, 2018年3月
  • Hayabusa2: Distributed Search Engine for Massive System Log Dataset, https://github.com/hirolovesbeer/hayabusa2
  • Hayabusa: A Simple and Fast Full-Text Search Engine for Massive System Log Data, https://github.com/hirolovesbeer/hayabusa