Magnolia Tech

いつもコードのことばかり考えている人のために。

『入門監視』を読んで、僕らはどんな視点でシステムを"診る”べきなのか、考えてみた

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

  • 作者:Mike Julian
  • 発売日: 2019/01/17
  • メディア: 単行本(ソフトカバー)

よく考えたら、この本を取り上げていなかった。今更だけど、出版から2年経った今でもまったく色褪せていない。


古代、システムの監視の世界はシンプルだった。

データセンタに専用の監視ルームが備え付けられ、24時間365日オペレータがアラートの発生を”目視で”監視していた(もう少し気の効いたシステムならパトランプが備え付けられ、そして鳴りすぎることで頻度が下げられ、「結局何のために設置したのか?」が忘れ去られる)。

エラーは主に死活監視で、インフラにしろ、アプリケーションにしろ、何かがエラーメッセージを吐けば、解析のための情報を手順書に則り収集し、保守メンバへ渡される。

そして、オペレータは、いつ起きるか分からないアラートを逃さないように、監視作業にまた戻っていく。

その繰り返しだ。


システム設計の中でも「監視」と、「移行」は難易度の高い分野の2大巨塔だ。

どちらも定番が無いし、さまざまな設計作業の最終局面においてようやく始められる。そして、設計をはじめる頃には動かせない要件が多すぎて、「目の前にある手段を工夫して、組み合わせて、やる」となりがちになる。

監視のターゲットが「監視を意識して」設計されていることはなかなか無い。

ミドルウェアのマニュアルにエラー監視の方法がきちんと書かれていることは稀で、とにかく「ERROR」とか「ABORT」といった「文字列の出現」を正規表現などを駆使して抽出する。監視が不足していれば追加するし、多すぎれば削除する。とにかく、絶対に最初から「ちょうどよく」ならない。

アプリケーションはなかなかきちんとしたログを出力しないまま異常終了を起こす。そして解析情報が不足していることで、原因の判明に時間がかかる。「間に合わせの」ログが仕込まれることは有るが、役目が終わっても取り除かれることなく蓄積していき、後世の人は目的の分からないログを撮り続ける……


『入門監視』は、そのような過去の監視の苦労を繰り返さないため、そして世の中の環境の変化(インフラ、アプリケーションの複雑化、インターネットサービスがよりビジネスへ直結、SaaS監視ソリューションの充実……)を取り入れるために、さまざまなプラクティスを紹介している。

『入門監視』というタイトルだけど、原題は「practical monitoring」……『実践モニタリング』といった方が適切で、この本を読んだからといってゼロから監視環境が設計できるわけではない。どちらかというと、一度でも監視設計をしたことが有る人がその考え方をアップデートさせるための本とも言える。

この本がなぜ重要なのか、読む価値が有るかといえば、得てして分離し易い「監視対象のアプリケーションを設計する人」「監視対象のインフラを設計する人」「実際に監視をする人」の三つの視点を一冊の中で一気通貫で語っているところ。

(監視ソリューションの入門書は、監視設定の方法は教えてくれても「なにを」監視すべきかまでは教えてくれない)

ビジネス視点、フロントエンド、アプリケーション、サーバ、ネットワーク……何を監視すべきか?を一気通貫で語っていて、どうすればシステム全体が一貫した価値観で監視できるようになるかをコンパクトにまとめている。

監視は、つまりリスク管理であり、システムの挙動の確からしさを可視化するものであり、そこには一貫した戦略が必ず必要になってくる。この本はそれを教えてくれる。自分の役割の、その向こう側を考えるきっかけになる。

監視を必要とする人、監視をする人の価値観を分断させてはいけないのです。


また、この本の特徴としてさまざまなアンチパターンがtipsとして載っていることが挙げられる。アンチパターンだけを読むのは時に危険なのだけど、背景が明確なので、何かのときに思い出すにはちょうど良い粒度だと思う。


あとはSaaS監視ソリューションの導入についてSongmuさんが書かれた付録Cは必読なので、これを読むためだけでも買う価値はあります。


あとそういえばサーバ監視といえば、最近こんな本も出たようです……今度読んでみようっと。

わかばちゃんと学ぶ サーバー監視

わかばちゃんと学ぶ サーバー監視

  • 作者:湊川あい
  • 発売日: 2020/12/22
  • メディア: 単行本(ソフトカバー)