[小ネタ] Sumo Logic のデータ収集について 1 枚絵にまとめた #sumologic

まとめました。
2020.03.04

TL;DR

こんなんなりました。

背景と概要

弊社では Sumo Logic のパートナーとして、ライセンス販売したりハンズオンしたり 登壇したり レポートしたり と様々な関わり方をしています。

その一環でぼくも「Sumo Logic とは」「何ができるか」という話を内外にすることがままあるんですが、その時に使わせて頂くのが Sumo Logic 社が作成した↓の図です。

Developers.IO 2019 Tokyo の Sumo Logic 社によるセッションより

見て頂くとわかるとおりこの図は素晴らしくて、「どのようなデータを、どのようにして Sumo Logic に集められるか」が一目瞭然なんですね。
実際にプレゼンの中でも、視聴者の食いつきがいい図と感じています。

ところがこの図、データで公開されているサイトやスライドには使われていないようです。少なくともぼくは見つけきれませんでした。
似たような図はたくさんあるのですが、部分的だったり省略が多かったりと、なかなかこれの代替になるようなものが見当たらず。

ないなら、作れば良いのでは?

というわけで書いたのが、この記事の最初に掲載した図となります。
↑のような経緯から見た目やデザインはかなり似てしまっていますが、Sumo Logic のヘルプから情報裏取りした上で、個人的に強調・追加説明したい部分を追加しています。
あと弊社の業務上の特殊性から、AWS については情報を追加した感じになってます。

またアイコンセットにこちら↓で公開されているものをつかっていますので、雰囲気的にも Sumo Logic っぽさが出せているのではないかと思います。

簡単な解説

Sumo Logic は様々な方法でデータ(ログデータ・メトリックデータ)を収集できるのですが、大きく分けて 2 通りになります。

  • Installed Collector OS 上に Java のコレクタープロセスを起動させ、そこからローカル・リモート両方のデータを Sumo Logic へ送信するモデル。
  • Hosted Collector Sumo Logic (SaaS) が直接データを収集するモデル。作成したエンドポイント(HTTP / Syslog)へ向けて送信したり、Amazon S3 などのクラウドストレージからデータを定期的に収集させたりする。

さらに fluentd や logstash から Sumo Logic へ送信するためのプラグインなどもあって、これは Installed / Hosted 両方の性質をもっています。
SaaS によっては直接 Sumo Logic のエンドポイントにログを送信できるもの、S3 に置いておくことで送信できるもの、Installed Collector のカスタムスクリプトで収集し送信するものなど、いろいろな方法があります。

要は多種多様なデータを様々な手段で Sumo Logic へ送信できるのだぜ!ということを、この 1 枚絵は最適に表現していると考えています。

これについては弊社加藤も記事をかいていますので、公式ドキュメントとあわせてご参照ください。

まとめ

Sumo Logic のデータコレクションについて、1 枚で表現できる図をつくりました。まだまだ改善の余地があると思いますので、今後少しずつ修正しつつ使っていきたいと思います。