エラー監視ツール Sentryの導入方法(TeamPlan)(Golang)
エラーログをいろんなツールに送ってくれる便利なツールSentry。
先日、業務で使用しましたので、記事にしてみます。
Sentryとは?
エラーの監視ツールです。
詳しくは公式サイトをご確認ください。
SentryのPlan
3つのPlanがあります。
- Developer(無料)
- 使用出来るユーザーは1人だけ。
- 小さなサービスや動作確認用?
- 30日間ログデータ保持
- Team(有料)
- 無制限のユーザー
- 90日間ログデータ保持
- Business(有料)
- 無制限のユーザー
- 90日間ログデータ保持
DeveloperのPlanは1人しか使えませんので、実際に業務で利用するなら、
Team以上になると思います。
BisinesのPlanはいろんなオプションが使えるようになるみたいです。
詳しくは公式サイトをご確認頂けたらと思います。
ここの一番下にあります。
導入方法
それでは、実際に導入する方法を説明していきます。
ユーザー新規登録
- まずこちらからSentryにアクセスします。
https://sentry.io/welcome/
- 上部タブの「PRICING」をタップ
するとこちらの画面になります。
この画面の下の方にPLANの比較の詳細がありますので、こちらでどのPLANにするか比較してから、
登録される事をオススメします。
-
TeamのPLANの「START TRIAL」をタップ(今回はTeamPLANで進めます)
ここから新規登録をすると、自動的にTeamPlanでの契約となります。
自分の想定しているPlanかどうか間違えないようにご注意ください。 -
こちらの画面に遷移するので、名前やアドレスやチーム情報など入力
- 無事に登録が完了出来ましたら、こちらの画面に遷移します。
この画面で「I'm Ready」か下部にある「Skip onbording」をタップすると、次の画面に遷移出来ます。
「I'm Ready」を押すと、チュートリアルがスタートします。
もう既に、Sentryを使った事ある方は「Skip onbording」から進められるといいと思います。
- 「I'm Ready」を押した場合、こちらの画面に遷移します。
こちらで、今回のアプリケーションの言語を選択します。
(今回はGoを選択しました)
- 言語を選択すると、下部に「Create Project」ボタンが出て来ますので、
そちらをタップします
- アプリのコードの記載方法の画面に遷移します。
この内容の通り、コードを記載してみましょう。
- Goのコード記載方法を書きます(Go言語以外の方はご自身の言語で実装ください。)
package main
import (
"log"
"time"
"github.com/getsentry/sentry-go"
)
func main() {
err := sentry.Init(sentry.ClientOptions{
Dsn: "https://a8d1bdaec8d3472f8cf418e3d0c0e171@o836203.ingest.sentry.io/5813355",
})
if err != nil {
log.Fatalf("sentry.Init: %s", err)
}
defer sentry.Flush(2 * time.Second)
sentry.CaptureMessage("It works!")
}
はい。丸パクリです。
あと、go modの設定をしたら動きます。
$go mod init example.com
$go get github.com/getsentry/sentry-go
$go mod tidy
go modの詳細はこちらでは記載しません。
この記事が分かりやすいと思います。
Dsnは、SentryのプロジェクトIDみたいなもので、
ここにSentryのプロジェクトのDsnを設定する事で、そのプロジェクトにエラーが飛ぶようになります。
プロジェクト毎にDsnがあります。
Dsnは最初はサンプルのIDを入力します。
これでサンプルのプロジェクトに飛べるはず!!
Dsnの取得方法は「11」で説明します。
- ホーム画面に遷移すると思います
- プロジェクトのDsn設定をします。
プロジェクト画面に遷移します
作成したプロジェクトをタップして、
プロジェクトの中に入ります
歯車のマークをタップし、setting画面に遷移します。
その中の下の方に「Client Keys(DSN)」というタブがありますので、
そちらをタップすると、DSNが表示されています。
そのDSNをコード上のDSNに書き換えます。
- コードを実行します。
Goの場合、
$go run main.go
すると、
こんな感じで「issues」のタブに「It works!」のエラーが登録されています。
これで設定完了です。
あとは、お好きなエラーを設定をください。
間違っている箇所があればご指摘頂けると幸いです。
エラーをSlackに通知設定する方法はこちらの記事SentryでSlackにエラーを送るAlertの設定方法に書きましたので、
よろしければ、そちらもご確認ください。
番外編
- 「9」の後、ホーム画面に遷移しなかった方、もしくは、「5」で「Skip onbording」をタップされた方へ
「8」の画面の下の方に
「view sample event for this SDK and finish setup later」
と書いてあります。
ここ↑を押すと
Sentryのホーム画面に遷移します。
sample projectが作成されていると思います。(後で消して大丈夫です)
この後、Projectタブより、プロジェクトを作成し、
DSNの設定をすれば設定完了となります。(11に戻る)
参考
Discussion