Supabaseのログ監視にはどのような手法があるのか。
2024-08-23

Supabaseのログ監視にはどのような手法があるのか。

#supabase

目次

システムにおける、エラー通知の重要性

システムのユーザー体験を向上させるには、エラー通知が非常に重要です。以下に、その重要性をいくつかの点から説明します。

  1. 問題の早期発見
    エラー通知により、開発者やシステム管理者は問題を迅速に把握できます。
    これにより、小さな問題が大きな障害に発展する前に対処することが可能になります。

  2. ダウンタイムの最小化
    迅速なエラー検出と通知により、システムのダウンタイムを最小限に抑えることができます。
    これは、特にビジネスクリティカルなシステムの開発において重要です。

  3. ユーザー満足度の向上
    エラーを素早く修正することで、ユーザーの不満を軽減し、サービスの信頼性を高めることができます。
    受託開発の場合、納品先のユーザーより先にエラーを発見、修正することができます。

エラー通知の仕組みを適切に実装することで、開発チームは問題に対して積極的に対応し、システムの安定性と信頼性を大幅に向上させることができます。

Supabaseにおけるエラー通知の方法

Supabaseには、モニタリング機能はありますが、エラーログの通知機能はありません。そのため、独自のアプローチが必要です。

方法①Log Drainで外部サービスにログ転送をする

Log Drainは、Supabaseのログを外部のサービスに送信する機能です。
これにより、DataDogやLogflareなどのモニタリングサービスと連携できます。
しかし、Teamプラン($599/month)以上でないと利用できません

Supabase DashboardのLog Drain設定画面Supabase DashboardのLog Drain設定画面

小規模な開発では、Teamプランを契約することは難しいでしょう。

方法②アプリケーションでエラー通知をする

インフラログによるエラー通知を諦めます。
Next.jsなどのリクエスト側でレスポンスのステータスコードを確認し、エラー通知基盤と連携します。

Supabase Edge Functionsの場合も、問題ありません。
Supabaseの公式ドキュメントでは、Supabase Edge FunctionsとSentryと統合する方法が紹介されています。

公式ドキュメントで紹介されているので、一見SupabaseはSentryのみと親和性があるように見えますが、よく読むと単にクライアントをインストールして、通知をしているだけなのでCloudWatchなどの同様サービスでも問題なく通知できそうです。

まとめ

Supabaseのログ分析機能は優秀ですが、通知ができないところがネックです。
またLog Drainでは、ログを外部サービスに送信することができますが、Teamプラン($599/month)以上でないと利用できません。
小規模なアプリケーション開発では、Next.jsやSupabase Edge Functionsなどのアプリケーション側でエラー通知をするのが良いでしょう。

参考文献

Log Drain | Supabase Docs
Sentry Integration | Supabase Docs

© 2024 Both Arms. All Rights Reserved.