虎の穴開発室ブログ

虎の穴ラボ株式会社所属のエンジニアが書く技術ブログです

MENU

『入門 監視』を読んでみて

皆さんこんにちは。虎の穴ラボのM.Uです。
今回は、オライリー・ジャパンの『入門 監視』を読んでみましたので、感想を書きたいと思います。

f:id:toranoana-lab:20191121152005j:plain

はじめに

以前に私はあるプロダクトの、監視体制強化に取り組んだことがあります。その際、ネットや書籍での情報を断片的に拾い集め四苦八苦しながら「このシステムにはこういう監視があるべき」と自分なりに答えを導き出していました。そんな体験をした私にとってこの「入門監視」はまさに「こんな本が欲しかった」と思える本でした。

本記事の書評は、監視についてのノウハウが知りたい開発者の視点となります。同じ経験をされた開発者の方に少しでも参考になれば幸いです。

本書について

  • 著者 Mike Julian(マイク・ジュリアン)
  • 翻訳 松浦 隼人

これ以降は私自身が特に印象に残った章を抜粋して紹介します。より詳しく本書の構成を知りたい方は、オライリー公式サイトにて目次が公開されているのでそちらを参照してみてください。

www.oreilly.co.jp

O’Reilly Japan - 入門 監視

1章 監視のアンチパターン

この章では著者の体験談を交えながら5つのアンチパターンを紹介しています。

  1. ツール依存
  2. 役割としての監視
  3. チェックボックス監視
  4. 監視を支えにする
  5. 手動設定

1. ツール依存

監視といってもアプリケーション監視やサーバー監視など様々です。 それぞれの監視の目的の本質が吟味される前に、ツールを選んでしまうアンチパターンについて記されています。 何か問題を解決するためのツールが、いつの間にかツール自身の機能などが先に選定理由になっている事があります。 これは開発の分野にもあるのではないでしょうか。

3: チェックボックス監視

ある監視が システムとして正常に稼働しているか判断できない ケースを指しています。 本書ではこのパターンに陥っている具体例をいくつか提示していますが、一番ギクッっとなったのが次の項目です。

システム負荷、CPU使用率、メモリ使用率などのメトリクスは記録しているが、システムがダウンしたことの理由はわからない

勿論、メトリクスを取ることがアンチパターンではありません。大事なのは「正常に動いているか」ということです。

2章 監視のデザインパターン

1章とは逆にどのような監視が理想なのかを4つのパターンを紹介しています。

  1. 組み合わせ可能な監視
  2. ユーザ視点での監視
  3. 作るのではなく買う
  4. 断続的改善

1. 組み合わせ可能な監視

モノリシックな監視ツール1つ使うのではなく、複数のツールを組み合わせて監視する構成にしようという考え方です。 SensuGraphiteなどのツールが挙げられています。これらのツールを組み合わせてどのような監視要素が必要なのかが丁寧に解説されています。

ツール自体は有名なものですが、どのような考え方で構築していくのか一読の価値ありです。

2. 作るのではなく買う

著者自身SaaSソリューションを利用することを強くおすすめしています。 運用コストの安さや高品質さを理由に挙げられています。アンチパターンのツール依存に繋がってきますが、監視の問題を解決するために自前で構築するより、専門のツールを導入すべきでしょう。

3章 アラート・オンコール・インシデント管理

アラート機能は監視のなかでも重要な役割を持っていますが、きちんとチューニングを行わないとアラート地獄に陥ってしまいます。

  • アラートを分けて見直し数を減らそう

休日にアラートが来た時、本当にそれは対応が必要なアラートでしょうか。次の出勤日の対応で間に合うならば、SMSなどのリアルタイム通知は必要ないでしょう。 著者はそのような緊急度の低いものは社内のチャットルームに出すことをおすすめしています。

  • アラートに対応するアクションを決めよう

閾値を超えた場合のアラートでとるべきアクションが決められているでしょうか?思い当たる方は是非本書を読むべきです。 アラートを見直しする指標から解説していき、オンコール、インシデント管理へと広げて解説されています。

5章 ビジネスを監視する

経営者の視点とエンジニアの視点をどのように結びつけるかを説明しています。特にビジネスKPIと技術指標の対比は参考になるでしょう。 本章では、あるWebアプリを事例にあげて解説されています。 ログインに失敗した数やログイン処理のレイテンシ、ユーザーの投稿処理やメッセージ送信のレイテンシなど、主にレイテンシを重要視しています。
「ユーザーに影響はあるのか?」「サービスは稼働しているのか?」といった質問から技術的な要素へと落とし込んでいくプロセスが重要とされています。 サービスを作る側にとっても、プロダクトマネージャーなど経営層とコミュニケーションを図るための指標として参考になると思います。

まとめ

本書の冒頭にも書かれていることですが、監視の考え方自体も進化し続けています。
だからこそ基礎をかためて開発者も含めて監視の理解をチーム全体で高めていくべきだと考えます。本書では基礎的な要素もきちんと解説されています。タイトルの通り「入門」としてふさわしい本と言えるでしょう。

虎の穴ラボでは毎週、エンジニア同士で技術の共有会を行っています。 チーム問わず、またプロダクトに関係のない話題でもOKとしています。今回この本を読んでみて、本そのものの紹介だけでなく実践し成功したことも共有していこうと考えています。

告知

11/26(火)には記念すべき10回目となるLT会を秋葉原アーツ千代田で開催します! 発表者枠、参加者枠ともにまだ余裕ありますので是非ご応募ください!

yumenosora.connpass.com

12/7(土)には「とらのあな採用説明会」を開催します。開催場所はなんと大阪です!
関西にお住いのエンジニアの方、是非お気軽に参加ください。
並びに12/17(火)に秋葉原での開催も予定しております。

yumenosora.connpass.com

yumenosora.connpass.com