もりはやメモφ(・ω・ )

インフラなエンジニアからSREへ

入門 監視を読みました

あまり余裕の無い数週間が終わり、のんびりできる休日がやってきたので積読になっていた「入門 監視 モダンなモニタリングのためのデザインパターン」を読みましたので感想をメモ。

f:id:morihaya:20200614233145p:plain

システム運用に関わるエンジニアには広くお勧めしたい一冊

読み終わった第一声としては「めっちゃ良かった」でした。新人時代からインフラエンジニアとしてキャリアを中心に積んできた手前、システム監視にはある程度経験を持っているつもりでしたが

  • ストーリーとして申し分ない章構成
  • 内容の抜群の粒度(入門、というタイトルの通りのレベル感)
  • 適切に整理され、上手く言語化されたノウハウの数々
  • Witに富んだTipsやメモ

などに魅了され一気に読破してしまいました。本の厚さとしても丁度よく梅雨の休日のおともに最適でしょう。

章構成について

名著とされる多くの専門書と共通し、本書の章構成も素晴らしいものとなっています。 目次はオライリー社のページで確認できますので見ていただければ良いですが、どのように素晴らしいかの感想を述べます。

シンプルな2部構成

本書は以下の2部から構成されています。

  • 第Ⅰ部 監視の原則
  • 第Ⅱ部 監視戦略

原則を学び、戦略を実践する。シンプルですがわかりやすいストーリーです。

歴戦の監視上級者であれば、第Ⅱ部から読み進めるのも悪くはありませんが、ぜひ第Ⅰ部から順に読み進めるのが良いでしょう。日頃から実践している工夫や取り組みが本文で言語化されて新たな自信につながるかもしれませんし、アンチパターンなどを通して新たな気づきを得られるでしょう。

原則の多くは基本だが、基本がどれほど重要か

第Ⅰ部は "監視の原則" と題して以下の4章で構成されています。

  • 1章 監視のアンチパターン
  • 2章 監視のデザインパターン
  • 3章 アラート、オンコール、インシデント管理
  • 4章 統計入門

"1章 監視のアンチパターン"で紹介されるいくつか*1に胸を痛めたあとで、"2章 監視のデザインパターン"でなるほどそれな!となり、"3章 アラート、オンコール、インシデント管理"で共感と明日から実践したいノウハウを学び、"4章 統計入門"でフワッとしていたいくつかの用語の理解を改めて行う素晴らしい流れです。

特に3章では、週単位でオンコールをチームで回しながら夜間アラートに叩き起こされる生活をしばしば送っているだけに、実体験を伴った共感と学びがありました。すぐやりたい内容としては

  • アラートの棚卸し
  • 自動復旧の取り組み

の2点で、不要なアラートの見直しと、そもそもアラートを上げさせないための自動復旧についてより意識して取り組んでいきたいと考えました。

もちろんこれまでも同様の動きはチームでもたびたび行ってきましたが、言語化されたことでより方針が固まった感触があります。

実践的な第Ⅱ部

第Ⅱ部は "監視戦略" と題して以下の章立てです。

  • 5章 ビジネスを監視する
  • 6章 フロントエンド監視
  • 7章 アプリケーション監視
  • 8章 サーバ監視
  • 9章 ネットワーク監視
  • 10章 セキュリティ監視
  • 11章 監視アセスメントの実行

私は大抵の技術書を読み始める前にざっと目次を確認するのですが、第Ⅱ部の各章の並びを見ただけで反省の気持ちと、この本はとても良いはずとある程度確信しました。

反省の理由として、私が日頃から意識し改善を行う監視を順番に並べるとすると以下になり、"5章 ビジネスを監視する"と"6章 フロントエンド監視"はあまり意識していませんでした。

  • 8章 サーバ監視
  • 9章 ネットワーク監視
  • 7章 アプリケーション監視
  • 10章 セキュリティ監視

しかし本書の章構成は私に対して以下の言葉を力強く語りかけてきたように感じました。

「何よりもまずはビジネスの観点が大事で、次にユーザに近いフロントエンドだ」

実際に章を読み進めるとKPIのダッシュボードは別のチームの別のツールで実現されていることに気づき「あれもまた監視だったのだ」と再発見につながりました。

フロントエンド監視についてもNewRelicやGoogle Analyticsを通して既に行っている内容も多くありましたが、リアルユーザ監視とシンセティック監視など言葉として整理されたことで理解が進んだと感じています。

付録もナイス

付録についても見過ごせません。特に付録Cについては MackerelのPMを担当されていたsongmu氏による監視SaaSへの手引書になっていて、これもまた読み応えのある内容でした。私はmackerelユーザの端くれでもあるため共感と共に読み進めていましたが"C.6.4 自動復旧のためのアイデア"でmackerel-agentのアクションを自動復旧に利用する部分を読み、すぐにでも実装したい機能を思いつくことができました。

mackerel-agentのアクション機能自体は知識としては知っていましたが、本書で具体的に自動復旧と紐付けられたことで実装のアイデアが浮かんできました。これでまたトイルを一つ滅ぼすことができそうで大変嬉しい気持ちです。

まとめ

以上、入門監視についてざっと感想を書きました。改めて良い本だったと思います。 なお余談ですが本書の大部分は家のリビングでそれぞれ自分のことをやっている家族を横目に黙々と読んでいたのですが、子供からは「表紙のトカゲ?がなんか怖い」とか、妻からは「監視...?」と訝られるなどエンジニアではない層にも話題性があってすごいと思いました。*2

*1:CPUなどOS監視をアラートとして通報とか

*2:これは半分冗談です