「オブザーバビリティ・エンジニアリング」で学ぶはじめての可観測性 Vol.1
始めに
日本語翻訳版が出たばかりの「オブザーバビリティ・エンジニアリング(原題:Observability Engineering)」について紹介します。この本は、可観測性を高める方法について解説しています。
※今回読んだのはオライリー・ジャパンサブスクで提供されている原著です。訳本と内容が一部異なっているかもしれません
原題 | 「Observability Engineering」 |
訳題 | 「オブザーバビリティ・エンジニアリング」 |
リリース年月 | 2022/5 |
カテゴリ | 監視・可観測性 |
お勧め度(5段階) | ⭐⭐⭐⭐☆ |
要点 | ● マイクロサービス等の近年の複雑なシステムではメトリクスベースのログによる監視は限界を迎えつつある ● メトリクスは既知のエラーにしか対応できないが、マイクロサービスでは未知のエラーが発生する ● 構造化イベントにより可観測性を高め、探索的な問題解析に対応する必要がある ● 問題を適切に切り分けるためにも高カーディナリティ性が必要 |
まとめスクラップ(随時更新)
可観測性と監視の違い
本書の基本的な内容は、まず本書の扱っている「可観測性」と「監視」ですがこちら別物です。監視というのは従来型の「メトリクス + ログ」による監視になります。こちらはメトリクスを構築するにあたって何等か観測したい既知の問題があって、それを監視するためのメトリックという形になってきますので、そういった既知の問題に対処するものになります。
一方で可観測性というものは未知の問題に対応します。ポイントとしましてはカーディナリティが高い構造化されたテレメトリデータ、これによって探索的に問題の発生地にたどり着くことができる。ここら辺についてはちょっと後でまた話します。
可観測性が必要とされる背景
なんでこんな可観測性というものが出てきたのか?という話なんですが、近年、クラウドの技術が非常に発達してきて非常に複雑なシステムを簡単にデプロイして運用することが可能になってきました。それに伴いシステムの複雑度はどんどんどんどん上がってきているわけです。そうなると運用と保守の難易度も比例して上がってきているという風になります。そういう風にシステムが複雑になればなるほど、これまでありえなかったような、よくわかんないエラーというものが発生しやすくなるわけです。
そういう風になった時にこれまでのメトリックによる監視では検知できないエラーという風になってしまうわけです。なので問題が起こった時にその状況を「探索的に解析」する必要が出てくるわけです。問題が起こったのがどういう状況なのか調べて何が問題の原因なのかを特定するので、そういう風に探索的に調べられること、それがつまり可観測性ということですね。ですので、この可観測性というのものが近年非常に重要になってきてますね。
可観測性の3つの柱
この可観測性には「3つの柱」というものがあります。
- 「高カーディナリティ」
- 「高次元性」
- 「探索可能性」
カーディナリティに関しては、カーディナリティが高ければ高いほどデータを一意に識別できます。つまり問題の切り分けがしや少なってくるわけですね。なのでカーディナリティが高いってことが可観測性を高めるということになってきます。
またそういう高いカーディナリティ、究極的にはIDが一番高いカーディナリティになるわけですけれども、そういったキーにあたるものが多ければ多いほどより複雑な切り口でシステムの状況を解析できるわけです。なので次元を高めるということも非常に重要なのです。
こうやって「高いカーディナリティ」と「高次元のテレメテリデータ」の組み合わせによってシステムに問題が起こった時の状況を詳しく解析できるわけです。
ですので、たとえばエラーが起こった時に
どの時間帯で起こったのだろうとか
どこの地域で起こったのだとか
どのソフトウェアバージョンを使っているユーザーで起こったのかだとか
どういうOSを使っていただとか
そういったいろいろな切り口を組み合わせることによって、
たとえば使っているブラウザーのこの特定のバージョンにおいて特定のOSとの組み合わせによってのみ起こるようなバグがありそれを踏んでしまったみたいなまぁそういった感じのピンポイントの原因にたどり着くことができるというわけです。
いったんまとめ
ここまでが可観測性の基本的な話になります。またここら辺は序盤中の序盤ですのでまだまだ深い内容はあります。機会があれば紹介したいです。
この記事の元となる動画
オライリー・ジャパンブスクについて
オライリー・ジャパンサブスクO'Reilly「Learning Platform」では、オライリー・ジャパン書籍を初めに、約6万冊の書籍や動画等が読み放題です。話題になった技術書は半数以上は読める印象です。英書がメインなのがネックですが、ブラウザの翻訳機能を使えば問題なく読めます。個人的にこのサブスクで学習の質が劇的に改善したので、全然関係ない立場ですが勧めて回っています。
概要/使い方/価格などは 以前にまとめたこちらの記事 を参考にしてください
Discussion