uyupun / official

サグラダ・ファミリア
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Sentryを導入したい #36

Open tyokinuhata opened 2 years ago

tyokinuhata commented 1 year ago

Sentryはエラートラッキングツールで、リアルタイムにアプリケーションのエラーを検出、報告、解析するためのプラットフォームです。Sentryはオープンソースソフトウェアであり、自己ホスト型のインストールも可能ですが、SaaSとしても提供されています。

以下はSentryの主な特徴です:

  1. エラートラッキング:アプリケーションが生じるエラーや例外を自動的に検出し、その詳細情報を追跡します。

  2. リアルタイムモニタリング:問題が発生したタイミングや頻度、影響を受けるユーザーの数などをリアルタイムで報告します。

  3. プラットフォーム対応:JavaScript(React, Angular, Vue.jsなど)、Python(Django, Flaskなど)、Ruby(Ruby on Railsなど)、Java, .NET, PHP, Goなど、多数のプログラミング言語やフレームワークに対応しています。

  4. リリースとエラーの統合管理:特定のリリースで発生したエラーを追跡することができます。

  5. 通知機能:エラー発生時にメールやSlackなどに通知を送ることができます。

  6. 問題解決の支援:エラーの根本原因を特定するための情報(スタックトレース、関連コード、関連イベントなど)を提供します。

これらの機能により、開発者は自分のアプリケーションの問題を早期に発見し、効率的に対処することが可能となります。

tyokinuhata commented 1 year ago

Next.jsのアプリケーションで発生したエラーをSentryで検出し、その結果をSlackに通知するための一般的な手順は以下の通りです。ただし、ここでは一般的な手順を示しており、あなたの環境や設定によって具体的な手順は異なる場合がありますのでご了承ください。

  1. Sentryの設定

    • まず、Sentryのウェブサイトでアカウントを作成します。
    • アカウントが作成できたら、Next.jsのアプリケーションを追加します。このとき、Sentryから提供されるDSN(Data Source Name)をメモしておきます。
  2. Next.jsのアプリケーションにSentryを統合

    • @sentry/nextjs パッケージをインストールします。これはSentryとNext.jsを統合するための公式パッケージです。
    • 次に、Sentryの設定を行うために、先程メモしたDSNを使用して、sentry.client.config.jssentry.server.config.js の設定ファイルを作成します。
  3. Slackの設定

    • Sentryのダッシュボードから、設定(Settings)に移動します。
    • プロジェクトを選択し、左側のメニューから「通知」(Alerts)を選択します。
    • 「通知ルール」(Alert Rules)のページに移動し、「新規ルールの追加」(Create New Rule)をクリックします。
    • 「イベント発生時に通知を送信」(Send a notification for every new event)を選択し、次へ進みます。
    • アクションとして「Slack」を選択し、通知を送りたいチャンネルを指定します。
  4. エラーテスト

    • 最後に、Next.jsのアプリケーションで意図的にエラーを起こして、Sentryがエラーをキャッチし、Slackに通知が来ることを確認します。

以上の手順で、Next.jsのアプリケーションで発生したエラーをSentryで検出し、その結果をSlackに通知することが可能です。ただし、具体的な設定やコードの書き方は公式ドキュメンテーションや参考資料を参照してください。

tyokinuhata commented 1 year ago

Sentryはエラー追跡ツールであり、SaaS版(Software as a Service版)とセルフホスティング版の2つの形態で提供されています。

SaaS版の制約(2021年9月現在)

無料プランでは以下のような制約があります:

有料プランにアップグレードすると、これらの制約は緩和または撤廃されます。

セルフホスティング版

Sentryのセルフホスティング版を選択すると、自身のサーバーにSentryをインストールして運用することが可能です。これにより、自分の環境に合わせてセキュリティポリシーやデータの保管場所を管理することができます。ただし、セルフホスティング版を選択すると、サーバーの設定やメンテナンス、Sentryのアップデートなど、運用に関する全ての責任がユーザー側にあります。

以上の情報は2021年9月時点のものであり、現在は変更されている可能性があります。最新の情報はSentryの公式ウェブサイトをご覧ください。

tyokinuhata commented 1 year ago

Sentryにおける「イベント数」とは、エラーや例外などSentryが収集・記録する個々の出来事の数を指します。たとえば、アプリケーションでエラーが発生した場合、そのエラーは1つのイベントとしてSentryに記録されます。無料プランでは、これらのイベント数が月に5000件までと制限されています。

「アタッチメント」は、エラーレポートに含めることができる追加情報のことを指します。これは一般的にテキストファイルや画像などの形式で、エラーの原因調査に役立つ詳細情報(例:エラーが発生した時点でのスクリーンショット、ログファイル等)を提供します。無料プランではこれらアタッチメントの合計サイズが1GBまでと制限されています。

「単一メンバーのみ」という制約については、無料プランの場合、Sentryプロジェクトを1人のメンバーのみで管理することを意味します。つまり、複数人のチームメンバーでSentryプロジェクトを共有・管理するには、有料プランにアップグレードする必要があります。

ただし、これらの情報は2021年9月時点のもので、現在は変更されている可能性があるため、最新の情報についてはSentryの公式ウェブサイトをご覧ください。

tyokinuhata commented 1 year ago

単一メンバーのみというのが厳しそうだな。SaaS版を使うならuyunpunpopunpoアカウントを使用することになりそう