飲食店情報サービス「ぐるなび」は、システムが出力する膨大なログデータをオンラインで分析可能にするため、「Elastic Stack」を導入している。Elastic Stackは、オープンソースソフトウェア(OSS)の全文検索エンジン「Apache Lucene」をベースにした分析型レストフル検索分析エンジン「Elasticsearch」を中核とするソフトウェア群。
ぐるなび 開発部エンジニアリングセクション 副セクション長 岩本俊明氏はElastic Stackを活用することで「これまで1時間以上を要していたログ調査が1秒に短縮」という。Elastic Stackを提供するElasticsearchが1月28日に開いた記者会見で説明された。
ぐるなび 開発部エンジニアリングセクション 副セクション長 岩本俊明氏
1996年6月からサービスを開始したぐるなびの現在の総掲載店舗数は約50万件、有料加盟店数は約5万8000店以上、月間のユニークユーザー数は約6100万人、会員数は1796万人となっている。
2016年時点で運用サーバー(仮想マシンやコンテナ)数は数千台規模に膨れ上がっており、障害発生時や保守時のシステムログの確認時は、grepコマンドによる直接検索やscpでローカル環境にログをコピーしてから処理していた。調査時間は1人1時間以上にもおよび、リアルタイム性の欠落や手作業によるケアレスミスも多発していたという。
そこで同社が注目したのは、分析型レストフル検索分析エンジンのElasticsearchと、Elastic Stackを管理するツールであり、Elasticsearchの対象なるデータの可視化や分析などの機能を搭載する「Kibana」。
オンラインで直接かつリアルタイムの検索を可能にするElastic Stackについて岩本氏は、「当時は類似製品もなく、Elastic Stack一択で選定した」と当時を振り返る。ぐるなびではElastic StackとKibanaの実運用を2016年から開始した。
Elastic Stackの導入背景には、500億オブジェクト、30TBにもおよぶ50種類以上のログ基盤を構築する意図があった。200以上サービスを展開するぐるなびは当初、Elastic Stack無償版をオンプレミスで稼働させ、Kibanaのビジュアライズ機能を用いたダッシュボードで確認した。
ログデータの肥大化と利用者増、そしてログをクラウドに蓄積することから現在では、「Elastic Cloud」にオンプレミスやクラウドのログを集約させている。その結果、開発担当者のスキルによって異なっていた障害発生原因の指摘も減り、「grepの魔術師は不要になった」(岩本氏)
直近のKibanaで搭載したログのハイライト機能。ぐるなびの「開発者はtail(コマンド)が好き」(岩本氏)らしく、ログをストリーム表示しながら、「failed」などクエリを指定して活用しているという(出典:ぐるなび)