つくる 運用シート
落ちる所と見る数字を組にする
この章で4つを見ました。単一障害点、生存確認、ログ、そして目標値です。
今回は新しいことを覚えません。部品ごとに、落ちるかどうかと、何を見るかを1行にします。
組にする理由は、落ちる所だけ並べても手が打てないからです。落ちる前に気づく数字が要ります。
分かるのは落ちたあとです。
保存先の接続数は、いっぱいになる前から増え続けます。増えているうちに気づけば、落ちる前に手が打てます。
落ちてから気づく仕組みしか無いなら、それは監視ではなく報告です。
部品ごとに見る数字が違う
同じ数字を全部の部品に当てても役に立ちません。
保存先なら接続数、アプリなら応答時間、キューなら溜まっている件数、キャッシュならヒット率です。
Python
# database 接続数
# app 応答時間の p95
# queue 溜まっている件数
# cache ヒット率CPU は詰まったあとに上がることも、詰まっても上がらないこともあります。
保存先の接続待ちで詰まっているとき、CPU は低いままです。1つで済ませると、一番よくある詰まり方を見逃します。
知らない種類の部品には、生存確認の成否だけを置きます。何も置かないよりは効きます。
演習
構成の一覧を受け取り、部品ごとに落ちる所かどうかと見る数字を並べた表を返します。
要件
- spof と reason は第43回と同じ。required が False なら spof は False で reason は None。required で count が1以下なら "1台しかない"、zones が1つ以下なら "置き場所が1つ"
- watch は kind で決める。WATCH に載っていない kind は "生存確認の成否"
- 返すのは辞書のリスト。並びは受け取った順で、鍵は name / spof / reason / watch の4つ
ヒント
編集 ゆめさく編集部