概要
アラートレベルの設定が不適切だと余計な運用コストが発生します。
これは過去に経験した問題と対応の記録でえす。
初期状態
エラーレベル
ログレベル |
想定 |
架電 |
リカバリ |
内容 |
ERROR |
外 |
必要(24時間365日) |
内容次第 |
想定外の処理全般 |
WARN |
外 |
不要 |
不要 |
ロジックで気になる箇所 |
INFO |
内 |
不要 |
不要 |
通常、気にする必要はないが何かあったときに確認したい情報 |
特徴
- 例外処理が発生した場合のエラーレベルを「ERROR」にしていた
- 開発者が運用のことをあまり考慮していなかった
- そもそも規約の中でエラーレベルについての考え方を示していなかった
結果
- 例外処理と思って切り出したアラートが通常処理としてバンバン発生した
- 平日深夜、休日にアラートがバンバン発生
- 大半が静観するしかなかったり、対応するにしても翌営業日でよいものだった
- わざわざ業務外の時間に電話を受ける必要がないものが多かった
改善後(1回目)
エラーレベル
ログレベル |
想定 |
架電 |
リカバリ |
内容 |
ERROR |
外 |
不要 |
翌営業日 |
単発の事象。緊急性は低いがユーザケアが必要。 |
WARN |
外 |
不要 |
不要 |
ユーザ影響なし。ソースコードの修正が必要。 |
INFO |
内 |
不要 |
不要 |
通常、気にする必要はないが何かあったときに確認したい情報 |
特徴
- 「ERRROR」レベルの例外として電話がかかってきたもののうち、対応不要なアラートのレベルを「WARN」に落とした
結果
- 電話が鳴る回数は減った
- 「WARN」としてあがったアラート野中に後からリカバリ作業不要なものと必要なものが混在するようになった
- 元々、「WARN」に対するメンバーの意識が低かったこともあり、リカバリ作業が必要なアラートが見落とされるようになった
改善後(2回目)
エラーレベル
ログレベル |
想定 |
架電 |
リカバリ |
内容 |
ERROR |
外 |
不要 |
翌営業日 |
単発の事象。緊急性は低いがユーザケアが必要。 |
WARN |
外 |
不要 |
不要 |
ユーザ影響なし。ソースコードの修正が必要。 |
INFO |
内 |
不要 |
不要 |
通常、気にする必要はないが何かあったときに確認したい情報 |
特徴
- 「WARN」のうち対応不要なエラーを「INFO」にした
- 結果的に「WARN」としてあがったエラーはいずれも何かしらの対応が必要なものだけになった
結果
- リカバリ作業が必要なアラートの対応漏れが起こらなくなった
今後の展開
- 開発時にERRORレベルについての認識をあわせておく
- レビュー時にもその点をチェックする