📊

SREと一緒に「メトリクスを眺める会」のススメ

2023/08/09に公開

ライフイズテック株式会社 サービス開発部の山口 (@no_clock) です。塾プロダクトグループでソフトウェアエンジニアをしています。

Datadog でメトリクスを眺める会

開発と運用は、切っても切れない不可分の関係です。塾プロダクトグループでは、インフラ/SRE グループのメンバーと一緒に「Datadog でメトリクスを眺める会」を毎月行っています。内容はシンプルです。

  • SLI/SLO の確認
  • レスポンスタイム、エラー率、 CPU 使用率などのメトリクスの確認

メトリクスは利用者数や利用状況によっても変化しますが、新しいコードのデプロイによっても変化します。ある意味、開発(作ったモノ)に対するフィードバックの一種とも言えます。

メトリクスを眺めて見つかった不具合

今回は、わかりやすいフィードバックの例として、メトリクスを眺めたことで見つかった不具合について紹介します。

デプロイ直後から 5xx エラーの増加

デプロイ直後から、 HTTP ステータスコード 5xx (サーバーエラー)のレスポンスが増加していました。ただし、エラートラッキングシステムでは検出されておらず、利用者からも特に問い合わせを受けていない、という状況でした。

ステータスコード 5xx のレスポンス数グラフ

原因を調査した結果、以下のことが分かりました。

  • Util/PHP/eval-stdin.php など存在しないリソースへのアクセスがされている(第三者による脆弱性スキャンと思われる)
  • 本来ステータスコード 404 を返すべきだが、エラーハンドリング中にエラーが発生してステータスコード 500 を返している
  • エラーハンドリング中にエラーが発生した場合、エラートラッキングシステムに送信できていない

お粗末な不具合でお恥ずかしい限りですが… 不具合を修正したことで、 5xx エラーはパタリと止みました。

ステータスコード 5xx のレスポンス数グラフ

メトリクスを眺める会のススメ

紹介したのはわかりやすい不具合ですが、それ以外にもメトリクスからはたくさんのフィードバックが得られます。

よりよいプロダクトを提供していくために、みなさんもメトリクスを一緒に眺めてみてください。


ちょっと宣伝

ライフイズテック サービス開発部では、月ごとに気軽にご参加いただけるカジュアルなイベントを実施しています。開催予定のイベントは、 connpass のグループからご確認ください。興味のあるイベントがありましたら、ぜひ参加登録をお願いいたします。ご参加お待ちしています!

Discussion