入門監視
https://www.oreilly.co.jp/books/images/picture978-4-87311-864-2.gif
モダンなモニタリングのためのデザインパターン、という副題があるように、これは監視に関する基本的な考え方を知ることができる本だった。
個人的には業務で見ているメトリクス類の意味とか、監視全般の考え方が知れてよかったという感じ。私がプロダクトの構成を作って監視ツールを導入する機会があるかというとあまり無さそうだけど、今とっているメトリクスのデータとか監視ツールの果たす役割について掘り下げることができたのは収穫だった。
周囲で何気なくやっていること、当たり前にやっていることがどのような意味を持つことなのか、というのはすでに運用されているサービスの中に入ってしまうとなかなか見えないものだなと改めて感じた。つい忘れてしまうけど、今運用されている監視も設計〜導入のフェーズやその後の試行錯誤があって、現在の監視の体制になっているわけで。
体系立ててデザインパターンを学ぶと、「ここに書かれていることがあそこで応用されている」とか「この内容ってあの辺りで導入されているやつかな」みたいな形でサービスを見るときに自分の中に新たな視点ができるのでよい。
1〜4章は監視の原則についての解説
なぜ監視をするのか、から始まりアンチパターン、デザインパターンの紹介、オンコール運用と統計の基礎的な考え方の紹介
5〜11章は監視戦略の話
監視をビジネスにどう役立てるのか、監視する対象ごとの監視手法や代表的なメトリクスについての解説
ざっくりまとめ(1章より)
「動いている」とはどういう意味か。「動いている」かどうかを監視しよう
正しい状態をどのように定義するか、から監視は始まる
具体的な動作として「動いている」という状態を定義する
メトリクスを高頻度で取得する
頻繁にデータを取得することの大切さ(パフォーマンスは気にする必要がないケースがほとんどだし、頻度によってはデータが役に立たなくなる)
頻繁にデータをとるけど、保存は必要に応じて行う(3日以上前の詳細なデータは不要なので間引き=roll-upする
アプリケーションの問題の修正を監視で回避しない
不完全なアプリケーションであることが自明ならそれを修正するのがまず最初
クラウドネイティブなシステムと適切な監視の自動設定は切っても切れない
syslogってプロトコルなのか!
これ本書の中でさらっと出てきててびっくりした。初めて知った。
wikipedia でも書かれているけど、syslogと言ったときにプロトコルだけでなくSyslogメッセージを送信するアプリケーションやライブラリを指すこともあるということで、意識的にプロトコルの意味で使うシーンがなければ知ることもないなってかんじか。 Syslog プロトコルはクライアント/サーバ型プロトコルである。Syslog 送信側は短い(1024バイト以下)テキストメッセージを Syslog 受信側に送信する。受信側を一般に "syslogd"、"syslog デーモン"、"syslog サーバ" などと呼ぶ。Syslog メッセージは UDP または TCP 上で送信される。送信されるデータは一般にクリアテキストであるが、Stunnel、sslio、sslwrap といった SSL ラッパーを使って SSL/TLS による暗号化が可能である。
UDPでも送信可能なのか。IPネットワーク上でログメッセージを転送するからどちらでもよいということか