Elastic{ON} 2018レポート 2

eBayの巨大なシステムにおけるBeatのユースケース

eBayの巨大なシステムにおけるBeatのユースケース

Beatのユースケースとしてセッションに登壇したeBayのエンジニアは、BeatがeBayの全てのコンテナ化されたアプリケーションの中で使われていることを紹介した。同社のシステムのWebサーバーだけからで、一日に1.2PB(1200テラバイト)のログが出力され、10万台を超えるサーバーが稼働する巨大なシステムだ。

eBayのシステムの概要

eBayのシステムの概要

eBay社内のクラウドインフラストラクチャーがOpenStackによって構築されているというのは、OpenStackを追いかけているエンジニアにとっては常識だが、実際のアプリケーション稼働環境はすでに仮想マシンからコンテナに移行しているという。そのコンテナのオーケストレーションはKubernetes、コンテナ管理はOpenStack純正のMagnumではなく、TessMasterというツールを使っている。このスライドのKubernetesの右に置かれているロゴがTessMasterのものだ。

eBay自社製のコンテナオーケストレーションツール、TessMaster登場!

eBayのコンテナ実行環境

eBayのコンテナ実行環境

2年ほどまえに書かれた解説記事では、TessMasterは「eBayの社内版のKubernetes」と呼ばれていた。しかしKubernetesの機能が強化されたため、オーケストレーションはKubernetesに任せて、TessMasterはBeatの実装などの機能を実行しているのだろう。

eBayが使っているBeatの概要

eBayが使っているBeatの概要

そしてeBayが開発したCollectbeatの解説を行なった。これはeBayがGitHub上で公開しているオープンソースソフトウェアで、FilebeatやMetricbeatとほとんど変わらないが、ワークロードのディスカバリー機能を追加したもののようだ。これも前述した「コミュニティが開発したBeatのモジュール」ということなのだろう。

eBayが開発したCollectbeatの概要

eBayが開発したCollectbeatの概要

eBay/collectbeat: Beats with discovery capabilities for environments like Kubernetes

またログの収集は、こちらもeBayで開発されたSherlockというモジュールが担当し、各ノードからのログをバックエンドのElasticsearchに引き渡す役割を実行している。概要図から推測するにApache Flink、Apache Kafkaなどを使ってHadoopなどの分析系システムにもデータを提供するためのモジュールのようだ。

Sherlock.ioの概要

Sherlock.ioの概要

後半の解説では「自社で作ったCollectbeatは、オリジナルのBeatの機能拡張に合わせてリタイアさせたい。自社でメンテナンスするのは限界がある」というスライドを紹介し、オープンソースをベースに自社で拡張するやり方の危険性を、充分理解しているのが見て取れた。

個別にカスタマイズしたBeatはリタイアさせたい?

個別にカスタマイズしたBeatはリタイアさせたい?

そして最後に総論として「eBayの全てのアプリケーションはKubernetesで稼働していること、ログとメトリックスはBeatによって実装されていること」などを紹介たのち、OpenStackのモニタリングツールであるCeilometerに統合されたKibanaの画面を見せ、TessMasterの管理するPodが可視化されていることを紹介した。

ログに代表される不定形で巨大なデータを検索するツールとして、Elasticsearchはすでにデファクトスタンダードとなっている。今後、アプリケーションの形が仮想マシンからコンテナ、さらに複数のコンテナによるマイクロサービスに移行する中で、Elasticの提唱するBeatは、一つの選択肢になり得ることを感じさせるセッションであった。

<編注:2018-03-21 01:30更新>一部の社名が間違っておりましたのでお詫びして訂正致します。

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る